
Petr
17.06.2019
15:32:58
*звуки майнящейся бигдаты*

Dmitry
17.06.2019
15:33:32
майданящей быдлоты
СУГС, СУГС!!! :))

Vladimir
17.06.2019
17:30:02
Коллеги из Незалежной, извините заранее, пожалуйста.

Google

Vladimir
17.06.2019
17:30:03
О, кодерки что-то починили и паспорт наконец-то начал трекаться.

Alexey
17.06.2019
17:32:54
xDDDDDDDDDDD

Vladimir
17.06.2019
17:33:19

Alexey
17.06.2019
17:33:29
xDDD
Не, ты-то как раз имеешь полное право „э, чубатые”, чай свои.

Vladimir
17.06.2019
17:34:00
Да, но мне софт-скиллз не позволяют. :D

Zart
17.06.2019
17:34:54
каллиграфия 80го левела

Vladimir
17.06.2019
18:09:32

Alexey
17.06.2019
18:35:50
Обожаю лхмл, двадцать строчек и перебрать структуру хмла на 40 гигов == вин.
Футпринт 58 метров. :3

Zart
17.06.2019
18:58:39
ээ.. поточный хмл?

Google

Alexey
17.06.2019
18:59:46
Да.

Roman
17.06.2019
21:08:24
ну чо, сегодня день дырок в tcp? ;)

Alexey
17.06.2019
21:10:34
А насыпай.

Roman
17.06.2019
21:11:20
https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001.md
а там патчка дырок в linux и одна в freebsd
самый огонёк - это возможность триггернуть панику удаленно )

Alexey
17.06.2019
21:11:56
ХОПА.

Roman
17.06.2019
21:12:09

Alexey
17.06.2019
21:12:17
ГДЕ ВОПРОС И ГДЕ ОТВЕТ
Хуйня это всё для детей.
Сейчас на экселе блядь, трёхмерные движки пишут.

Глеб
18.06.2019
06:36:40
Ничего себе колдовство

vlade11115
18.06.2019
06:37:39
Вау, юзербот.

Alex
18.06.2019
06:39:36
но почему то эти часы отстают
а, не, не отстают

Саша
18.06.2019
06:43:24
С моими рассинхрон в минуту

Boris
18.06.2019
07:39:07
слушаю как рядом люди делают что-то на тарантуле
просто обожаю эту хуйню. у которой сайт с документацией полдня не грузится, документация с дырами и такое ощущение, что сделано всё на костылях.

Саша
18.06.2019
07:40:36
Но у них получается?

Boris
18.06.2019
07:41:09
Но у них получается?
последние о ком я знаю, что на нём получили что-то уже закрылись и возможно ликвидировали юрлицо

Google

Саша
18.06.2019
07:42:08
Эх, а я всегда мечтал изучить тарантул и где-нибудь поиспользовать его

Dmitry
18.06.2019
08:09:47
Найс проверка. Меня так даже мама не называет xD

Boris
18.06.2019
08:10:44

Zart
18.06.2019
08:31:54
интересно, выпилит ли форвард с хуянгой...
выпилил, бгг

Маришка
18.06.2019
08:57:54

Zart
18.06.2019
08:58:17
да, всё лучше с хуянгой
чуваку поди потом понадобятся хуянга-реквестс, хуянга-нумпи и т.д.

ShadoWalkeR
18.06.2019
08:58:49
Господа. Есть наркоманский вопрос. Допустим есть код:
class A():
def __init__(self): четотам
from b import Foo
В дальнейшем из функций класса вызывается self.Foo(). Приложение, в которое на С встроили python позволяет в райнтайме перечитывать скрипт и изменять логику без рестарта.
Вопрос в том - как мне сделать реимпорт? Я точно знаю что при перечитывании вызывается init. Python 3

vlade11115
18.06.2019
08:59:08
Импортлиб.

ShadoWalkeR
18.06.2019
08:59:26
Пробовал. Не хочет

vlade11115
18.06.2019
09:01:37
Плохо пробовал.

ShadoWalkeR
18.06.2019
09:03:00
В самом объекте self.module выводит пустоту, dict(self) показывает что в объекте функция есть. В глобале же насколько понимаю импорт не прописывается - я его в классе делаю

Zart
18.06.2019
09:03:46
реимпорт чего?
релоадинг в общем и целом работает хреново и содержит ряд подводных камней...

ShadoWalkeR
18.06.2019
09:05:20
так, понял, неправильно описываю вопрос, надо с самого начала рассказать

vlade11115
18.06.2019
09:07:40
Правильно понял.

