QNAP поддерживает Entware. Так что вы можете просто игнорировать его стандартные возможности (и возникающие проблемы), добавить Entware и сделать всё так, как описано в заметке.
Исправлен баг с неверным формирование ссылки на торрент-файл, когда rutor отдаёт относительные ссылки на торрент-файлы, а не абсолютные.
Исправлен баг с неверным учётом сидеров, когда раздач одного типа больше двух.
Добавлена ссылка на страницу фильма в КиноПоиск (нажмите на рейтинг КиноПоиск).
Добавлен параметр USE_MAGNET. Использование Magnet-ссылок вместо ссылок на торрент-файлы — True, False. По умолчанию False.
Добавлен параметр SORT_TYPE. Тип финальной сортировки. rating — сортировка по рейтингу, releaseDate — сортировка по дате цифрового релиза релиза. По умолчанию rating.
19.03.2019:
Исправлен баг при парсинге страницы с торрентами.
Добавлена возможность выбора сортировки по дате появления торрентов — torrentsDate.
Добавлена загрузка цифровых релизов за дополнительные 7 дней после текущей даты, т.к. иногда цифровой релиз появляется немного раньше официальной даты.
С данными всё хорошо. И исходный JSON, полученный от КиноПоиск, и сконвертированный словарь содержат верные данные. Вывод — проблема в работе функции strptime на вашей прошивке. В первую очередь стоит собрать и поставить самую последнюю версию прошивки.
Все нужные проверки есть. Не вижу практической пользы в вашем ответе человеку. Программа у человека упала в момент releaseDate = datetime.datetime.strptime(releaseDateStr, "%Y-%m-%d").date(), т.к. произошла внутренняя ошибка в strptime (1) или releaseDateStr содержит неподдерживаемый символ (ошибка произошла в json.loads (2) или символ появился уже в ответе от КиноПоиск(3)).
Не может почему-то создать объект datetime из строки с датой releaseDateStr. Тут три варианта. Либо от ответе от КиноПоиск взялся какой-то левый символ в дате (маловероятно). Либо неправильно отрабатываются json.loads или datetime.strptime на конкретной прошивке. Добавьте в функции digitalReleases два вызова print после конвертации JSON:
if content:
tmpDict = json.loads(content)
print(content)
print(tmpDict)
Используется лишь одна сторонняя библиотека — pysocks, и только в том случае, когда нужен обход блокировок для rutor.info. Версия последняя, доступная через pip. Версия Python для программы от 3.6.x, более ранние не проверял.
У вас заблокирован rutor.info и не настроен глобальный обход блокировок. Вы указали адрес SOCKS-прокси, но сам модуль pysocks не установили (вы не можете какие пункты делать, а какие-то не делать из инструкции, и ожидать работосопособности):
Перед тем, как использовать SOCKS-прокси, вы должны его иметь (например, через Tor). Если у вас нет SOCKS-прокси, вам нужно найти инструкцию, как поднять Tor с SOCKS-прокси в Windows.
У вас КиноПоиск не заблокирован (например, в Украине)?
Возможно, именно в вашей ОС не работает функция os.urandom(). Но в Windows 10 должно работать без проблем. Попробуйте в main() удалить две первые строчки:
Могу лишь кратко расписать:
1). Установить Python 3.
2). Загрузить программу digitalreleases.py в любое удобное место. Заменить HTML_SAVE_PATH на путь, где следует сохранять файл releases.html. Например HTML_SAVE_PATH = r«C:\Users\Yuri\releases.html».
3). Запустить её один раз с помощью Командной строки «python C:\ПУТЬ\digitalreleases.py».
3). С помощью планировщика заданий в ОС Windows (детальных статей о нём много) настроить ежедневный (в определённое время) запуск «python C:\ПУТЬ\digitalreleases.py»
4). Сделать закладку в браузере «file:///C:/ПУТЬ/releases.html». Например, «file:///C:/Users/Yuri/releases.html».
В torrc добавить:
VirtualAddrNetwork 10.254.0.0/16
DNSPort 127.0.0.1:9053
AutomapHostsOnResolve 1
В dnsmasq.conf добавить:
server=/onion/127.0.0.1#9053
ipset=/onion/unblock
19.03.2019:
2. Баг исправлен в обновлённой версии.
Будет:
16:13 17.03.2019: Загружены ID от 73 релизов.
Станет понятнее, что происходит до ошибки.
socks.set_default_proxy(socks.pip install --upgrade --user pip setuptools5, SOCKS_IP, SOCKS_PORT)
или
Перед тем, как использовать SOCKS-прокси, вы должны его иметь (например, через Tor). Если у вас нет SOCKS-прокси, вам нужно найти инструкцию, как поднять Tor с SOCKS-прокси в Windows.
Попробуйте установить самую свежую версию 3.7.2. В подверсиях 3.x были какие-то особенности с format.
Возможно, именно в вашей ОС не работает функция os.urandom(). Но в Windows 10 должно работать без проблем. Попробуйте в main() удалить две первые строчки:
Будут использоваться статические значения KINOPOISK_UUID и KINOPOISK_CLIENTID, заданные в самом начале файла.
1). Установить Python 3.
2). Загрузить программу digitalreleases.py в любое удобное место. Заменить HTML_SAVE_PATH на путь, где следует сохранять файл releases.html. Например HTML_SAVE_PATH = r«C:\Users\Yuri\releases.html».
3). Запустить её один раз с помощью Командной строки «python C:\ПУТЬ\digitalreleases.py».
3). С помощью планировщика заданий в ОС Windows (детальных статей о нём много) настроить ежедневный (в определённое время) запуск «python C:\ПУТЬ\digitalreleases.py»
4). Сделать закладку в браузере «file:///C:/ПУТЬ/releases.html». Например, «file:///C:/Users/Yuri/releases.html».