
Alex
03.12.2018
13:15:41
https://www.python.org/dev/peps/pep-0405/
собственно в двойке это решалось немного хаками, в тройке добавили pyvenv.cfg

Tishka17
03.12.2018
13:17:58
мм, ок

Alex
03.12.2018
13:24:12
@Tishka17 кстати посмотри еще в сторону *fpm* утилиты для сборки пакетов. Мы ее использовали на каком-то из опенстек проектов, но я не помню как именно она собирает питоно зависимости.

Google

Tishka17
03.12.2018
13:25:22
Да и го меня начинает затягивать

Iliya
03.12.2018
13:35:37
еще возник небольшой вопрос
Есть у меня лист
['2018-12-03 13:31:15', '2018-12-03 13:31:16', '2018-12-03 13:31:22']
Иду я по листу и
for date in date:
data = {'dates':date}
print(data)
Получаю {'dates': '2018-12-03 13:31:15'}
А надо {'dates': 2018-12-03 13:31:15}
Чтобы значение было без кавычек
Просто если сделать принт date в цике, то значение норм, без кавычек...strip не помогает

Alex
03.12.2018
13:36:15
> А надо
{'dates': 2018-12-03 13:31:15}
зачем? ты понимаешь что такое repr()?

Evgeniya
03.12.2018
13:38:35
#работа #вакансия #python #middle #Москва #офис #fulltime
Компания: Mos.ru
Город: Москва, м. Таганская кольцевая
Формат: офис, фуллтайм
ЗП: 120-150 т.р. на руки
Что будем делать: разрабатывать инфраструктуру поиска (движок Elastic), настраивать подсистемы поиска, рефакторить код, переводить часть сервисов на асинхронщину.
Вы: разрабатываете веб-сервисы на Python 3+ не менее 1.5-2 лет, работали с очередями (Apache Kafka, RabbitMQ), знаете про Docker не только в теории, имеете опыт работы с реляционными БД и покрываете свой код юнит-тестами.
Подробнее можно почитать тут: https://hh.ru/vacancy/29124290
Откликнуться: там же или @JaneProvotorova

Tigran
03.12.2018
13:39:38
Ееее мосру

Artyem
03.12.2018
13:41:09

Iliya
03.12.2018
13:41:53

Jentry
03.12.2018
13:42:09
Не зря мос.ру на последнем митапе выступали и рассказывали тайны чат-ботов с паттерном стейт машин)

Tigran
03.12.2018
13:42:39
Если зарплату в два раза поднять, будет даже интересная вакансия!

Alex
03.12.2018
13:44:48

Jentry
03.12.2018
13:44:55

Alex
03.12.2018
13:45:06
почему ты решил что если ты стрипнешь кавычки - это решит твою проблему?

Google

Tigran
03.12.2018
13:46:45

Evgeniya
03.12.2018
13:49:30
Понеслось))

Andrew
03.12.2018
13:50:48

Iliya
03.12.2018
13:52:15

Alex
03.12.2018
13:52:30
тогда что тебя не устраивает?

Iliya
03.12.2018
13:53:04

Evgeniya
03.12.2018
13:53:10

Alex
03.12.2018
13:53:35
давай по новой. ты понимаешь как работает repr для словаря?

Iliya
03.12.2018
13:55:04

Alex
03.12.2018
13:56:20
не совсем
это очень плохо. ты пытаешься решать несуществующую проблему, являющуюся прямым следствием твоей некомпетентности в языке программирования, который ты используешь
d = {'dates': '2018-12-03 13:31:15'}
print(d['dates'])

Jentry
03.12.2018
13:56:47
я вас помню)
вот сейчас я вздрогнул, мне начинать скрываться?)

Tishka17
03.12.2018
13:57:31
или вообще он делает не то

Tima
03.12.2018
13:57:52
Всем привет ребята, кто знает группы в телеграмме по плюсам?

Evgeniya
03.12.2018
13:57:55

Iliya
03.12.2018
13:57:57

Tishka17
03.12.2018
13:58:04

Evgeniya
03.12.2018
13:58:12

Alex
03.12.2018
13:58:21

Google

Tishka17
03.12.2018
13:58:48

Alex
03.12.2018
13:58:57
ну блин… кавычки в ключе словаря его не смущают, зато кавычки в значении его смущают

Iliya
03.12.2018
14:04:20
так, вроде разобрался
Все окей
Т.е. Alex направил меня по правильному пути :)
В принте одно из-за рерпа, а в базу положил как хотел

Tima
03.12.2018
14:08:44

