
Tigran
02.11.2018
15:05:37
во втором питоне нужно в юникод сконвертить, наверное

Vasiliy
02.11.2018
15:05:38
в данном случае 2.7
да, это 2.7, значит мой косяк

Tigran
02.11.2018
15:06:04

Google

Vasiliy
02.11.2018
15:06:25
ок, спасибо

Andrew
02.11.2018
15:25:45
друзья, кто-то разбирается в вебсокетах?
я пытаюсь подключиться к опеределенному сайту и получаю вот такую ошибку
https://i.imgur.com/rkHV5VG.png
второй день не могу понять в чем проблема
помогите христа ради

Sergey
02.11.2018
15:33:47
Всем привет.
Работаю с дата-фрэйм пандас. В ячейках указаны коды. Я прохожу циклом по колонкам, и если тип колонки подходит под мои условия, то захожу в колонку и перебираю ячейки этой колонки, подставляя вместо кода текстовое значение из другого списка. Т.е. если в ячейке было допустим "1" подставляю "ф", если "2" - "е" и т.д.
Пока работаю на маленьком дата-фрэйме (300 колонок, 1000 записей), всё шикарно. Проблема начинается, если дата-фрэйм становится более-менее большим - те же 300 колонок при 50.000 записей просчитываются почти час.
Можно как-то написать чтобы проставлялась сразу вся колонка, а не конкретная ячейка?

Andrew
02.11.2018
15:34:57

Donaudampf
02.11.2018
15:35:58

Sergey
02.11.2018
15:36:44

Donaudampf
02.11.2018
15:40:05

Alex
02.11.2018
15:42:05

Andrew
02.11.2018
15:42:33

Alex
02.11.2018
15:43:12


Andrew
02.11.2018
15:43:39
Нужно код смотреть
стандартный код с гитхаба
import websocket
try:
import thread
except ImportError:
import _thread as thread
import time
def on_message(ws, message):
print(message)
def on_error(ws, error):
print(error)
def on_close(ws):
print("### closed ###")
def on_open(ws):
ws.send("[{\"t\":2,\"e\":4,\"uuid\":\"JNZAPTPWM4L9AGW579\",\"d\":[{\"p\":\"EURUSD\",\"tf\":1}]}]")
if __name__ == "__main__":
websocket.enableTrace(True)
ws = websocket.WebSocketApp("wss://olymptrade.com/ds/v2",
header= {
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7",
"Cache-Control": "no-cache",
"Connection": "Upgrade",
"Pragma": "no-cache",
"Sec-WebSocket-Extensions": "permessage-deflate; client_max_window_bits",
"Sec-WebSocket-Key": "KCbxHBAi6DiBj4yU19jmnw==",
"Sec-WebSocket-Version": "13",
"Upgrade": "websocket",
"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"
},
on_message = on_message,
on_error = on_error,
on_close = on_close)
ws.on_open = on_open
ws.run_forever()


Donaudampf
02.11.2018
15:43:40

ivan
02.11.2018
15:44:02
Хэлп. Мб есть какой-то способ это по-умному сделать?
https://gist.github.com/ivanpashnev/7d9d84580c8198bbd4d3b65c4a973c88

Google


Alex
02.11.2018
15:44:30
стандартный код с гитхаба
import websocket
try:
import thread
except ImportError:
import _thread as thread
import time
def on_message(ws, message):
print(message)
def on_error(ws, error):
print(error)
def on_close(ws):
print("### closed ###")
def on_open(ws):
ws.send("[{\"t\":2,\"e\":4,\"uuid\":\"JNZAPTPWM4L9AGW579\",\"d\":[{\"p\":\"EURUSD\",\"tf\":1}]}]")
if __name__ == "__main__":
websocket.enableTrace(True)
ws = websocket.WebSocketApp("wss://olymptrade.com/ds/v2",
header= {
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7",
"Cache-Control": "no-cache",
"Connection": "Upgrade",
"Pragma": "no-cache",
"Sec-WebSocket-Extensions": "permessage-deflate; client_max_window_bits",
"Sec-WebSocket-Key": "KCbxHBAi6DiBj4yU19jmnw==",
"Sec-WebSocket-Version": "13",
"Upgrade": "websocket",
"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"
},
on_message = on_message,
on_error = on_error,
on_close = on_close)
ws.on_open = on_open
ws.run_forever()
Ебать, скинь на пасту
Кровь из глаз


Andrew
02.11.2018
15:44:45
headers я вот только что пробовал, они никакой роли не играют
на c# проблема точь в точь получается, тоже просто так закрывается, и стандартная библиотека, и библиотеки с гитхаба, с простыми сайтами из гугла проблем нет

