
тнн Itjunky
15.04.2017
10:57:05
Ну и 504 таймаут выдаёт nginx =(
https://codepaste.net/6ox5ig

Alex
15.04.2017
11:05:02
Немного оффтопа. На сообразительность. Я всегда задавался вопросом: как черепашки-ниндзя в панцире через маленький люк пролазят? Вот это реально серьезный вопрос.

Скрудж
15.04.2017
11:08:36

Google

Проксимов
15.04.2017
11:10:41

Vasiliy
15.04.2017
11:19:57
https://youtu.be/aqW5upASa-8

тнн Itjunky
15.04.2017
11:22:41
лучше б подсказали про
SystemError: ../Objects/listobject.c:245: bad argument to internal function

Igor
15.04.2017
11:28:08

Pavel
15.04.2017
11:37:03

тнн Itjunky
15.04.2017
11:37:34

Pavel
15.04.2017
11:37:57
threaded: True/False (default True). A flag to indicate whether TeleBot should execute message handlers on it's polling Thread.
и кстати, отправка сообщений в телеграм - это один http get запрос, который можно сделать вообще чем угодно, хоть requests, хоть urllib, хоть curl из консоли дёрнуть.

тнн Itjunky
15.04.2017
11:41:13

Artyom
15.04.2017
11:57:38
Может кто подсказать по put для рестапи?
Делаю put
r = requests.put(self.url+f"task/123", auth=self.auth, json =js, headers=self.headers)
json кладу как в доке к апи указано:
js = json.dumps({"Field1": "Value"})
, в ответ получаю
{'Message': 'Не удалось обновить заявку. Причина: "string" не содержит определения для "Id"'}
Может я как-то координально не так работаю с путом? геты и посты норм уходят

Igor
15.04.2017
11:59:17
хз, посмотри заголовки и отправляемое содержимое и попробуй другим клиентом (курлом например)

Artyom
15.04.2017
12:02:42
ну, заголовок 'Content-Type: application/json'. Или что-то другое должно быть?

Google

Igor
15.04.2017
12:03:06
не, в смысле целиком содержимое http запроса посмотри
потом попробуй добиться успешного put-запроса другим клиентом (curl как вариант; почитай доку по этому апи, наверняка есть примеры)
потом сравни то, че отправляется на сервер
будет понятно, чего не хватает/чего делаешь не так
но то, что ты получаешь в ответ - это ошибка, возвращаемая самой API
а мы без понятия, что это за API, поэтому лучше спрашивать его разработчиков *)

Artyom
15.04.2017
12:04:32

Дмитрий
15.04.2017
12:04:38
Есть хорошее приложение Postman. Можно через него запросы делать к апи, чтобы проверять запрос ответ

Igor
15.04.2017
12:04:41
ну так мы тем более не понимаем!

Artyom
15.04.2017
12:05:08
ну, хедеры вроде норм
{'user-agent': 'test', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Type': 'application/json', 'Content-Length': '27', 'Authorization': 'Basic Ym90OnVkMTI'}

Igor
15.04.2017
12:05:57

Дмитрий
15.04.2017
12:06:05
Может я не прав, но ответ похож на ответ апи. Т.е. скрипт норм, а вот в бади не те данные путишь и сервер в ответ ругается

Igor
15.04.2017
12:06:10
ты делаешь json.dumps(), а потом кладешь это в параметp json?
может requests ожидает нормальный питоний объект, а не строку?
и сам уже там делает dumps
я бы ожидал такого поведения от requests
это удобно
requests.put('http://example.com', json={'govno': 'foobar'})

Artyom
15.04.2017
12:07:16

Google

Artyom
15.04.2017
12:07:32
реквестст не делает так, помоему, ща проверю, но вроде тестил уже

Igor
15.04.2017
12:07:47
> Instead of encoding the dict yourself, you can also pass it directly using the json parameter (added in version 2.4.2) and it will be encoded automatically:
>>> url = 'https://api.github.com/some/endpoint'
>>> payload = {'some': 'data'}
>>> r = requests.post(url, json=payload)

Дмитрий
15.04.2017
12:07:57

Artyom
15.04.2017
12:08:47
хммм
передал в json просто словарь, апишка ответла, по доке она должна отдать измененный объект, но отдаёт без изменений, почему то, лан, буду рыть дальше
спаасибо, ребят

Igor
15.04.2017
12:11:32

slalus
15.04.2017
12:11:40
Вилкой в глаз

Igor
15.04.2017
12:11:46
иль в жопу раз

slalus
15.04.2017
12:11:48
....

Igor
15.04.2017
12:11:58
извините

Artyom
15.04.2017
12:12:06
просто через веб интерфейс это все меняется норм, а через апи не могу(врядли же веб работает не через этоже апи)
поэтому и возник резонныый вопрос а не я ли хрень тварю)

