Pages: 1 2
Легкость питона
Peter(harbor:club.syscall.ru) — All
2017-04-10 17:47:00


Ради образования начал читать книжку по питону. Как большинство книг, она начинается с убеждений о легкости языка.

Я уже не 1й раз пытаюсь подружиться с питоном, и знаю, что меня обманывают. :) По моему, самые простые языки: луа, си, ассемблер. От сложного к простому. А питон мной воспринимается просто как сборник рецептов. Не могу почувствовать язык. Не могу понять его логику. :) Но я надеюсь :)

Re: Легкость питона
spline(harbor:club.syscall.ru) — Peter
2017-04-10 18:41:40


Действительно не самый простой язык. Почему-то принято синтаксический сахар и обширность стандартной библиотеки называть простотой языка, но на деле всё совсем не так =)

Re: Легкость питона
Peter(harbor:club.syscall.ru) — spline
2017-04-10 20:51:06


После обновления из гита:
Traceback (most recent call last):
  File "caesium.py", line 1621, in <module>
    load_colors()
  File "caesium.py", line 233, in load_colors
    curses.init_pair(11, colors.index(param[1]), colors.index(param[2]))
_curses.error: init_pair() returned ERR

До этого долго безуспешно пытался завести его. :) Фетчер срабатывает, пишет новые сообщения, но ... все по 0 остается в списке.

Re: Легкость питона
Peter(harbor:club.syscall.ru) — spline
2017-04-10 20:51:26


Это я про цезий :)

Re: Легкость питона
Рома(harbor:gk11.ru) — Peter
2017-04-10 21:04:24


самый нормальный цезий - это старый, до сих пор им пользуюсь. работает, как часы

http://git.gk11.ru/gk11/ii-clients-gk11/src/master/old-caesium

Re: Легкость питона
Peter(harbor:club.syscall.ru) — Рома
2017-04-10 21:48:21


Ну, надо двигать новое тоже.
Вот ii/idec есть, но ты же пишешь gk11. ;) Так и тут, совместим приятное с полезным, spline пофиксит или расскажет, где я не прав.

Re: Легкость питона
Рома(harbor:gk11.ru) — Peter
2017-04-10 22:06:46


gk11 это не новое, это исправленное под другие реалии. там изменена сама концепция, если ii это было для накопления эх по годам-месяцам, где каждая эха - целостная, которая потом уезжает в архив и ты можешь запросить эху за нужный год - то gk11 она больше для болтания, а не накопления архива информации за 140 лет, и заточена уже под это. потому что *непригодилось*, нет пока таких серьёзных нужд :) но саму ii никто не отменяет, её можно тоже запросто скачать

если какая-то вещь устраивает - то зачем её менять? я вот с ужасом жду, когда выйдет 9-й дебиан, потому что не хочу менять свой 8-й, и ещё бы много лет на нём прожил :)

Re: Легкость питона
Peter(harbor:club.syscall.ru) — Рома
2017-04-10 22:13:45


Да про разницу gk11 и ii я прочитал и визуально ощутил.

Re: Легкость питона
spline(gk,11) — Рома
2017-04-11 03:08:02


> самый нормальный цезий - это старый, до сих пор им пользуюсь. работает, как часы

И конечно у тебя есть весомые аргументы. Так зачем же ты их от нас скрываешь?

> http://git.gk11.ru/gk11/ii-clients-gk11/src/master/old-caesium

Слишком старый. Проще его вообще не использовать, чем любиться с этой древней версией.

Re: Легкость питона
spline(gk,11) — Peter
2017-04-11 03:08:02


> После обновления из гита:
> До этого долго безуспешно пытался завести его. :) Фетчер срабатывает, пишет новые сообщения, но ... все по 0 остается в списке.

Что-то ты сломал, похоже. Попробуй на чистую склонированную накатить базу и конфиг.

Re: Легкость питона
Рома(harbor:gk11.ru) — spline
2017-04-11 03:14:43


> И конечно у тебя есть весомые аргументы. Так зачем же ты их от нас скрываешь?

он простой, понятный и просто работает

новые версии, сколько не пробовал - неудобно и всё тут

