@ru_python

Страница 6033 из 9768
Ляман
26.07.2018
09:23:00
Делаю бинд в ткинтере и присваю функции аргумент event, но сразу как присваюиваю и другой аргумент начинает ругаться. Как можно исправить? TypeError: getinfoproxy() missing 1 required positional argument: 'save'

Andrew
26.07.2018
09:24:04
Ребята подскажите почему суп ругается from urllib.request import urlopen from bs4 import BeautifulSoup html = urlopen('http://euroauto.ru/') bs = BeautifulSoup(html, 'lxml') linkList = bs.find('div', id='lightCars').find_all('div', {'class':'itm'}).find_all('a').get('href') print(linkList) # for modelLinks in linkList.find_all('a'): # surl = modelLinks['href'] # print(str(surl)) "ResultSet object has no attribute '%s'. You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()?" % key AttributeError: ResultSet object has no attribute 'find_all'. You're probably treating a list of items like a single item. Did you call find_all() when you meant to call find()? если писать .find('a').get('href') то работает и обращаться через [0], [1] а как вытащить все сразу ссылки

Inf
26.07.2018
09:24:51
ты сначала такой собирался накапливать: message1 = [] а потом такой: да не, хрен с ним message1 = str(...); return message1
for row in results: idd = str(row[0]) name = str(row[1]) link = str(row[2]) mod = str(row[3]) #income = row[4] message1=str("ID: " + idd + ", Название: " + name + ", Ссылка: @" + link + " | модерация: " + mod) #return message1 print (message1)

вот так последнюю выдает

Google
Tigran
26.07.2018
09:25:50
странно, так он должен всё печатать и ничего не возвращать

Inf
26.07.2018
09:26:22
я пытался по аналогии с пхп сделать чтобыы весь цикл в переменную попал

думал сработает

Tigran
26.07.2018
09:27:39
ноуп

надо message1.append(str(...)) делать

Inf
26.07.2018
09:27:47
ноуп
а как надо?

Tigran
26.07.2018
09:28:00
тогда в итоге у тебя будет список со всеми месседжами

и можно будет после цикла сделать return "\n".join(message1)

Макс
26.07.2018
09:29:25
ребята, привет! подскажите, можно ли сделать переменную доступной из другого модуля?

Tigran
26.07.2018
09:29:57
она автоматически доступна, импортируй модуль с переменной и всё

import my_module my_module.my_var

Макс
26.07.2018
09:31:00
а, вот как) сенк)

Maxim robox
26.07.2018
09:32:10


Google
Tigran
26.07.2018
09:35:33
R&D engineer!

https://pbs.twimg.com/media/DE7L9VPUQAAW26p.jpg

че то не выходит
@ru_python_beginners

Max
26.07.2018
09:47:19
Есть диапазон значений: 1-500 Есть список исключений значений, который может меняться: [88,135,139,445] Нужно формировать строку, которая берет диапазон значений, вычитает из него исключения и выводиться вот в таком виде: '1-87,89-134,136-138,140-444,446-500' Подскажите, каким алгоритмом лучше формировть такую строку?



Первоначальный диапазон может быть в другом формате

AlexE
26.07.2018
10:01:43
Всем привет у меня такая задача которая вынесла мне мозг уже я пытаюсь прогнать этот тест @patch('jira_parser.JiraParser.get_worklog_from_issue') @patch('main.get_users_list') def test_with_list_get_users_data(self, fun_mock): needed_res = [{"user": 'alex'}] fun_mock.return_value = ['alex'] result = get_users_data() self.assertEqual(result, needed_res) По этой функции def get_users_data(): users_names = get_users_list() if not users_names: print("Cannot get users data") return None else: all_users_issues = [] for username in users_names: jira = JiraParser(JIRA_URL, username, JIRA_LOGIN, JIRA_PASSWORD) data_list = jira.get_worklog_from_issue() all_users_issues.extend(data_list) return all_users_issues В итоге функция get_users_list() заебись патчится и выводит то что ей приказали и метод get_worklog_from_issue класса JiraParser тоже патчится НОООООООООООООООООО если я отключу интернет то тогда оказывается что метод get_worklog_from_issue работает как он хочет просто в конце выводит то что я попросил но поскольку инета нет он не может придти к выводу из за своей логики как мне сделать так что бы этот матод и класс нахер заменялись полностью для этого теста!?!?!??!

