@python_beginnersЭта группа больше не существует

Страница 81 из 1885
Zart
23.06.2016
14:54:28
хотя для пре-2.5 придется поебаццо чуток

старые версии либ удаляют с инетов 8(

я вон дистриба джанги 1.0 найти не могу уже

Alexey
23.06.2016
14:57:37
старые версии либ удаляют с инетов 8(
В том и пиздец, друг мой. Лдап нужен, мускул нужен, то надо, это надо.

Google
Alexey
23.06.2016
14:58:13
Быть то было, но когда.

Zart
23.06.2016
15:44:37
однажды лебедь щуку раком...

Марк
23.06.2016
16:11:03
Метаклассы

Хотя не уверен

Johnnie
23.06.2016
16:25:52
подскажите, плз, как лучше делать? 1. создать класс-помощник по работе с sqlite3, объявить его 1 раз и дергать по мере необходимости. в этом случае я так понимаю соединение всегда открыто, пока программа работает 2. при каждой необходимости создавать экземпляр этого класса

Zart
23.06.2016
16:27:21
1. берешь СА 2. радуешься

sqlite3 - одна из дбапи либ она обязана предоставлять определенный апи - курсоры, выполнение запросов и управление транзакциями

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

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

Pavel
23.06.2016
16:34:18
/stat@comstatbot

Combot
23.06.2016
16:34:18
combot.org/chat/-1001051329193

Alex
23.06.2016
16:34:54
я на последнем месте :^)

Google
Johnnie
23.06.2016
16:38:40
Zart
23.06.2016
16:39:07
sqlalchemy.org

Johnnie
23.06.2016
16:40:18
а.. ну ее я видел, просто на 2 таблички суммарно на 10 полей есть ли смысл ее тащить-то?

Zart
23.06.2016
16:41:13
а смысл писать прокладку тогда?

рисуй курсоры напрямую

Johnnie
23.06.2016
16:42:10
т.е. второй вариант?

Zart
23.06.2016
16:42:39
похоже

Johnnie
23.06.2016
16:45:58
??

Johnnie
23.06.2016
17:22:43
мб декоратор сделать и добавить к нужным функциям?
да, сделал его - намного лучше, спасибо :)

Jonh
23.06.2016
19:19:23
Мда уж, пока в основном чате разводят флуд, повторю здесь

Кто как организует хранение и обновление токенов в либах для всяких апишек? Я использую такую схему: в конструктор класса библиотеки передаю объект с геттером\сеттером для поля "token" и в этом объекте реализую механизм хранения (файл, бд и т.д). Для каждой либы приходится велосипедить декоратор для обновления токена, если он сход, по эксцепшену.

Какие очевидные косяки видите в таком подходе?

Alexey
23.06.2016
19:20:21
Слишком долго с телефона, но вкратце - ты мешаешь все в одну кучу.

Zart
23.06.2016
19:21:03
это не декоратор, а адаптер выходит

Jonh
23.06.2016
19:24:02
это не декоратор, а адаптер выходит
Не, это свой вариант retry, я им методы оборачиваю, которые в апи стучат. Использовал бы redo, но мне не подходит в силу некоторых причин, по-хорошему это надо в отдельную либу вынести.

Jonh
23.06.2016
19:25:59
Логгер свой там?
Нет, логгер стандартный

Или может я не о том думаю

Google
Zart
23.06.2016
20:05:03
пилинт брутален и анален....

Alex
24.06.2016
03:47:17
как это адекватно вообще запилить?

питон 3.5

Dim
24.06.2016
04:52:11
counter = { x['cid']:{'msgs':0 , 'usrs':0} for x in cids_list } for ccid in counter.keys(): counter[ccid]['msgs'] = sum( [a['msg_count'] for a in cids_list if a['cid'] == ccid] ) counter[ccid]['usrs'] = sum( [a['users_count'] for a in cids_list if a['cid'] == ccid] ) [print(x) for x in counter.items()]

Alex
24.06.2016
04:55:18
Ооо

Спасибо

.
24.06.2016
05:02:26
гайз есть какие-нибудь курсы по SQL наподобие codecademy, чтобы так же удобно было, но только материала больше

Pavel
24.06.2016
05:40:05
на stepic есть курс по mysql https://stepic.org/course/%D0%92%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2-%D0%B1%D0%B0%D0%B7%D1%8B-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-551/syllabus

.
24.06.2016
06:26:34
Благодарю

Zart
24.06.2016
06:44:13
"for ccid in counter.keys():" не надо так делать

Alex
24.06.2016
06:49:44
а как надо?

Zart
24.06.2016
06:50:14
для перебора ключей в дикте просто for key in somedict:

Sergey
24.06.2016
06:56:07
с defaultdict, кажется, было бы поприятнее

Zart
24.06.2016
06:56:27
угу

можно без дефолтдикта через counter[cid] = counter.setdefault(cid, 0) + x_count