Re: Легкость питона
spline(gk,11) — Рома
2017-04-11 03:57:12


>> И конечно у тебя есть весомые аргументы. Так зачем же ты их от нас скрываешь?

> он простой, понятный и просто работает

Ты сейчас разницу между гк и ii описал =)

> новые версии, сколько не пробовал - неудобно и всё тут

С учётом того, что в используемой тобой части ничего не поменялось, утверждение весомое.x

Re: Легкость питона
Рома(harbor:gk11.ru) — spline
2017-04-11 04:10:23


я только когда увидел, что фетчер вызывается через shell, а не через import - уже за голову схватился :) у меня может запросто не быть python-а в PATH, или он может называться своим именем

Re: Легкость питона
spline(gk,11) — Рома
2017-04-11 05:03:50


Рома> я только когда увидел, что фетчер вызывается через shell, а не через import - уже за голову схватился :) у меня может запросто не быть python-а в PATH, или он может называться своим именем

А поправить конфиг тебе религия мешает?

Импортируй ка нативный бинарь, например. Отчего бы не использовать такой фетчер в перспективе?

Re: Легкость питона
Рома(harbor:gk11.ru) — spline
2017-04-11 05:41:36


> Импортируй ка нативный бинарь, например. Отчего бы не использовать такой фетчер в перспективе?

просто я никогда такого способа не видел. раз и то и то через python3, лучше как модуль импортировать

Re: Легкость питона
spline(gk,11) — Рома
2017-04-11 06:02:44


>> Импортируй ка нативный бинарь, например. Отчего бы не использовать такой фетчер в перспективе?
> просто я никогда такого способа не видел. раз и то и то через python3, лучше как модуль импортировать

Сделано на вырост. Тем более нынче мне очень понравился golang и я некоторый софт хочу на нём реализовать. Например, уже есть нода без веб-интерфейса http://spline-online.tk:4242/

Re: Легкость питона
Peter(harbor:club.syscall.ru) — spline
2017-04-11 06:16:21


Сначала надо с падениеи разобраться. Я делал git status, стирал все лишнее. Не помогло. Вечером еще попробую.

Ребята, не ссорьтесь. :)

Я как сторонний человек утверждаю, что все из разработанных технологий меня заинтересовали (уже давно), а сейчас хочу пощупать в реальности.

Re: Легкость питона
gl00my(harbor:gk11.ru) — Рома
2017-04-11 06:25:10


Откровенно говоря, у вас обоих есть косяки, например: :)

У сплайна в ноде если не написать завершающий /. Вчера минут 15 на этом застрял. :)

У тебя: фетчер не оформлен никак (ни параметров, ни конфига). Да и run.py не особенно в демона оформлен. :)

Разобраться стороннему человеку не так просто. Хотя вроде бы все т просто.

Это не критика, но все же дооформить и выложить публично, как законченный "продукт" было бы неплохо.

Re: Легкость питона
Peter(gk,11) — gl00my
2017-04-11 06:57:11


gl00my> Это не критика, но все же дооформить и выложить публично, как законченный "продукт" было бы неплохо.

Проверка из цезия. :)

Re: Легкость питона
Рома(harbor:gk11.ru) — gl00my
2017-04-11 07:10:56


> У тебя: фетчер не оформлен никак (ни параметров, ни конфига).

его можно вообще в лоб пускать, и он будет по /discover всю ноду синхронизировать
не понимаю, зачем там нужен конфиг :)

Re: Легкость питона
Peter(harbor:club.syscall.ru) — Рома
2017-04-11 07:35:37


Можно. Но если я хочу забирать с нескольких разных нод. С разных нод, разные эхи -- вполне нормальная ституация. Нужно делать копипаст. Вообще, копипаст нельзя допускать. Такой пакет, где нужно менять код для конфигурации -- я не знаю, можно ли в дистр какой-то протолкнуть?

Впрочем, у всех свой балланс между простотой и функциональностью.

Re: Легкость питона
Рома(harbor:gk11.ru) — Peter
2017-04-11 07:49:01


> Нужно делать копипаст.

