
Nikolay
18.10.2018
14:34:44

Олег
18.10.2018
14:34:59

87776
18.10.2018
14:43:15
кто-нибудь может пояснить какую задачу на самом деле решает pyenv?
я вот сделал pyenv local 3.7.0, делаю pyenv virtualenv 3.7.0 testenv и в testenv лежит питон 3.5, я ожидаю видеть весрию 3.7.0 и только её.

Google

87776
18.10.2018
14:44:37
что за хрень

Ivan
18.10.2018
14:47:41

Alex
18.10.2018
14:53:51
сделай pyenv versions и покажи сюда

87776
18.10.2018
14:55:02

Alex
18.10.2018
14:55:29
$ pyenv versions
$ pyenv version

87776
18.10.2018
14:56:13
(hhw) username@compname /mnt/e/OLDE/python/hello_world $ pyenv versions
system
3.7.0
3.7.0/envs/hhw
3.7.0/envs/hw
* hhw (set by PYENV_VERSION environment variable)
hw
hhw ==testenv
echo $PYENV_VERSION
hhw
pyenv version
hhw (set by PYENV_VERSION environment variable)

Alex
18.10.2018
14:57:13
echo $PATH
command -v python

87776
18.10.2018
14:57:33
ох, такое только в личку могу

Google

Alex
18.10.2018
14:57:52
серьезно?
ну ок, что говорит command -v python?
кстати никогда не пользовался pyenv activate, всегда через pyenv local или pyenv shell активировал.

87776
18.10.2018
14:59:53
Кажется penv local не активирует

Alex
18.10.2018
15:00:47
УМВР

Арсений
18.10.2018
15:18:31
Есть вопрос к вам, ребят. Мне нужно получать от пользователя число или день недели и преобразовывать дату в строку формата YYYY-MM-DD. У меня есть три блока:
1. Блок работы с пользователем (bot TG), он получает данные в виде команд или текста
2. Блок получания данных (расписание занятий на неделю) из API — как раз ему нужна дата в таком формате
3. Блок обработки данных — он на вход получает данные из второго блока и выбирает нужный день по его индекдня недели. Вопрос следующий: как и где лучше реализовать обработку чисел?
Сейчас она в функции получения расписания, но мне кажется, это не самый идеальный вариант

Bohdan
18.10.2018
15:19:19
в первом

Pavel
18.10.2018
15:19:31
я бы сделал в боте, а потом таскал везде дату, а не строку с датой

Арсений
18.10.2018
15:19:56

Alex
18.10.2018
15:20:09

Арсений
18.10.2018
15:20:17
Ну да, я про него
Хм, действительно

Alex
18.10.2018
15:20:30
ну как бы это не совсем кортеж

Арсений
18.10.2018
15:20:50
А что тогда?
Не совсем понимаю
И ещё вопрос касаемо преобразования даты: нужно чтобы бот понимал, что если сегодня 18.10.2018 и пользователь отправил цифру 24, значит нужно 24.10.2018, но если к примеру он отправит 2, это уже 02.11.2018
today = datetime.datetime.now()
year = '.' + str(today.year)
month = '.' + str(today.month)
try:
date = datetime.datetime.strptime(date + month + year, "%d.%m.%Y")
except:
try:
date = datetime.datetime.strptime(date + year, "%d.%m.%Y")
except:
date = datetime.datetime.strptime(date, "%d.%m.%Y")
date = pytils.dt.ru_strftime(u"%Y-%m-%d", inflected=True, date=date)
Я это реализоавл вот таким костылём

Alex
18.10.2018
15:23:40

Google

Арсений
18.10.2018
15:24:24

Denis
18.10.2018
15:24:27

Bohdan
18.10.2018
15:24:30
тебе нужна ближайшая дата с этим числом
ты можешь учитывать текущее число и отталкиваться от него

Alex
18.10.2018
15:25:00
что он вообще делать должен? объясни, мне лень читать это

Арсений
18.10.2018
15:25:13

Alex
18.10.2018
15:25:58
т.е. пользовать просто цифру вводит?