Max
18.06.2019
09:09:00
я обычно удаляю sys.modules[modulename], если реимпорт делаю, потому что reload не помогает. В боте когда модульную систему делал пришлось столкнуться
костыль чистой воды
ну и загружаю импортлибом

Google

ShadoWalkeR
18.06.2019
09:10:40
Есть одно ПО на си. Разработчики впилили поддержку выноса логики в разные ЯП, в том числе и на python. Логика описывается в виде одного класса - программа создает экземпляр класса и в дальнейшем вызывает жестко прописанные функции, передавая полностью управление логикой.
Чтобы этот скрипт не превращался в портянку на 1,5к строк, 3к строк и тд я вынес часть методов класса в файлы и делаю from file function в самом классе
Если все лежит в одно файле то из консоли можно без рестарта сделать релоад логики и все изменения подхватятся в рантайме. А вот с импортируемыми функциями это не очень работает.
ПС я глубоко в python не погружался ,поэтому могу чтото не так делать

Zart
18.06.2019
09:11:56
питон кэширует импорты
сишный код скорее тупо перезапускает скрипт, поэтому там всё перегружается на лету

ShadoWalkeR
18.06.2019
09:12:32
Ну в том смысле что скелет этого файла с логикой на python должен содержать класс с 5 функциями а все остальное можно дописывать самому

vlade11115
18.06.2019
09:13:01

ShadoWalkeR
18.06.2019
09:13:08
Ну глубоко в сишный код я не нырял - не мой уровень
Попробовал reload в init делать, но он требует имя модуля, я так понимаю раз оно уже сгенерировало экземпляр, то модули искать бесполезно

Zart
18.06.2019
09:15:28
как вариант, можно в начале скрипта импортировать сис и сохранить список модулей в сис.модулес
для релоада удалять всё нахер кроме

ShadoWalkeR
18.06.2019
09:19:41
Вот минимальный тестовый конфиг который мучаю - https://paste.fedoraproject.org/paste/dlw7hj67N8vLzlSxTPVCwQ
Я кстати ошибся - сначала вызывается mod_init()

Zart
18.06.2019
09:21:39
релоад модуля не вызывает его мод_инит

ShadoWalkeR
18.06.2019
09:22:06
Вызывает

Zart
18.06.2019
09:23:01
https://docs.python.org/3/library/importlib.html#importlib.reload
When reload() is executed:
Python module’s code is recompiled and the module-level code re-executed, defining a new set of objects which are bound to names in the module’s dictionary by reusing the loader which originally loaded the module. The init function of extension modules is not called a second time.
As with all other objects in Python the old objects are only reclaimed after their reference counts drop to zero.
The names in the module namespace are updated to point to any new or changed objects.
Other references to the old objects (such as names external to the module) are not rebound to refer to the new objects and must be updated in each namespace where they occur if that is desired.
я конкретно про родной релоад
что там сишный ембедхост делает, ниибу

ShadoWalkeR
18.06.2019
09:24:39
Кстати. Может вместо импортов возвразщаемому объекту в mod_init() просто добавлять методов?

Max
18.06.2019
09:24:56
я долго ебался тогда, но в итоге решением было подгружать модули через importlib.machinery.SourceFileLoader в отдельный дикт с модулями, и вместо релоада удалять этот модуль из sys.modules и загружать заново.

Zart
18.06.2019
09:25:56
import_module насколько помню делает всё что обычный импорт кроме кэширования
но это надо перепроверять

Google

ShadoWalkeR
18.06.2019
09:26:19
Я сомневаюсь что через sys получится - у них в примере все через self дергается, но может это я неправильно python понимаю в этом моменте

Zart
18.06.2019
09:26:28
идти через конкретный лоадер... такое
сис модуль встроен

ShadoWalkeR
18.06.2019
09:38:03
Спасибо за помощь - я mod_init() вот так переписал:
def mod_init():
KSR.info("===== from Python mod init\n")
from importlib import reload
if 'TEST' in sys.modules:
KSR.info("Reload TEST")
reload(sys.modules['TEST'])
return kamailio()
Сейчас не всегда, но перечитывает включаемый файл TEST.py - я так понимаю не всегда перекэширует его, но этого в принципе достаточно

Dmitry
18.06.2019
09:39:31
"Можно ещё резервные копии в Usenet хранить. Покупаешь доступ за $10 в месяц, загружаешь файлы, через 3 года покупаешь ещё раз, скачиваешь."
Лохам уже и доступ в usenet продают?

Zart
18.06.2019
09:41:24
это же старые добрые news:// ?

Dmitry
18.06.2019
09:41:42
да