это экономия на спичках. наличие проверок значительно усложнит наглядность кода - проще для каждой ноды делать свою копию, и всё. хотя я могу сделать версию, которая будет sys.argv слушать :)

Re: Легкость питона
Peter(harbor:club.syscall.ru) — Рома
2017-04-11 07:54:40


Я понял твою позицию. Но для меня, минусы значительны. Хотя я тоже сторонник простоты (возможно, не такой экстремальной) Например, после git pull мне придется менять несколько файлов. Самый критический минус я озвучил -- скрипт может вообще не быть доступен для записи ( если он в рамках дистрибутива оказался).
А так тебе решать, просто вопрос цели. Если цели нет -- распостранять технологию -- то можно ничего не делать. Мне не критично точно, но в таком виде не могу "рекомендовать" поставить ноду друзьям, если только сам не поставлю.

Re: Легкость питона
Рома(harbor:gk11.ru) — Рома
2017-04-11 07:52:13


кстати, чёт я не вижу, чтобы в фетчере где-то LIMIT использовался. забыл, что ли, добавить его :) вспомнить бы ещё, как оно там работает

Re: Легкость питона
Рома(harbor:gk11.ru) — Рома
2017-04-11 08:02:39


исправил LIMIT в старом фетчере, и добавил фетчер с командным управлением
http://git.gk11.ru/gk11/gk11-server/src/master/tools/gkfetch-db-argv.py

запускать так:
python2.7 gkfetch-db-argv.py НОДА ЛИМИТ ЭХА ЭХА ЭХА
либо python2.7 gkfetch-db-argv.py НОДА ЛИМИТ /discover

то есть:
python2.7 gkfetch-db-argv.py gk11.ru 700 std.club obsd

Re: Легкость питона
gl00my(harbor:gk11.ru) — Рома
2017-04-11 08:04:13


Ага. Доеду до работы и прикручу

Re: Легкость питона
Рома(harbor:gk11.ru) — gl00my
2017-04-11 08:11:00


да, кстати, после того, как сольёшь всю эху - у сообщений будет новёхонький accepted и они зальют тебе всю главную - не страшно, но неаккуратно. в таком случае лучше тоже запустить тот трёхстрочник, который меняет accepted на date, но уже для эхи obsd
from bbdata.dbj import msg

for n in msg.select().where(msg.echoarea == 'obsd'):
    n.accepted = n.date

Re: Легкость питона
Peter(harbor:club.syscall.ru) — Рома
2017-04-11 08:17:56


Понял. Я собирался кстати фечить не все (мне старые сообщения не особенно важны), или по какой то причине лучше все?

Re: Легкость питона
Рома(harbor:gk11.ru) — Peter
2017-04-11 08:22:55


лучше все. чтобы была полная копия на случай... да случаи разные бывают :) там всего-то менее 700 сообщений

Re: Легкость питона
Peter(harbor:club.syscall.ru) — Рома
2017-04-11 08:25:48


Ок, заберу все. Добавить эху на главную -- это просто текстовый файл? В базе вроде нет ничего?

Re: Легкость питона
Рома(harbor:gk11.ru) — Peter
2017-04-11 08:29:08


чтобы появилась кнопка сбоку - да, надо написать её в public.txt
на главной появляются все новые сообщения со всех эх, независимо от прописанности их в public.txt, и заходить в них тоже можно по адресу - единственое различие это наличие кнопки

Re: Легкость питона
Peter(harbor:club.syscall.ru) — Рома
2017-04-11 09:09:53


Что то скрипт со сбросом даты не помог :)
Что делать?

Re: Легкость питона
Рома(harbor:gk11.ru) — Peter
2017-04-11 09:40:19


Что то скрипт со сбросом даты не помог :)

попробуй в конце скрипта дописать строчку
msg.save()

Re: Легкость питона
Peter(harbor:club.syscall.ru) — Рома
2017-04-11 09:54:13


А разве без параметра сработает?

Re: Легкость питона
gl00my(harbor:gk11.ru) — Peter
2017-04-11 10:01:27


В общем, все странно.
добавил n.save (а не msg.save)

В базе теперь времена совпали, но сортировка - все равно убитая.
Пока откатил базу назад