Mename
03.12.2018
14:14:57
Как в tkinter treeview отключить навигацию стрелками? unbind не помог

?? Eugene
03.12.2018
14:18:24


Marperia
03.12.2018
14:20:29
Вопрос по best practiсies.
Есть модуль со следующей структурой:
module/
—sub/
——config.py
——functions.py
—main.py
В main.py запускается web-socket клиент, который принимает функцию как параметр on_message. У меня эта функция использует Redis, и соответственно я подключаюсь к нему в файле functions.py вне всех функций (глобально), что конечно же не очень здорово. Но и как параметр я его передать не могу, т.к. функция on_message может содержать только сам веб-сокет и сообщение.
Так вот, как использовать Redis в функции, чтобы не объявлять её глобально в functions.py?
Немного кода:
#module/main.py
ws = websocket.WebSocketApp(cfg.API_URL, on_message=fn.on_message)
ws.run_forever()
#module/sub/functions.py
redis_db = redis.StrictRedis(
host=cfg.REDIS['host'],
port=cfg.REDIS['port']
)
def on_message(ws, message):
...
redis_db.hset(key, val, json.dumps(message))
P.S. У меня весь код процедурный, ООП нет, так что тупо переписать и использовать как self.redis даже не предлагайте.
Спасибо.


Artem
03.12.2018
14:23:34
Вопрос по best practiсies.
Есть модуль со следующей структурой:
module/
—sub/
——config.py
——functions.py
—main.py
В main.py запускается web-socket клиент, который принимает функцию как параметр on_message. У меня эта функция использует Redis, и соответственно я подключаюсь к нему в файле functions.py вне всех функций (глобально), что конечно же не очень здорово. Но и как параметр я его передать не могу, т.к. функция on_message может содержать только сам веб-сокет и сообщение.
Так вот, как использовать Redis в функции, чтобы не объявлять её глобально в functions.py?
Немного кода:
#module/main.py
ws = websocket.WebSocketApp(cfg.API_URL, on_message=fn.on_message)
ws.run_forever()
#module/sub/functions.py
redis_db = redis.StrictRedis(
host=cfg.REDIS['host'],
port=cfg.REDIS['port']
)
def on_message(ws, message):
...
redis_db.hset(key, val, json.dumps(message))
P.S. У меня весь код процедурный, ООП нет, так что тупо переписать и использовать как self.redis даже не предлагайте.
Спасибо.
все норм, ничего криминального нет


Tigran
03.12.2018
14:23:58
Вопрос по best practiсies.
Есть модуль со следующей структурой:
module/
—sub/
——config.py
——functions.py
—main.py
В main.py запускается web-socket клиент, который принимает функцию как параметр on_message. У меня эта функция использует Redis, и соответственно я подключаюсь к нему в файле functions.py вне всех функций (глобально), что конечно же не очень здорово. Но и как параметр я его передать не могу, т.к. функция on_message может содержать только сам веб-сокет и сообщение.
Так вот, как использовать Redis в функции, чтобы не объявлять её глобально в functions.py?
Немного кода:
#module/main.py
ws = websocket.WebSocketApp(cfg.API_URL, on_message=fn.on_message)
ws.run_forever()
#module/sub/functions.py
redis_db = redis.StrictRedis(
host=cfg.REDIS['host'],
port=cfg.REDIS['port']
)
def on_message(ws, message):
...
redis_db.hset(key, val, json.dumps(message))
P.S. У меня весь код процедурный, ООП нет, так что тупо переписать и использовать как self.redis даже не предлагайте.
Спасибо.
practisies -> practices


Marperia
03.12.2018
14:24:03
Но это ведь неявно объявленная глобальная переменная


Tigran
03.12.2018
14:25:48
Вопрос по best practiсies.
Есть модуль со следующей структурой:
module/
—sub/
——config.py
——functions.py
—main.py
В main.py запускается web-socket клиент, который принимает функцию как параметр on_message. У меня эта функция использует Redis, и соответственно я подключаюсь к нему в файле functions.py вне всех функций (глобально), что конечно же не очень здорово. Но и как параметр я его передать не могу, т.к. функция on_message может содержать только сам веб-сокет и сообщение.
Так вот, как использовать Redis в функции, чтобы не объявлять её глобально в functions.py?
Немного кода:
#module/main.py
ws = websocket.WebSocketApp(cfg.API_URL, on_message=fn.on_message)
ws.run_forever()
#module/sub/functions.py
redis_db = redis.StrictRedis(
host=cfg.REDIS['host'],
port=cfg.REDIS['port']
)
def on_message(ws, message):
...
redis_db.hset(key, val, json.dumps(message))
P.S. У меня весь код процедурный, ООП нет, так что тупо переписать и использовать как self.redis даже не предлагайте.
Спасибо.
Не любишь ООП — прокидывай везде структуру со всякими глобальными коннекшнами, щито поделать


