Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Nikita Zhiltsov
@nzhiltsov
вы как выводите status?
print status ничего интересного не возвращает мне
Radik Fattakhov
@radik
Не совсем понял. Можно пример кода?
Nikita Zhiltsov
@nzhiltsov
а вот getattr(status, 'message')
просто хотел посмотреть что же вернул сервер в объекте
getattr(status, 'status_code')
Radik Fattakhov
@radik
А пробовали пример из репозитория запустить?
Nikita Zhiltsov
@nzhiltsov
вот сейчас увидел
The service is operating normally
(u'957e4141-2757-4e29-aca1-e727fd4d810c', u'IN_PROGRESS')
(u'957e4141-2757-4e29-aca1-e727fd4d810c', u'IN_PROGRESS')
Traceback (most recent call last):
File "examples/ex01.py", line 25, in <module>
batch = api.entity_retrieve([batch_status.batch_id])
File "/Library/Python/2.7/site-packages/textocat/api.py", line 226, in entity_retrieve
raise_by_http_code(r.status_code)
File "/Library/Python/2.7/site-packages/textocat/exceptions.py", line 102, in raise_by_http_code
raise exceptshttp_code
textocat.exceptions.UnsupportedInputException: Unsupported input
Radik Fattakhov
@radik
Все верно, ошибки нет. Сервис не успел обработать документ и для документа в статусе IN_PROGRESS возвращает response с кодом 406, что соответствует UnsupportedInputException
Если через некоторое время попробовать запросить документ по id, то ответ нормальный и можно получить результат
В ex01.py есть комментарий перед вызовом этого метода
# Retrieve recognized doc
# Probably you should wait before call this to give the service time for entity recognition
batch = api.entity_retrieve([batch_status.batch_id])
Возможно стоит изменить пример, чтобы было понятнее
Nikita Zhiltsov
@nzhiltsov
может попробуете реализовать логику из нашего java sdk? там этот момент учтен
а то будет трудно работать, надо все равно периодически проверять готовность
там тоже сейчас неидеально через Thread.sleep, лучше timer, но принцип тот же: подождать и проверить, и так пока не закончил, можно выскочить по timeout в идеале
Radik Fattakhov
@radik
Да, могу реализовать аналог waitUntilCompleted, проблем нет. На самом деле, я видел эту реализацию, но мне не понравилось блокирование потока при помощи while(true) , поэтому оставил это совесть тех, кто будет использовать python-sdk
Nikita Zhiltsov
@nzhiltsov
это да, пока не идеально
в целом наш sdk вызывается через google guava future
Radik Fattakhov
@radik
Например, в случае, если у вас появится новый статус документа ( ERROR или что-нибудь другое), те, кто использует старую версию java-sdk столкнуться с тем, что у них приложение будет подвисать
Nikita Zhiltsov
@nzhiltsov
так что там не блокируется основной поток программы
это все понятно, ну мы будем улучшать: пока для скорости выкатили, что быстро сделать
Radik Fattakhov
@radik
Да, конечно. Сам в стартапе работаю, так что все понимаю. Будет время, добавлю на неделе
Nikita Zhiltsov
@nzhiltsov
ок, в целом - неплохо - спасибо, мы дадим почтовую рассылку по вашему sdk
возможно, народ подключится и сделает pull requests
Radik Fattakhov
@radik
Хорошо, спасибо
Nikita Zhiltsov
@nzhiltsov
вам спасибо