Sergey
24.06.2016
07:03:10
Скорее get, все равно ключ переписываем - лишняя вставка не нужна

Cykooz
24.06.2016
07:03:14
А есть ещё collections.Counter

Sergey
24.06.2016
07:03:30
Что за привычка, кстати, входные данные в виде картинки класть?

А есть ещё collections.Counter
counter, емнип, только количество считает

Zart
24.06.2016
07:04:14
А есть ещё collections.Counter
который считает колво, а не суммирует, так что неудобен в этом случае

Google
Cykooz
24.06.2016
07:04:24
counter, емнип, только количество считает
Нормально он считает с = Counter() c['foo'] += 10

Zart
24.06.2016
07:05:00
это дефолтдикт(инт) же

Cykooz
24.06.2016
07:05:24
это дефолтдикт(инт) же
Ну да, очень похоже

Admin
ERROR: S client not available

Zart
24.06.2016
07:06:20
>>> from collections import Counter >>> c = Counter() >>> c['foo'] += 10 >>> c Counter({'foo': 10}) >>> from collections import defaultdict >>> d = defaultdict(int) >>> d['foo'] += 10 >>> d defaultdict(<type 'int'>, {'foo': 10})

если суммировать самому, то от каунтера толку никакого

Cykooz
24.06.2016
07:07:17
Counter просто короче пишется, и как то понятнее

Zart
24.06.2016
07:07:49
главная фича каунтера - метод апдейт имхо...

>>> l [{'msg_count': 1, 'users_count': 1, 'cid': 1}, {'msg_count': 1, 'users_count': 1, 'cid': 1}, {'msg_count': 1, 'users_count': 1, 'cid': 1}, {'msg_count': 2, 'users_count': 0, 'cid': 2}] >>> msg_count, users_count = defaultdict(int), defaultdict(int) >>> for item in l: ... msg_count[item['cid']] += item['msg_count'] ... users_count[item['cid']] += item['users_count'] ... >>> msg_count, users_count (defaultdict(<type 'int'>, {1: 3, 2: 2}), defaultdict(<type 'int'>, {1: 3, 2: 0}))

Sergey
24.06.2016
07:30:37
Counter просто короче пишется, и как то понятнее
Если в defaultdict нужен не int или int, но не 0, то counter уже не очень поможет

Zart
24.06.2016
07:32:50
эту задачку можно решить функционально через itertools.groupby, sum и operator.itemgetter. результат правда громоздкий выйдет

Alex
24.06.2016
07:33:37
а по быстродействию что вообще быстрее выйдет?

И спасибо за помощь всем

Zart
24.06.2016
07:34:00
вариант с дефолтдиктом имхо

[Anonymous]
24.06.2016
09:06:09
Кто-нибудь работал с API вк? Есть одна проблема: апи возвращает дату как 1465844495, как мне преобразовать это число в datetime объект?

Alex
24.06.2016
09:07:08
http://stackoverflow.com/questions/3682748/converting-unix-timestamp-string-to-readable-date-in-python

[Anonymous]
24.06.2016
09:10:44
Работает, спасибо

Zart
24.06.2016
10:02:40
половина вопросов связана с социалочками... вк и телеботы

.
24.06.2016
10:03:50
просто документация вк апи отвратно оформлена

Google
Sergey
24.06.2016
10:04:13
.
24.06.2016
10:04:54
про execute очень мало информации

Sergey
24.06.2016
10:06:01
про execute очень мало информации
это да. для людей далёких от этого с первого раза ничерта не поймёшь. вот тут есть серия статей про execute - http://trianglesis.org.ua/vk-execute

.
24.06.2016
10:07:02
Месяц назад писал прогу, потестит, вроде все хорошо работало, недавно запустил и получил ошибку авторизации(токен брал бессрочный)

Спасибо про execute, почитаю

Sergey
24.06.2016
10:07:49
Zart
24.06.2016
10:07:55
это вы вк приложения рисуете или куда?

Sergey
24.06.2016
10:08:07
.
24.06.2016
10:08:53
я просто балуюсь api

Sergey
24.06.2016
10:09:04
ну и скорее не приложение для ВК, а скрипт, работающий с ВК Api

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

.
24.06.2016
10:13:55
Сделал пару простых скриптов, потом захотелось реализовать поиск в глубину по друзьям, тут без execute не обойтись, но теперь появилась надежда осилить

Sergey
24.06.2016
10:40:37
Сделал пару простых скриптов, потом захотелось реализовать поиск в глубину по друзьям, тут без execute не обойтись, но теперь появилась надежда осилить
на хабре была статья про это, с экзекьютом, но там достаточно "сложно" для новичка. я разобраться не смог пока что что там к чему

Kill me pls
24.06.2016
11:01:48
В голос

Страница 81 из 1885

Эта группа больше не существует Эта группа больше не существует