
Pavel
12.03.2017
21:59:44
Добрый вечер, народ! Попробую ещё раз свой вопрос задать.
Есть метод handle_log_data(self, data), который пишет data в csv файл.
Нужно протестировать этот метод с помощью unittest, подавая data в разных кодировках.
Как тестятся такие методы? Python2 (легаси, знаю, но проект не мой)
Я предполагаю, что нужно при запуске тестов этого метода каждый раз создавать csv-файл и в каждом тесте писать туда data в определенной кодировке. Если возникнет ошибка, тест не будет пройден.
Спасибо за внимание.
то есть, у метода на входе какая-то строка (или как там это было во втором питоне), а на выходе у него csv файл?

Miroslav
12.03.2017
22:01:52
Но по сути на выходе у него ничего нет.
Он ничего не возвращает.
Просто пишет в файл и всё.
Во втором питоне есть определенные проблемы с обработкой unicode при записи с помощью модуля csv.
Я написал небольшой костыль для обхода этой проблемы и страстно хочу написать для него тесты.

Pavel
12.03.2017
22:06:02
если правильно делать, то это называется mock: подмена части функционала системы на свои действия. в третем питоне (и скорее всего во втором тоже есть) есть метод mock_open, который подменяет системный open, и сохраняет куда-то все действия, который были с файлом: открыли, записали вот это, закрыли. модуль mock и метод mock_open

Google

Miroslav
12.03.2017
22:06:36

Pavel
12.03.2017
22:11:12
неправильно сказал: во втором питоне это была внешняя библиотека, в третьем её принесли в стдлиб

Petr
13.03.2017
04:31:00
Привет, есть кто юзал python-Wappalyzer? Если да, скажите там можно получить только имя cms, а не все то Wappalyzer распознал?

Роман
13.03.2017
08:17:59
а есть кто с SOAP работал?
wsdl кормишь ему, а сам soapserver по другому адресу находится, куда что слать не понятно :DD
сложный прекол какой-то

Kon
13.03.2017
08:43:45
О счастье! Я дошел-таки до конца туториала для девочек http://mokkrizert.pythonanywhere.com/

Solyar
13.03.2017
08:47:03
adventofcode решал ?

Alex
13.03.2017
08:47:23

Kon
13.03.2017
08:47:34

Solyar
13.03.2017
08:47:41

Kon
13.03.2017
08:47:48
и как?
вроде подействовало и хандра отпустила

Google

Kon
13.03.2017
08:48:23
В путь
А что это, где это и зачем оно? Мне сказали, что надо набить гитхаб кучей кода и обозвать это портфолио, и у меня появятся друзья или даже работа

Solyar
13.03.2017
08:48:54
А вообще да, гитхаб портфолио и вперед

Alex
13.03.2017
08:49:12

b0g3r
13.03.2017
08:49:23

Maksim
13.03.2017
09:50:31
потока и та же шляпа, в чем особенность?
если к примеру захожу через manage.py shell он начинает стартовать

Kon
13.03.2017
09:52:14
человеки, которые работают с кодом и графикой и тестами, часто имеют много окон? Как они с этим управляются? Workspace неудобно

Маришка
13.03.2017
09:52:42
Очень информативно
Я тоже теперь вместо кода структуру проекта буду слать

Maksim
13.03.2017
09:53:20
def s():
while True:
print('SSSSSSSSSS')
time.sleep(5)
t = threading.Thread(target=s, daemon=True)
t.start()
такой принцип старта

stonepig
13.03.2017
09:53:22

Kon
13.03.2017
09:53:44
нету большого монитора, и тайлинг, как следствие, не вариан

I
13.03.2017
09:59:02
в юнити работал с одного моника, ок вполне было

Ivan
13.03.2017
10:16:07

Anton
13.03.2017
10:16:26
посоветуйте литературку, где можно почитать про асинхронное програмирование на питоне, желательно с самых азов

I
13.03.2017
10:20:47

Igor
13.03.2017
10:29:51

Anton
13.03.2017
10:30:38
для детей

Google

Igor
13.03.2017
10:31:02
для детей больше всего, по-моему, подходит celery
но эт не совсем то

Anton
13.03.2017
10:33:03

Igor
13.03.2017
10:33:14
а что непонятно-то?)

Игорь
13.03.2017
10:33:19
Вроде оно все одинаково написано

Anton
13.03.2017
10:34:02
мне сам принцип не понятен

Denis
13.03.2017
10:34:24
А нужен ли он тебе?

Anton
13.03.2017
10:34:26
я только про потоки знал, а тут оказывается можно както в одном потоке корутины какието одновременно запускать

Игорь
13.03.2017
10:34:55
https://xakep.ru/2017/01/11/python-3-asyncio/

Anton
13.03.2017
10:35:54
какая-то неполная статья . денег хочет (

Игорь
13.03.2017
10:36:53

Anton
13.03.2017
10:37:23

Игорь
13.03.2017
10:37:35

Anton
13.03.2017
10:38:10

Bulatbulat48
13.03.2017
10:38:44
торнадо тоже асинхронный

Игорь
13.03.2017
10:38:45

Anton
13.03.2017
10:39:29
документация всысле PEP ?

Igor
13.03.2017
10:40:00
какой нафиг пеп
https://docs.python.org/3/library/asyncio.html

Google

Игорь
13.03.2017
10:40:10

Denis
13.03.2017
10:40:42

Igor
13.03.2017
10:40:44

Bulatbulat48
13.03.2017
10:41:08

Igor
13.03.2017
10:41:12

Anton
13.03.2017
10:41:14

Igor
13.03.2017
10:41:38
это как?
это так. питончик думает "о, бля, этот поток че-т слишком долго выполняется, иди-ка ты нахуй", останавливает его и запускает следующий поток.

Admin
ERROR: S client not available

Anton
13.03.2017
10:41:38

Igor
13.03.2017
10:41:54

Anton
13.03.2017
10:41:54
когда по процессу щёлкаешь

Игорь
13.03.2017
10:43:50
Мда. Чувак разбирался в потоках и не знает как они работают. Как так можно?

Anton
13.03.2017
10:44:11
это ты про кого?
я не знаю как asyncio рабтают, как потоки - представление имею

xelnod
13.03.2017
10:44:40
кек 8

Игорь
13.03.2017
10:45:29

Anton
13.03.2017
10:45:58
я про потоки не спрашивал, если канешно asyncio и потоки это не одно и тоже
потоками ваще операционка рулит

Google

Igor
13.03.2017
10:46:28
:)
эх

Anton
13.03.2017
10:46:50
а не питтоны там и прочие компиляторы интерпритаторы
есть диспетчер потоков, у него есть свой алгоритм
он может вяять в работу поток питоновский проги, потом поток от explorer.exe потом от фильмака, который ты паралельно смотришь
диспетчерезация завязана на приоритетах
тут всё давно понятно
а вот эта асинхронность, это хрень какая-то для меня

Igor
13.03.2017
10:49:32
мы про разные потоки говорим

Bulatbulat48
13.03.2017
10:49:37

Anton
13.03.2017
10:49:53

Igor
13.03.2017
10:49:54
модуль threading, все такое

Anton
13.03.2017
10:50:35

Igor
13.03.2017
10:50:38
неа
ваще никакого

Bulatbulat48
13.03.2017
10:51:04

Anton
13.03.2017
10:51:10
я вот в процесэкспе вижу что у меня каждый питоньй поток запускается в обычном системном потоке

Igor
13.03.2017
10:51:23

Anton
13.03.2017
10:51:31
парсек
Эта группа больше не существует