Andy
26.07.2018
10:04:05
Всем привет у меня такая задача которая вынесла мне мозг уже я пытаюсь прогнать этот тест @patch('jira_parser.JiraParser.get_worklog_from_issue') @patch('main.get_users_list') def test_with_list_get_users_data(self, fun_mock): needed_res = [{"user": 'alex'}] fun_mock.return_value = ['alex'] result = get_users_data() self.assertEqual(result, needed_res) По этой функции def get_users_data(): users_names = get_users_list() if not users_names: print("Cannot get users data") return None else: all_users_issues = [] for username in users_names: jira = JiraParser(JIRA_URL, username, JIRA_LOGIN, JIRA_PASSWORD) data_list = jira.get_worklog_from_issue() all_users_issues.extend(data_list) return all_users_issues В итоге функция get_users_list() заебись патчится и выводит то что ей приказали и метод get_worklog_from_issue класса JiraParser тоже патчится НОООООООООООООООООО если я отключу интернет то тогда оказывается что метод get_worklog_from_issue работает как он хочет просто в конце выводит то что я попросил но поскольку инета нет он не может придти к выводу из за своей логики как мне сделать так что бы этот матод и класс нахер заменялись полностью для этого теста!?!?!??!
Так драматчно

AlexE
26.07.2018
10:04:46
Так драматчно
есть такое

Tigran
26.07.2018
10:04:54
а что за фреймворк для тестов?

Andy
26.07.2018
10:05:12
Всем привет у меня такая задача которая вынесла мне мозг уже я пытаюсь прогнать этот тест @patch('jira_parser.JiraParser.get_worklog_from_issue') @patch('main.get_users_list') def test_with_list_get_users_data(self, fun_mock): needed_res = [{"user": 'alex'}] fun_mock.return_value = ['alex'] result = get_users_data() self.assertEqual(result, needed_res) По этой функции def get_users_data(): users_names = get_users_list() if not users_names: print("Cannot get users data") return None else: all_users_issues = [] for username in users_names: jira = JiraParser(JIRA_URL, username, JIRA_LOGIN, JIRA_PASSWORD) data_list = jira.get_worklog_from_issue() all_users_issues.extend(data_list) return all_users_issues В итоге функция get_users_list() заебись патчится и выводит то что ей приказали и метод get_worklog_from_issue класса JiraParser тоже патчится НОООООООООООООООООО если я отключу интернет то тогда оказывается что метод get_worklog_from_issue работает как он хочет просто в конце выводит то что я попросил но поскольку инета нет он не может придти к выводу из за своей логики как мне сделать так что бы этот матод и класс нахер заменялись полностью для этого теста!?!?!??!
у тебя тест примнимает, 1 объек, а патчишь ты два. значит и тест принимает 2. мнекажется он должен вываливаться уже по этому

Andy
26.07.2018
10:05:52
unittest
возможно тебе еще поможет вот это https://docs.python.org/3/library/unittest.mock.html#where-to-patch

два декоратора поэтому и принемает два
у тебя прост один. Ну и кастати, ты патчишь только get_worklog_from_issue а может он на инициализациию парсера ходит в жиру?

тут - jira = JiraParser(JIRA_URL, username, JIRA_LOGIN, JIRA_PASSWORD)

AlexE
26.07.2018
10:09:47
у тебя прост один. Ну и кастати, ты патчишь только get_worklog_from_issue а может он на инициализациию парсера ходит в жиру?
Да точно не заметил вот как должно быть @patch('jira_parser.JiraParser.get_worklog_from_issue') @patch('main.get_users_list') def test_with_list_get_users_data(self, fun_mock, get_mock): needed_res = [{"user": 'alex'}] get_mock.return_value = needed_res fun_mock.return_value = ['alex'] result = get_users_data() self.assertEqual(result, needed_res)

Google
Tigran
26.07.2018
10:10:01
Котоны, я тут прочитал про pytest-BDD и не понимаю, зачем это нужно. Почему сразу кодом сценарии нельзя писать?

AlexE
26.07.2018
10:11:02
возможно тебе еще поможет вот это https://docs.python.org/3/library/unittest.mock.html#where-to-patch
на мысль натолкнуло что стоит пропатчить в функции в которой я и вызываю этот метод

Сейчас попробую

