Tem Опубликовано 9 марта, 2015 · Жалоба Теперь так: Traceback (most recent call last): File "zapret_checker.py", line 7, in <module> from zapretinfo import ZapretInfo File "/zapret/zapretinfo.py", line 7, in <module> import suds ImportError: No module named suds Установите python-suds Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lcgc Опубликовано 9 марта, 2015 · Жалоба >> Обычно 5-10 минут хватает на обработку запроса. по моей статистике, время на получение каждой выгрузки - от 5 до 30 минут (у меня начальное 5-минутное ожидание и максимум 10 попыток с 5-минутными интервалами) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ayf Опубликовано 9 марта, 2015 (изменено) · Жалоба Теперь так: Traceback (most recent call last): File "zapret_checker.py", line 7, in <module> from zapretinfo import ZapretInfo File "/zapret/zapretinfo.py", line 7, in <module> import suds ImportError: No module named suds Установите python-suds Спасибо, скрипт стартанул. Но в выгрузке вот что: 2015-03-09 13:24:13,627 Starting script. 2015-03-09 13:24:13,627 Check if dump.xml already exists. 2015-03-09 13:24:13,627 dump.xml does not exist 2015-03-09 13:24:13,627 Check if dump.xml has updates since last sync. 2015-03-09 13:24:13,705 dump.xml has changed. 2015-03-09 13:24:13,705 Sending request. 2015-03-09 13:24:13,743 Checking request status. 2015-03-09 13:24:13,743 Got code f970b093eba9ba2fdda42cdc83bfbce9 2015-03-09 13:24:13,744 Trying to get result... 2015-03-09 13:24:13,777 Not ready yet. Waiting for a minute. 2015-03-09 13:25:13,778 Trying to get result... 2015-03-09 13:25:13,810 Not ready yet. Waiting for a minute. 2015-03-09 13:26:13,811 Trying to get result... 2015-03-09 13:26:14,062 неко▒~@▒~@ек▒~Bное зна▒~Gение Э▒~_ (ин▒~Dо▒~@ма▒~Fи▒~O по об▒~@а▒~Bной ▒~Aв▒~Oзи дл▒~O ▒~@аз▒~@е▒~Hен▒ 2015-03-09 13:26:14,062 Script stopped. Какое-то некорректное значение чего-то... это когда в UTF-8 смотришь. Если в KOI, то вообще нечитаемо. Дважды получил такое: Traceback (most recent call last): File "zapret_checker.py", line 57, in <module> if max(session.getLastDumpDateEx().lastDumpDate, session.getLastDumpDateEx().lastDumpDateUrgently) / 1000 <> fromFile: File "/zapret/zapretinfo.py", line 25, in getLastDumpDateEx result = client.service.getLastDumpDateEx() File "/usr/local/lib/python2.7/site-packages/suds/client.py", line 542, in __call__ return client.invoke(args, kwargs) File "/usr/local/lib/python2.7/site-packages/suds/client.py", line 602, in invoke result = self.send(soapenv) File "/usr/local/lib/python2.7/site-packages/suds/client.py", line 649, in send result = self.failed(binding, e) File "/usr/local/lib/python2.7/site-packages/suds/client.py", line 708, in failed raise Exception((status, reason)) Exception: (408, u'Request Timeout' Изменено 9 марта, 2015 пользователем ayf Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sanitar666 Опубликовано 9 марта, 2015 (изменено) · Жалоба sanitar666, вы скрипт скачали или текст скопировали? Это ж питон, в нем отступы играют роль. Благодарю, уважаемый телепат ) 2015-03-09 13:26:14,062 неко▒~@▒~@ек▒~Bное зна▒~Gение Э▒~_ (ин▒~Dо▒~@ма▒~Fи▒~O по об▒~@а▒~Bной ▒~Aв▒~Oзи дл▒~O ▒~@аз▒~@е▒~Hен▒ там написано Некорректное значение ЭП - это говорит о том, что у вас есть расхождение между подписанным файлом и файлом запроса. Вы возможно изменили файл request.xml после подписания, вот хэш и не сходится. И похоже файл у вас UTF8. Изменено 9 марта, 2015 пользователем sanitar666 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
azhur Опубликовано 9 марта, 2015 · Жалоба Вы возможно изменили файл request.xml после подписания, вот хэш и не сходится. А возможно файл где-то по дороге в текстовом режиме скопировался. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ayf Опубликовано 9 марта, 2015 (изменено) · Жалоба там написано Некорректное значение ЭП - это говорит о том, что у вас есть расхождение между подписанным файлом и файлом запроса. Вы возможно изменили файл request.xml после подписания, вот хэш и не сходится. И похоже файл у вас UTF8. <?xml version="1.0" encoding="windows-1251"?> <request> <requestTime>2014-11-07T13:35:33.000+04:00</requestTime> <operatorName></operatorName> <inn></inn> <ogrn></ogrn> <email></email> </request> Запрос у меня такой, ну за исключением стертых ПД :) Надо что-то менять? В ручном режиме все проходит. Хм... а я что-то не нашел, как там скачивать. Всё копировал. Для скачивания региться надо? Изменено 9 марта, 2015 пользователем ayf Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ansy Опубликовано 10 марта, 2015 (изменено) · Жалоба У кого-нибудь выгрузка с ОСНОВНОГО ресурса идет уже в формате 2.1? А то ругается, хочет 2.0.... а вроде бы уже 10-е марта? yegorov-p, спасибо за добавление параметров к вашему замечательному питонячьему скрипту -- теперь при смене настроек в него лазить руками практически не надо. Хотелось бы реквестнуть еще один ключик -- НЕ распаковывать архивы, а только сохранять result.zip, как получено. Причины: имена создаваемых дамп-каталогов (дата и время) с учетом непрогнозируемой задержки выгрузок получаются случайными (минуты-секунды). Это усложняет автоматическую их обработку, которую часто проще делать СРАЗУ ЖЕ по получении архива со стандартным именем. А после переименовать для хранения, добавив дату-время в хвост -- не проблема. размер распакованных архивов плавно начинает превышает приличные рамки, за 2 мегабайта некомпактного XML-текста. На мелких девайсах с флэш-памятью рискуем неожидано огрести неприятный отказ по забитию дискового пространства. хранить СТАРЫЕ архивы распакованными большого смысла скорее всего нет. И распаковать нужное при нужде недолго и просто. И один хинт. Если в журнале работы скрипта ничего не поменяется, то фильтр по слову "Got" выдает из него только самые существенные строки -- когда, по какому запросу и насколько успешно получена выгрузка. P.S. Размер и контрольную сумму полученного архива желательно бы туда же, в лог "Got it!". Чтоб понимать, что именно получено. Изменено 10 марта, 2015 пользователем Ansy Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MrNv Опубликовано 10 марта, 2015 · Жалоба Ansy с 11 часов по МСК будет 2.1 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ansy Опубликовано 10 марта, 2015 · Жалоба Ansy с 11 часов по МСК будет 2.1 Точно, по МСК же время... Вручную скачивание предлагает ТОЛЬКО формата 2.1, слить получилось! А вот скрипт обломился :( срочно ищу косяк. Смена явного указания формата с 2.0 на 2.1 не помогает. Вываливает: Traceback (most recent call last): File "./zapret_checker.py", line 67, in <module> request = session.getResult(code) File "/home/ansy/zapret/zapretinfo.py", line 70, in getResult result = client.service.getResult(code) File "build/bdist.linux-i686/egg/suds/client.py", line 539, in __call__ File "build/bdist.linux-i686/egg/suds/client.py", line 598, in invoke File "build/bdist.linux-i686/egg/suds/client.py", line 627, in send File "build/bdist.linux-i686/egg/suds/client.py", line 659, in succeeded File "build/bdist.linux-i686/egg/suds/bindings/binding.py", line 151, in get_reply File "build/bdist.linux-i686/egg/suds/bindings/binding.py", line 204, in replycomposite Exception: <operatorName/> not mapped to message part mv: cannot stat ‘result.zip’: No such file or directory Куды копать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Tem Опубликовано 10 марта, 2015 · Жалоба Точно, по МСК же время... Вручную скачивание предлагает ТОЛЬКО формата 2.1, слить получилось! А вот скрипт обломился :( срочно ищу косяк. Смена явного указания формата с 2.0 на 2.1 не помогает. Вываливает: Traceback (most recent call last): File "./zapret_checker.py", line 67, in <module> request = session.getResult(code) File "/home/ansy/zapret/zapretinfo.py", line 70, in getResult result = client.service.getResult(code) File "build/bdist.linux-i686/egg/suds/client.py", line 539, in __call__ File "build/bdist.linux-i686/egg/suds/client.py", line 598, in invoke File "build/bdist.linux-i686/egg/suds/client.py", line 627, in send File "build/bdist.linux-i686/egg/suds/client.py", line 659, in succeeded File "build/bdist.linux-i686/egg/suds/bindings/binding.py", line 151, in get_reply File "build/bdist.linux-i686/egg/suds/bindings/binding.py", line 204, in replycomposite Exception: <operatorName/> not mapped to message part mv: cannot stat ‘result.zip’: No such file or directory Куды копать? У меня последняя версия скрипта с https://github.com/yegorov-p/python-zapret-info сама качает 2.1 без всяких правок с моей стороны "2015-03-10T09:19:00+03:00" formatVersion="2.1"> Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
smiler999 Опубликовано 10 марта, 2015 · Жалоба А вот скрипт обломился :( срочно ищу косяк. Смена явного указания формата с 2.0 на 2.1 не помогает. Вываливает: Traceback (most recent call last): File "./zapret_checker.py", line 67, in <module> request = session.getResult(code) File "/home/ansy/zapret/zapretinfo.py", line 70, in getResult result = client.service.getResult(code) File "build/bdist.linux-i686/egg/suds/client.py", line 539, in __call__ File "build/bdist.linux-i686/egg/suds/client.py", line 598, in invoke File "build/bdist.linux-i686/egg/suds/client.py", line 627, in send File "build/bdist.linux-i686/egg/suds/client.py", line 659, in succeeded File "build/bdist.linux-i686/egg/suds/bindings/binding.py", line 151, in get_reply File "build/bdist.linux-i686/egg/suds/bindings/binding.py", line 204, in replycomposite Exception: <operatorName/> not mapped to message part mv: cannot stat ‘result.zip’: No such file or directory Куды копать? аналогичная беда Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ixi Опубликовано 10 марта, 2015 · Жалоба Exception: <operatorName/> not mapped to message part rm /tmp/suds/* Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
yegorov-p Опубликовано 10 марта, 2015 · Жалоба Таак, разбираемся. Да, This exception actually means that the answer from SOAP-service contains tag <faultcode>, which doesn't exist in the WSDL-scheme of the service. Keep in mind that suds library caches the WSDL-scheme, that is why the problem may occur if the WSDL-scheme was changed recently. Then the answers match the new scheme, but are verified by the suds-client with the old one. In this case rm /tmp/suds/* will help you. ixi, спасибо Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
yegorov-p Опубликовано 10 марта, 2015 · Жалоба Ansy, уточню реквест: имеется в виду - не сохранять архивные дампы вообще? Про размер и контрольную сумму понял, интересно, сделаю. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
YuryD Опубликовано 10 марта, 2015 · Жалоба Есть там засада :) С утра выдавал formatVersion="2.1" но в моём запросе был явно прописан 2.0. С 13МСК сломалось - поправил в перловском скрипте версию выгрузки на 2.1 - всё пошло. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ansy Опубликовано 10 марта, 2015 · Жалоба Exception: <operatorName/> not mapped to message part rm /tmp/suds/* Алилуйя! :) Заработало! Кстати, совершенно неочевидный ход, наверное даже для среднего Python-разработчика... а для НЕпитонщиков так и вообще магия. Отсюда вопросы: Если это общий случай, то когда применять очистку /temp/suds/ ? При следующей смене схемы получения документа? При каждом изменении "на всякий случай"? В любой момент глюка? Не вредно ли вообще это делать, хотя бы не во время процесса закачки, конечно? Куда лучше вставить операцию очистки? В сам питонячий скрипт перед запросом, полагаю, нежелательно. А в вышележащий -- свой, вызывающий? Это чтобы не забыть в следующий раз -- где-то надо отложить, зафиксировать решение. Если скрипт сам изнутри себя способен отследить и пофиксить подобную засаду, то +1 фичреквест... или это багреквест? А вообще, конечно, с передачей всей этой шняги более технически подкованному ГРЧЦ хотелось бы уже выгружать по HTTPS и пользовать штатные функции типа wget/curl/... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ansy Опубликовано 10 марта, 2015 · Жалоба Ansy, уточню реквест: имеется в виду - не сохранять архивные дампы вообще? Вот тут затрудняюсь, пусть народ подскажет. Для разбора полученного архива я использую ТЕКУЩИЙ dump.xml. А после мне лично нетрудно сделать: mv result.zip result_`date +%Y%m%d-%H%M`.zip Но кому-то в другой ОС/окружении так не катит... Может быть, по дополнительному ключу класть стопочкой вот такие вот слегка переименованные архивы, без вложенного дерева каталогов? И кстати, имена файлов-каталогов с пробелами внутри приходится при обработке экранировать, поэтому IMHO удобнее хотя бы знак подчеркивания. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
YuryD Опубликовано 10 марта, 2015 · Жалоба А вообще, конечно, с передачей всей этой шняги более технически подкованному ГРЧЦ хотелось бы уже выгружать по HTTPS и пользовать штатные функции типа wget/curl/... Из облака ската можно и так забирать. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ayf Опубликовано 10 марта, 2015 · Жалоба Коллеги, подскажите, с чем все же связан такой вывод работы питонячьего скрипта: Traceback (most recent call last): File "zapret_checker.py", line 57, in <module> if max(session.getLastDumpDateEx().lastDumpDate, session.getLastDumpDateEx() .lastDumpDateUrgently) / 1000 <> fromFile: File "/zapret/zapretinfo.py", line 25, in getLastDumpDateEx result = client.service.getLastDumpDateEx() File "/usr/local/lib/python2.7/site-packages/suds/client.py", line 542, in __c all__ return client.invoke(args, kwargs) File "/usr/local/lib/python2.7/site-packages/suds/client.py", line 602, in inv oke result = self.send(soapenv) File "/usr/local/lib/python2.7/site-packages/suds/client.py", line 649, in sen d result = self.failed(binding, e) File "/usr/local/lib/python2.7/site-packages/suds/client.py", line 708, in fai led raise Exception((status, reason)) Exception: (408, u'Request Timeout') Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
yegorov-p Опубликовано 10 марта, 2015 · Жалоба С тем, что сайт РКНа падает. Ansy, кэш надо чистить каждый раз, когда обновляется схема. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pers123 Опубликовано 10 марта, 2015 · Жалоба Лурку по SSL блокируют. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
YuryD Опубликовано 10 марта, 2015 · Жалоба Лурку по SSL блокируют. так ведь врут, нету в реестре. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ansy Опубликовано 10 марта, 2015 (изменено) · Жалоба Лурку по SSL блокируют. так ведь врут, нету в реестре. Есть. Только не официальный домен. Кто-то короткий слил, который в зоне .re Подстроку "lurk" поищите в файле, найдется. P.S. Возможно это не то, что имелось ввиду, ибо открытый http. Зато аж 4 вхождения -- два IP и два URL. И у кого по IP или домену вдруг стало блочиться -- https тоже закроет, наверное отсюда и эффект? Изменено 10 марта, 2015 пользователем Ansy Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ayf Опубликовано 10 марта, 2015 · Жалоба С тем, что сайт РКНа падает. Пересоздал файл запроса и подписи. Все равно выдает вот то "некорректное значение". :( В ручном режиме все ок :( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
YuryD Опубликовано 10 марта, 2015 · Жалоба С тем, что сайт РКНа падает. Пересоздал файл запроса и подписи. Все равно выдает вот то "некорректное значение". :( В ручном режиме все ок :( Видимо они стали проверять параметры запроса version-id. Я уже отписался - выпала одна выгрузка, поправил версию на 2.1 - всё работает, но у меня perl... Версия не в коде запроса, а в самом запросе - доппараметр. Для перла примерно так my @sendresult = $service->sendRequest $xmlreq, $xmlreqsig, "2.1" ); Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...