Pull to refresh
167
8
Юрий Юрьев @Kyrie1965

Пользователь

Send message
21.03.2019:

  • Исправлен учёт и отображение рейтинга, когда рейтинг КиноПоиск отсутствует.
Кратко (получится у вас это или нет, зависит только от ваших навыков)…

В 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
QNAP поддерживает Entware. Так что вы можете просто игнорировать его стандартные возможности (и возникающие проблемы), добавить Entware и сделать всё так, как описано в заметке.
18.03.2019:

  • Исправлен баг с неверным формирование ссылки на торрент-файл, когда rutor отдаёт относительные ссылки на торрент-файлы, а не абсолютные.
  • Исправлен баг с неверным учётом сидеров, когда раздач одного типа больше двух.
  • Добавлена ссылка на страницу фильма в КиноПоиск (нажмите на рейтинг КиноПоиск).
  • Добавлен параметр USE_MAGNET. Использование Magnet-ссылок вместо ссылок на торрент-файлы — True, False. По умолчанию False.
  • Добавлен параметр SORT_TYPE. Тип финальной сортировки. rating — сортировка по рейтингу, releaseDate — сортировка по дате цифрового релиза релиза. По умолчанию rating.


19.03.2019:

  • Исправлен баг при парсинге страницы с торрентами.
  • Добавлена возможность выбора сортировки по дате появления торрентов — torrentsDate.
  • Добавлена загрузка цифровых релизов за дополнительные 7 дней после текущей даты, т.к. иногда цифровой релиз появляется немного раньше официальной даты.
1. Можете самостоятельно переделать в коде кнопки со ссылками на что угодно.
2. Баг исправлен в обновлённой версии.
Измените вывод print там, где вам нужно. Например:
print(datetime.datetime.now().strftime("%H:%M %d.%m.%Y") + ": Загружены ID от {} релизов.".format(len(rDict)))

Будет:
16:13 17.03.2019: Загружены ID от 73 релизов.
С данными всё хорошо. И исходный 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, более ранние не проверял.
Заверните, сделайте, поделитесь здесь в комментариях с инструкцией. В чём сложность?
Я не знаю, откуда вы это взяли. В коде нет строки:
socks.set_default_proxy(socks.pip install --upgrade --user pip setuptools5, SOCKS_IP, SOCKS_PORT)
Это команды для Командной строки.
У вас заблокирован rutor.info и не настроен глобальный обход блокировок. Вы указали адрес SOCKS-прокси, но сам модуль pysocks не установили (вы не можете какие пункты делать, а какие-то не делать из инструкции, и ожидать работосопособности):

pip install --upgrade pip setuptools
pip install pysocks

или

pip install --upgrade --user pip setuptools
pip install pysocks

Перед тем, как использовать SOCKS-прокси, вы должны его иметь (например, через Tor). Если у вас нет SOCKS-прокси, вам нужно найти инструкцию, как поднять Tor с SOCKS-прокси в Windows.
Версия Python у вас какая (python -V)?

Попробуйте установить самую свежую версию 3.7.2. В подверсиях 3.x были какие-то особенности с format.
У вас КиноПоиск не заблокирован (например, в Украине)?

Возможно, именно в вашей ОС не работает функция os.urandom(). Но в Windows 10 должно работать без проблем. Попробуйте в main() удалить две первые строчки:

KINOPOISK_UUID = binascii.b2a_hex(os.urandom(16))
KINOPOISK_CLIENTID = binascii.b2a_hex(os.urandom(12))

Будут использоваться статические значения 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».

Information

Rating
641-st
Location
Абу Даби, Абу Даби, О.А.Э.
Date of birth
Registered
Activity

Specialization

Project Manager, Product Manager
Lead