Donaudampf
02.11.2018
15:45:41

Andrew
02.11.2018
15:45:45
и вот библиотека https://github.com/websocket-client/websocket-client

It'sMe
02.11.2018
15:47:22

ivan
02.11.2018
15:47:50

It'sMe
02.11.2018
15:48:08
можно наделать кучу инстансов а от какого именно вызвать

ivan
02.11.2018
15:49:27
От того инстанса, который инициализирует class1

It'sMe
02.11.2018
15:50:08

ivan
02.11.2018
15:50:48
Чорд
Ну, класс2 он же создаёт инстанс класса 1

Sergey
02.11.2018
15:50:51

ivan
02.11.2018
15:51:27
И когда у инстанса класса 1 был вызван метод, то нужно, чтобы у класса 2 сработал другой метод

It'sMe
02.11.2018
15:51:35

ivan
02.11.2018
15:52:39

It'sMe
02.11.2018
15:53:13

Google

Маришка
02.11.2018
15:53:23

Andrew
02.11.2018
15:53:40

It'sMe
02.11.2018
15:53:58
кажись я понял

ivan
02.11.2018
15:54:09
Посмотри гист ещё раз
Там внутри class2
def init(self):
self.class1 = Class1()

It'sMe
02.11.2018
15:55:03
так?

ivan
02.11.2018
15:55:16
Именно

It'sMe
02.11.2018
15:55:36
ну ты конечно вопрос поставил
мне в голову лезут только гетаттр, декораторы и дескрипторы
но сейчас не могу помочь

ivan
02.11.2018
15:59:03
Ну, это возможно хорошее решение

It'sMe
02.11.2018
15:59:03
может другой кто сможет

Andrew
02.11.2018
16:00:20

Kirill
02.11.2018
16:18:51

Andrew
02.11.2018
16:19:34

?
02.11.2018
16:19:37
как безопасно преобразовать строку "item.id"
в существующий item.id обьект?
то есть result = str_to_obj("item.id")

Andrew
02.11.2018
16:19:46

?
02.11.2018
16:19:59

Google

It'sMe
02.11.2018
16:20:08
Ну, это возможно хорошее решение
пока только такое
```
class Class1:
def method_a(self) :
pass
class Class2:
def getattr(self, attr):
if attr != "class1" : raise AttributeError
instance = Class1()
self.method_b()
return instance
# минусы: постоянно приходится создавать инстанс, сначала вызывается method_b а потом _method_a
def method_b(self)
pass
```

Andrew
02.11.2018
16:20:10

It'sMe
02.11.2018
16:20:32
но я его не проверял
не знаю будет ли работать

Admin
ERROR: S client not available

It'sMe
02.11.2018
16:21:28
оставлю это тебе

ivan
02.11.2018
16:22:35
Спасибо

It'sMe
02.11.2018
16:25:31
сначала будет вызван метод б а потом метод а
я исправил на работающий

Andrew
02.11.2018
16:27:12

Kirill
02.11.2018
16:31:38

Andrew
02.11.2018
16:32:37
поищу где косяяк
и вот так js соединение происходит
https://pastebin.com/TfswBy5A

Никита
02.11.2018
16:46:09
Установил python3.6.5 , пытаюсь сделать, чтобы вызывалось с помощью python3
не получается

Google

Никита
02.11.2018
16:47:02
что не так?

Andrew
02.11.2018
16:48:04

Никита
02.11.2018
16:48:06
вооот, почему-то питон поставился вот сюда
/usr/bin/python3
из исходников
ибо нужна строго версия 3.6.5

Tishka17
02.11.2018
16:50:37
А не проще из ius репозитория?
Да и в epel есть 3.6

Никита
02.11.2018
16:52:00
нужно, чтобы версия строго была 3.6.5

Tishka17
02.11.2018
16:52:05
Оо
Зачем?

Никита
02.11.2018
16:53:13
мне думается, что если я захордкодю версии пакетов, то смогу в любое время и в любом месте запустить свой проектик без напряга
а в процессе разработки я, конечно, буду добавлять реализацию через новые версии пакетов. но забывать про старые рабочие не хочется

mike
02.11.2018
16:54:41
@Fishman12 ищет тяночку

Никита
02.11.2018
16:54:41
это я говорю, как совсем начинающий делатель проектов. могу нести чушь, если скажите, как правильно, буду благодарен

Tishka17
02.11.2018
16:55:46
Эх. Чем 3.6.6 хуже 3.6.5? Они совместимы по api