Сергей
03.12.2018
14:26:03
Вопрос по best practiсies.
Есть модуль со следующей структурой:
module/
—sub/
——config.py
——functions.py
—main.py
В main.py запускается web-socket клиент, который принимает функцию как параметр on_message. У меня эта функция использует Redis, и соответственно я подключаюсь к нему в файле functions.py вне всех функций (глобально), что конечно же не очень здорово. Но и как параметр я его передать не могу, т.к. функция on_message может содержать только сам веб-сокет и сообщение.
Так вот, как использовать Redis в функции, чтобы не объявлять её глобально в functions.py?
Немного кода:
#module/main.py
ws = websocket.WebSocketApp(cfg.API_URL, on_message=fn.on_message)
ws.run_forever()
#module/sub/functions.py
redis_db = redis.StrictRedis(
host=cfg.REDIS['host'],
port=cfg.REDIS['port']
)
def on_message(ws, message):
...
redis_db.hset(key, val, json.dumps(message))
P.S. У меня весь код процедурный, ООП нет, так что тупо переписать и использовать как self.redis даже не предлагайте.
Спасибо.
functools.partial
передавать коннект первым аргументом


Tishka17
03.12.2018
14:27:52
ну можно
1. объвить переменную на уровне модуля, снаружи её задавать
2. Сделать класс

Marperia
03.12.2018
14:29:29
Кстати, раз уж я тут. Как там дела у JetBrains? Кто-то уже нашёл кряк на PyCharm 2018?

Tigran
03.12.2018
14:29:58
Первый вариант какой-то суперстрёмный

Marperia
03.12.2018
14:31:11
Зачем мне комьюнити эдишн, если там нельзя задеплоить докер, использовать гит или автоматически работать с передовыми фреймворками?
Сижу на 2017, если что.

Tigran
03.12.2018
14:31:19
Ну тогда плати
что тут можно сказать

Google

Marperia
03.12.2018
14:31:41

Tigran
03.12.2018
14:31:46
Ах ты пидор

Маришка
03.12.2018
14:32:03

Tigran
03.12.2018
14:32:29
Я не понимаю, как можно иметь отношение к разработке и при этом так относиться к труду других разработчиков

Denis
03.12.2018
14:32:44

Admin
ERROR: S client not available

serbernar
03.12.2018
14:33:07

Denis
03.12.2018
14:33:23
А докер и гит один хрен из консоли удобнее

Marperia
03.12.2018
14:34:30

serbernar
03.12.2018
14:35:06
лол

Tigran
03.12.2018
14:35:28
Кажется, мы имеем дело с сомалийским фрилансером
«Я бы единоразово тысячу рублей, может, и заплатил, но эти разработчики же за поддержку сайта каждый месяц требуют!»

Jentry
03.12.2018
14:36:46

Denis
03.12.2018
14:37:54
А зачем на пару задач обязательно про версия?

Artem
03.12.2018
14:37:55
байтики же не стоят денег

Михаил
03.12.2018
14:38:04
почаны, а есть канал типо этого только по html и созданию сайтов??
буду благодарен ?

Marperia
03.12.2018
14:39:26

Tigran
03.12.2018
14:39:39
Лол, это клиника

Google

Jentry
03.12.2018
14:40:00
я так понимаю, за работу денег не берете?)
я делаю сервис, а не продаю экземпляры, это классическая проблема монетизации десктоп-приложений, которую jet-brains не смогут решить, чтобы не было попыток взломать и судить за это сообщество глупо, по-моему

Marperia
03.12.2018
14:40:28

Tigran
03.12.2018
14:40:47
Если каждый из нас отдаст Marperia продукты своего интеллектуального труда, возможно, мы сможем спасти его.
Не оставайтесь равнодушными!

Valor Morghulis | Ersy Adept
03.12.2018
14:42:23

Jentry
03.12.2018
14:42:36
Tigran ты просто мыслишь однобоко, взлом тоже интеллектуальный труд, нельзя запретить то, что доступно

Ivan
03.12.2018
14:42:38
почему выскакивает эта ошибка?

?
03.12.2018
14:42:56
?

Tigran
03.12.2018
14:43:03
IDE as a service — не дай б-г.

Marperia
03.12.2018
14:43:23

Artem
03.12.2018
14:43:32