Re: Легкость питона
gl00my(harbor:gk11.ru) — gl00my
2017-04-11 10:03:42


А скрипт в виде простого цикла - который ты дал ранее - не меняет дату. Просто проходит все записи и все.
В принципе, логично. Надо как то сохранить изменения..

Re: Легкость питона
Peter(harbor:club.syscall.ru) — gl00my
2017-04-11 10:06:27


Нужен скрипт, который для всех сообщений сбрасывает дату на время создания. :)
Сможешь в виде sql запроса оформить?

Re: Легкость питона
Рома(harbor:gk11.ru) — gl00my
2017-04-11 10:15:28


> А скрипт в виде простого цикла - который ты дал ранее - не меняет дату.

у меня - меняет. вообще, по умолчанию, в peewee стоит автокоммит, если не задать обратное

Re: Легкость питона
Рома(harbor:gk11.ru) — Peter
2017-04-11 10:17:04


для всех не надо, надо только для конкретной эхи, чтобы лишние сообщения не торчали на главной
хотя на самом деле, и на это пофиг

именно этот скрипт я тебе и дал - почему он не работает, я не знаю

Re: Легкость питона
Peter(harbor:club.syscall.ru) — Рома
2017-04-11 10:20:55


Тогда очень странно... :(

Re: Легкость питона
Peter(harbor:club.syscall.ru) — Peter
2017-04-11 10:33:49


Вот конкретно сейчас. Даты же сбиты?

Re: Легкость питона
Рома(harbor:gk11.ru) — Peter
2017-04-11 10:36:13


почему, сейчас нормальные даты

Re: Легкость питона
Рома(harbor:gk11.ru) — Peter
2017-04-11 10:37:29


у тебя, по-моему, на других эхах что-то сбилось :) а с openbsd всё нормально
только базы больше не убивай, а то сообщения пропадают раньше, чем я их захватить успею :)

Re: Легкость питона
Рома(harbor:gk11.ru) — Рома
2017-04-11 10:43:59


вообще, по идее, это надо в фетчер *право первого синка* ввести, чтобы оно accepted не проставляло

просто в ii вообще не было ленты (точнее, был один отдельно стоящий сервис, который собирал сообщения со всех и формировал из них ленту), поэтому там можно было синкаться, как угодно. а сейчас, наверное, лучше при особом ключе LIMIT снимать этот самый limit и при этом не добавлять accepted, а проставлять дату

потом этим займусь

Re: Легкость питона
Peter(harbor:club.syscall.ru) — Рома
2017-04-11 10:45:42


Ладно, что то похожее на правильные даты у нас получилось вроде. Хоть и не совсем. :) Но жить можно...

Re: Легкость питона
Peter(harbor:club.syscall.ru) — Рома
2017-04-11 10:49:00


> потом этим займусь

Хорошо бы. :)

Re: Легкость питона
Рома(harbor:gk11.ru) — Peter
2017-04-11 10:53:02


> Хорошо бы. :)

http://git.gk11.ru/gk11/gk11-server/commit/901311a5c219ef57bb0b1d2512e7506bab66c053

999999 сообщений хватит на всех :) теперь, если задать LIMIT равным 999999, то accepted будет равно дате сообщения

Re: Легкость питона
gl00my(harbor:gk11.ru) — Рома
2017-04-11 10:58:37


Может, лучше 0? ;) Или -1? А то как то 999999 как то совсем магически.

Re: Легкость питона
Рома(harbor:gk11.ru) — gl00my
2017-04-11 11:01:13


зато меняется в полстрочки. если 0 - то надо будет ещё делать перебитие лимита, либо менять в сервере

всё равно это делается один раз в жизни, и больше такой лимит не нужен. да и непринципиально это, разве что лента чуть засоряется, если много сообщений сразу. хотя, можно тогда и 0 перебивать на 999999 - ща приделаем

Re: Легкость питона
Peter(harbor:club.syscall.ru) — Рома
2017-04-11 11:09:57


Да я про это и говорю, безлимит -- это -1 или 0. Оба варианта красивее по моему чем 999999 :)

Pages: 1 2