Igor
15.04.2017
12:13:08
ну посмотри в dev tools браузера, че как отправляется, и сравни с реквестом, отправляемым requests
хедеры, тело, вот это все

Artyom
15.04.2017
12:13:50
кстати да
чот вообще не подумал

Дмитрий
15.04.2017
12:18:49
Postman, кстати, умеет запрос в языки импортировать. В питон в том числе

Andjelx
15.04.2017
13:36:13
@Enchantner спасибо за asyncio я заодно и с торнадой разобрался. c io есть один вопрос, но я ещё покурю

Google

Nikolay
15.04.2017
14:25:23
Есть ли какие-то библиотеки для веб, с помощью которых можно загрузить изображение из буфера обмена на сайт ? Примерно как на imgur.com можно загрузить нажав ctrl+v. Вроде PIL.ImageGrab.grabclipboard()

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

Nikolay
15.04.2017
14:37:58

Admin
ERROR: S client not available

Маришка
15.04.2017
14:39:59

Nikolay
15.04.2017
14:40:01
http://jsfiddle.net/6yocdszm/
Вот тут интересный пример есть на js...

Pavel
15.04.2017
14:42:59

Nikolay
15.04.2017
14:45:56

Pavel
15.04.2017
14:48:13

Alex
15.04.2017
15:04:27
Тут было что-то про uwsgi. Может не в тему, но вдруг кому понадобится http://specialistoff.net/question/327

Ruslan
15.04.2017
15:09:51
что-то под вечер уже туплю... надо распарсить урлы rest во вложенные словари
т.е. при наличии
GET /api/v1/action -> ep1 и POST /api/v1/action -> ep2
надо генерировать {'api': {'v1': {'action': {'GET': ep1, 'POST': ep2}}}}
толкните в правильном направлении
могу пройтись по списку уролов и сделать split('/'), собрать... но может ещё есть варианты

Maxim robox
15.04.2017
15:33:35
Хотя если у тебя урлы именно в таком виде /api/v1/action, то и urllib не нужен. Тогда да, split('/').

Проксимов
15.04.2017
16:59:42
@upppi @serbernar @zagrebelin спам/useless bot

Pavel
15.04.2017
17:00:10

Google

Pavel
15.04.2017
17:00:25
Gracias!

Igelko
15.04.2017
17:06:41
Gracias!
я так понимаю надо и юзера этого прикопать, что бот втащил

Miroslav
15.04.2017
17:08:34
Привет, народ. Скажите, пожалуйста, корректно ли будет отлавливать исключения в конструкторе класса или же лучше отлавливать их в момент создания объекта?

Il'ya
15.04.2017
17:16:38
Мужики, есть кто из администраторов?
@kezvision - Человека по ошибке забанили. >_>

Igor
15.04.2017
17:20:44
я 3 дня не спал под спидами и теперь у меня глюки

Igor
15.04.2017
17:21:59
ты перепутал интернет-магазин наркоты с чатом по питону

I
15.04.2017
17:23:17
йоу-йоу, спиды - это плохо, каннабис - это хорошо
говорю как человек, который работает в конторе, продающей это

Igor
15.04.2017
17:23:39
товарищ майор, перелогиньтесь

Al
15.04.2017
17:23:39

Ivan
15.04.2017
17:29:41
Имеется следующий дискуссионный вопрос. Предположим, у нас имеется класс и один из методов устанавливает его атрибут:
class Foo(object):
def __init__(self):
self.a = 'lol'
def meth(self):
self.b = 'bol'
Описываете ли вы в конструкторе класса все атрибуты, которые будут когда-либо будут (или могут быть) созданы методами этого класса? Т.е делаете ли вы нечто вроде:
class Foo(object):
def __init__(self):
self.a = 'lol'
self.b = ''
def meth(self):
self.b = 'bol'

тнн Itjunky
15.04.2017
17:30:46