Size: a a a

2020 July 25

Т

Технопёс in aiogram [ru]
самим чтоли не приятно, когда функция имеет четкий I/O, и работает только в ожидаемом смысле. Сразу ясно зачем оно, что ест, каков результат. Когда я гляжу на подобное (особенно спустя время, когда все хитросплетения уже забыты), приходится вникать в многогранность кода
источник

F

Fᴏʀᴅᴇɴ in aiogram [ru]
Технопёс
самим чтоли не приятно, когда функция имеет четкий I/O, и работает только в ожидаемом смысле. Сразу ясно зачем оно, что ест, каков результат. Когда я гляжу на подобное (особенно спустя время, когда все хитросплетения уже забыты), приходится вникать в многогранность кода
ты почитай что было до
источник

F

Fᴏʀᴅᴇɴ in aiogram [ru]
я сидел, час вникал
источник

Т

Технопёс in aiogram [ru]
<Юрий> 👨‍🔬 Чебышев
тебе говорили что ты зануда?)
помню кстати сказали подобное, когда я стал вонять по теме с проперти. Разжёвывал что свойства не должны бегать куда-то в сеть, делать подкапотную странную работу, и казалось бы это очевидно, и зря я тут вообще пишу.
А теперь внимание, в студию закатывается один из примеров сабжа, a.k.a. вы зануда, а у меня самый пиздатый черный ящик:
https://github.com/Emberium/SimpleQIWI/blob/57bb17cc386e29ff319af2ea0a3efebaf97630ce/SimpleQIWI/Session.py#L52-L114
источник

Т

Технопёс in aiogram [ru]
Fᴏʀᴅᴇɴ
ты почитай что было до
мне интереснее актуальный код. Ты же его не просто так сюда скинул, верно?Перемывку костей считаю законной
источник

F

Fᴏʀᴅᴇɴ in aiogram [ru]
Технопёс
мне интереснее актуальный код. Ты же его не просто так сюда скинул, верно?Перемывку костей считаю законной
тогда вот актуальный код
https://t.me/aiogram_ru/260703
источник

Т

Технопёс in aiogram [ru]
речь о нем и шла же
источник

T

Tishka17 in aiogram [ru]
Технопёс
помню кстати сказали подобное, когда я стал вонять по теме с проперти. Разжёвывал что свойства не должны бегать куда-то в сеть, делать подкапотную странную работу, и казалось бы это очевидно, и зря я тут вообще пишу.
А теперь внимание, в студию закатывается один из примеров сабжа, a.k.a. вы зануда, а у меня самый пиздатый черный ящик:
https://github.com/Emberium/SimpleQIWI/blob/57bb17cc386e29ff319af2ea0a3efebaf97630ce/SimpleQIWI/Session.py#L52-L114
а можно почитать про проперти что ты писал?
источник

Т

Технопёс in aiogram [ru]
Tishka17
а можно почитать про проперти что ты писал?
нет, это было давно и грязно
источник

T

Tishka17 in aiogram [ru]
вообще меня в этой всей фигне смущает откуда ChatSettings узнает где база
источник

T

Tishka17 in aiogram [ru]
и где редис
источник

T

Tishka17 in aiogram [ru]
и почему это вообще один класс
источник

F

Fᴏʀᴅᴇɴ in aiogram [ru]
не понял
источник

T

Tishka17 in aiogram [ru]
ну вот у тебя класс СhatSettings
источник

F

Fᴏʀᴅᴇɴ in aiogram [ru]
У меня для настроек пользователя и настроек чатов - по отдельному классу
источник

T

Tishka17 in aiogram [ru]
чтобы он сходил в базе, ему нужен коннект к базе
источник

F

Fᴏʀᴅᴇɴ in aiogram [ru]
Tishka17
чтобы он сходил в базе, ему нужен коннект к базе
там есть еще по классу для работы с редисом и бд
источник

T

Tishka17 in aiogram [ru]
Fᴏʀᴅᴇɴ
У меня для настроек пользователя и настроек чатов - по отдельному классу
я вижу один - ChatSettings
источник

Т

Технопёс in aiogram [ru]
кажется Тишка вышел на след банды Глобалов
источник

F

Fᴏʀᴅᴇɴ in aiogram [ru]
Tishka17
я вижу один - ChatSettings
   async def get_settings_from_redis(chat_id: int) -> typing.Optional[dict]:
       raw = await cache.Settings.get(chat_id)
       if raw:
           parsed = json.loads(raw)
           merged = Misc.merge_dicts(parsed, chat_settings.settings)
           if ChatSettings.check_schema(merged):
               return merged
           else:
               return None
       else:
           return None

   @staticmethod
   async def get_settings_from_db(chat_id: int) -> typing.Optional[dict]:
       raw = await db_api.Chats.get_settings(chat_id)
       if raw:
           parsed = json.loads(raw)
           merged = Misc.merge_dicts(parsed, chat_settings.settings)
           if ChatSettings.check_schema(merged):
               return merged
           else:
               return None
       else:
           return None
источник