balolam
26.07.2018
10:20:04
Котоны, я тут прочитал про pytest-BDD и не понимаю, зачем это нужно. Почему сразу кодом сценарии нельзя писать?
По идее, это позволяет абстрагироваться от кода и меняя код не менять тесты.

Tigran
26.07.2018
10:22:11
По идее, это позволяет абстрагироваться от кода и меняя код не менять тесты.
Ну всё равно надо менять код, который скрывается за красивыми фразочками. Кажется, что если писать тесты так же хорошо, как код, с DRY и всё такое, но уровень абстракции можно получить примерно такой же (а то и выше).

Denis
26.07.2018
10:23:12
Не говнокодить тесты? Да не, бред какой-то

Sab0
26.07.2018
10:53:24
ребят, если через фласк подгрузить favicon, то он сразу виден будет?

Lair
26.07.2018
10:59:02
Народ, как правильно сделать данный реплэйс? str(mass_end[i]).replace('[', '').replace("'", "").replace(']', '')

Lair
26.07.2018
11:05:51
ну сути то не поменяло, все равно куча реплейсов..

Hayk
26.07.2018
11:07:15
просто напиши mas.end[i] = str(....)...

Lair
26.07.2018
11:08:53
прости, наверное я криво описал суть вопроса.. Суть не в переделки масива с строку, а в том как использоватьнесколько реплейсов к одной строке

Hayk
26.07.2018
11:09:37
ты делал правильно реплейсы

или хочешь делать всё с одной функцией?

Lair
26.07.2018
11:10:04
да, просто смотрится как китайщина

Hayk
26.07.2018
11:11:35
это 3 строки лол.

Lair
26.07.2018
11:11:41
Google
Hayk
26.07.2018
11:11:46
Он всё правильно писал -.-

Lair
26.07.2018
11:12:02
не, можно же в генератор запихать

Hayk
26.07.2018
11:12:19
можешь делать маленькую функцию

и всё

Admin
ERROR: S client not available

Lair
26.07.2018
11:12:34
спасибо парни!

Valery
26.07.2018
11:15:31
a = re.sub(r"[\['\]]", '', a)

Aragaer
26.07.2018
11:15:37
по-моему это не replace, а filter

a = ''.join(c for c in a if c not in to_replace)

Valery
26.07.2018
11:17:04
a = ''.join(c for c in a if c not in to_replace)
тож хороший варик

Sab0
26.07.2018
11:26:41
ребят, как сделать редирект типа t-do.ru для тг чтобы был обход блокировки?

то есть туду сразу дает запрос на открытие телеги

без редиректа на телегу

Tishka17
26.07.2018
11:27:38
А какая там ссылка?

Sab0
26.07.2018
11:27:53
Artem
26.07.2018
11:28:05
есть какая-нибудь библиотека чтобы определить человекочитаемая передо мной строка или нет? желательна поддержка как можно большего количества языков.

Tishka17
26.07.2018
11:28:10
Ну сам посмотри какая ссылку куда кликаешь

Sab0
26.07.2018
11:28:33
нет там ее

Tishka17
26.07.2018
11:28:55
tg://resolve?domain=salefinder_bot

Google
Sab0
26.07.2018
11:28:58
хотя не, есть

Tishka17
26.07.2018
11:29:00
Не?

Sab0
26.07.2018
11:29:14
она для всех браузеров одинаковая?

Tishka17
26.07.2018
11:29:24
Для компа не факт что прокатит

Sab0
26.07.2018
11:29:28
лан, это я сам проверю. спасиб!

Tishka17
26.07.2018
11:29:34
На телефонах - дело не в браузере, а в клиенте

Sab0
26.07.2018
11:29:56
все супер тогда

Tishka17
26.07.2018
11:30:03
Хз

Бензофуран
26.07.2018
11:32:57
Кстати, народ, никто не прирекомендует либу для асинхронной работы с базой данных SQL?

Sab0
26.07.2018
11:36:39
На телефонах - дело не в браузере, а в клиенте
работает на винде маке и андроиде с яблоком. только как еще сделать чтобы помимпо редиректа он еще оставался на сайте. тоже как у туду. там если посмотреть, помимо всего на фоне реклама

Tishka17
26.07.2018
11:37:17
asyncpg
Для оракла так и не завезли?

Страница 6033 из 9768