Bohdan
18.10.2018
15:26:29

Арсений
18.10.2018
15:26:40

Bohdan
18.10.2018
15:26:45
если в этом месяце такая дата была - берёшь её из следующего месяца

Арсений
18.10.2018
15:27:55

Alex
18.10.2018
15:39:21

Арсений
18.10.2018
15:41:05
А насколько это быстро?
Если несколько сотен человек будут пользоваться, это не будет слабым местом?

Роман
18.10.2018
16:07:28

Никита
18.10.2018
16:09:09
Есть какие то либы аналогичные Гошной encoding/json, которые могут парсить json в класс?

Denis
18.10.2018
16:09:31
Зачем?
Можно у дикта getattr переопределить

Никита
18.10.2018
16:10:20
Определил модели запросов/ответов, например

Google

Роман
18.10.2018
16:10:42

Никита
18.10.2018
16:10:52

Denis
18.10.2018
16:11:01
Их можно заполнить из того, что вернул json.loads

Роман
18.10.2018
16:11:08
Что тебе дает парсинг в класс?

Pavel
18.10.2018
16:11:13

Denis
18.10.2018
16:11:25
YourModel(**json.loads(data))

Admin
ERROR: S client not available

Nikolay
18.10.2018
16:11:31

Никита
18.10.2018
16:11:31

Nikolay
18.10.2018
16:11:47
в го нихера же нет

Denis
18.10.2018
16:11:56
Но это проблема уже не про json

Никита
18.10.2018
16:11:58

Nikolay
18.10.2018
16:12:05
Начинаешь решать задачу; обнаруживается, что теперь у тебя 2 задачи

Pavel
18.10.2018
16:12:21

Никита
18.10.2018
16:12:25

Роман
18.10.2018
16:12:32

Mike
18.10.2018
16:12:32

Denis
18.10.2018
16:12:36
Проще всего научить структуры строиться из дикта и строить детей рекурсивно

Никита
18.10.2018
16:12:48

Nikolay
18.10.2018
16:12:49
у меня нет детей

Google

Denis
18.10.2018
16:12:59

Mike
18.10.2018
16:13:18

Pavel
18.10.2018
16:13:36

Nikolay
18.10.2018
16:13:51
Уходи с го в свой двор

Никита
18.10.2018
16:14:02

Роман
18.10.2018
16:15:08
Не очень понятно, зачем это делать.
Если дело в валидации, о есть же жсонсхема, но о ней ты 100% знаешь

Mike
18.10.2018
16:17:27

Никита
18.10.2018
16:17:45

Роман
18.10.2018
16:17:45
Если же нужны какие-то доп. поля для твоих классов запроса-ответа, то сделай свойства и вытаскивай их из сохраненного json'а

Mike
18.10.2018
16:18:11
Работа на нем
ну так если работа на языке, то думай на языке и используй то, как принято в языке. иначе твой код потом никто не поймет

Denis
18.10.2018
16:19:54
Легче работать с четко определенной схемой
>>> class Tree:
... def __init__(self, data, left, right):
... self.data = data
... self.left = left
... self.right = right
... @classmethod
... def from_dict(cls, data):
... if not isinstance(data, dict):
... return data
... return cls(data['data'], cls.from_dict(data['left']), cls.from_dict(data['right']))
... def __str__(self):
... return f'{self.data}, <{self.left}, {self.right}>'
...
>>> print(Tree.from_dict({'data': 1, 'left': {'data': 2, 'left': None, 'right': None}, 'right': {'data': 3, 'left': None, 'right': None}}))
1, <2, <None, None>, 3, <None, None>>

Никита
18.10.2018
16:21:13
Видимо тут ничего не поделать и придется делать все через дикты

Роман
18.10.2018
16:22:31

Vaderoff
18.10.2018
16:43:18
for address, dirs, files in self._dir:
ValueError: not enough values to unpack (expected 3, got 1)
В чем проблема?

Kobe
18.10.2018
16:45:15
В коде)

Denis
18.10.2018
16:45:19
В self._dir не то, что ты хочешь