Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины.
   

Вернуться   Форум XBMC и Kodi. Помощь, поддержка, обсуждение, плагины. > Помощь и поддержка > Помощь по плагинам

Ответ
 
Опции темы Опции просмотра
Старый 11.10.2018, 15:34   #1
lyxstv
Member
 
Аватар для lyxstv
 
Регистрация: 02.04.2018
Сообщений: 94
По умолчанию Торрент движок LTorrentEngine

Представляю новый торрент движок.

Это первая ознакомительная версия. Пока минимум возможностей и максимум багов)

Движок не содержит бинарников, все написано на чистом питоне, все библиотеки идут в комплекте, необходим только питон 2.7.
Очень не нравится ситуация что все движки это внешние бинарники.
Так же интересно разобраться со всем чисто академически)

Хотелось бы сосредоточится на написании движка, а не обвязки.
Если у кого-то возникнет желание ее написать буду очень благодарен.

Под спойлером, как с ним работать на данный момент.
Движок представляет веб интерфейс для взаимодействия с ним.
на порту 8888, настраивается в config.py.



Пока только работает загрузка торрента с диска, грузим торрент файл.
Движок дает ссылки для плеера на каждый файл в торренте, одновременно можно смотреть только 1 файл!



Отдаем ссылку например VLC и наслаждаемся...
По кнопке Engine status можно видеть что происходит внутри движка.




Сам движок.
ltorrentengine-0.0.1.zip
lyxstv вне форума   Ответить с цитированием
   
Старый 11.10.2018, 15:48   #2
TDW1980
Senior Member
 
Аватар для TDW1980
 
Регистрация: 21.06.2011
Сообщений: 2,915
По умолчанию

Хочу прикрутить к ТАМ. Хотелось бы JSON API.
__________________
Мой репозиторий: https://github.com/tdw1980/tdw/raw/master/repository.tdw1980-1.0.2.zip
Отблагодарить:
Master Card: 5331 5729 4236 1079
PayPal: http://paypal.me/tdw1980
TDW1980 вне форума   Ответить с цитированием
Старый 11.10.2018, 16:09   #3
lyxstv
Member
 
Аватар для lyxstv
 
Регистрация: 02.04.2018
Сообщений: 94
По умолчанию

json api есть
http_client это из самого движка, просто посмотри код, не нужно тянуть весь модуль.
Код:
from http_client import HTTPClient
import json
http_client = HTTPClient()
# передать торент движку, сейчас работают 3 способа url, file - путь к файлу, raw_data - данные торрента
print http_client.post_data('http://localhost:8888/api', json.dumps({'action': 'open_torrent', 'file': 'House.M.D.s01.rus.LostFilm.TV.torrent'}))
>>{"result": true, "info_hash": "6655cd4e802bd2187c6b7b9bd19665050d211fb2"}
# запросить список файлов, не обязательная процедура.
print http_client.post_data('http://localhost:8888/api', json.dumps({'action': 'get_file_list'}))
>>{"file_list": ["House.M.D.s01e22.rus.LostFilm.TV.avi", "House.M.D.s01e04.rus.LostFilm.TV.avi", "House.M.D.s01e15.rus.LostFilm.TV.avi", "House.M.D.s01e21.rus.LostFilm.TV.avi", "House.M.D.s01e17.rus.LostFilm.TV.avi", "House.M.D.s01e03.rus.LostFilm.TV.avi", "House.M.D.s01e19.rus.LostFilm.TV.avi", "House.M.D.s01e10.rus.LostFilm.TV.avi", "House.M.D.s01e13.rus.LostFilm.TV.avi", "House.M.D.s01e18.rus.LostFilm.TV.avi", "House.M.D.s01e16.rus.LostFilm.TV.avi", "House.M.D.s01e08.rus.LostFilm.TV.avi", "House.M.D.s01e07.rus.LostFilm.TV.avi", "House.M.D.s01e09.rus.LostFilm.TV.avi", "House.M.D.s01e14.rus.LostFilm.TV.avi", "House.M.D.s01e02.rus.LostFilm.TV.avi", "House.M.D.s01e11.rus.LostFilm.TV.avi", "House.M.D.s01e06.rus.LostFilm.TV.avi", "House.M.D.s01e20.rus.LostFilm.TV.avi", "House.M.D.s01e12.rus.LostFilm.TV.avi", "House.M.D.s01e05.rus.LostFilm.TV.avi", "House.M.D.s01e01.PROPER.rus.LostFilm.TV.avi"], "result": true}
После open_torrent можно сразу отдавать ссылку плееру.
Ссылка для плеера имеет следующий вид
Код:
http://localhost:8888/play/<info_hash>/<f_index>/<file_name>
Имя файла не обязательно, но можно указывать для плеера
Код:
http://localhost:8888/play/<info_hash>/<f_index>/
например для 0 го файла
Код:
http://localhost:8888/play/6655cd4e802bd2187c6b7b9bd19665050d211fb2/0/House.M.D.s01e22.rus.LostFilm.TV.avi
lyxstv вне форума   Ответить с цитированием
Старый 11.10.2018, 16:14   #4
lyxstv
Member
 
Аватар для lyxstv
 
Регистрация: 02.04.2018
Сообщений: 94
По умолчанию

Имхо нужна обвзяка, нужно контролировать чтобы набрался буфер для проигрывания и делать паузу плееру когда нет данных.
lyxstv вне форума   Ответить с цитированием
Старый 11.10.2018, 16:41   #5
-=Vd=-
Senior Member
 
Аватар для -=Vd=-
 
Регистрация: 14.02.2012
Адрес: Одесса
Сообщений: 1,355
Отправить сообщение для -=Vd=- с помощью Skype™
По умолчанию

а чего сразу не написать модуль и сервис для Коди?
__________________
Media Aggregator (виртуальная медиатека) - http://xbmc.ru/forum/showthread.php?t=10592
Lazy F1 - http://xbmc.ru/forum/showthread.php?t=14300
-=Vd=- вне форума   Ответить с цитированием
Старый 11.10.2018, 16:49   #6
lyxstv
Member
 
Аватар для lyxstv
 
Регистрация: 02.04.2018
Сообщений: 94
По умолчанию

Повторюсь - Хотелось бы сосредоточится на написании движка, а не обвязки.
Отлаживать его внутри коди крайне тяжело.
lyxstv вне форума   Ответить с цитированием
Старый 11.10.2018, 17:01   #7
-=Vd=-
Senior Member
 
Аватар для -=Vd=-
 
Регистрация: 14.02.2012
Адрес: Одесса
Сообщений: 1,355
Отправить сообщение для -=Vd=- с помощью Skype™
По умолчанию

Цитата:
Сообщение от lyxstv Посмотреть сообщение
Повторюсь - Хотелось бы сосредоточится на написании движка, а не обвязки.
Отлаживать его внутри коди крайне тяжело.
Ничего не мешает тестовые модули запускать из IDE. Много и не надо, сервис, чтобы запустить сервер, и простенький клиент с функциями добавить торрент, получить список файлов, получить ссылку на воспроизведение.

Вот даже не понятно какой файл запускать, чтобы запустить сервер. Кеширование я так понял у вас на диск происходит.
__________________
Media Aggregator (виртуальная медиатека) - http://xbmc.ru/forum/showthread.php?t=10592
Lazy F1 - http://xbmc.ru/forum/showthread.php?t=14300
-=Vd=- вне форума   Ответить с цитированием
Старый 11.10.2018, 17:12   #8
lyxstv
Member
 
Аватар для lyxstv
 
Регистрация: 02.04.2018
Сообщений: 94
По умолчанию

Движок пока работает как личер, сейчас разбираюсь с UPNP и пишу сервер который будет раздавать, также читаю DHT, еще сидеть и разбираться как делать сервис в коди и писать обвязку ... имхо все по порядку.

Там все просто, API описан выше.
Пока пишу движок, кому интересно разберутся, возможно кто-то поможет.
Да кэширование на диск(сделать в память просто), файл с именем движка запускать, логично же)

В общем, все будет, но позже! )

Последний раз редактировалось lyxstv; 11.10.2018 в 17:25.
lyxstv вне форума   Ответить с цитированием
Старый 11.10.2018, 18:37   #9
TDW1980
Senior Member
 
Аватар для TDW1980
 
Регистрация: 21.06.2011
Сообщений: 2,915
По умолчанию

Traceback (most recent call last):
File "D:\LTorrentEngine-0.0.1\LTorrentEngine.py", line 4, in <module>
import trollius
File "D:\LTorrentEngine-0.0.1\trollius\__init__.py", line 11, in <module>
import selectors # Will also be exported.
File "D:\LTorrentEngine-0.0.1\trollius\selectors.py", line 14, in <module>
from .py33_exceptions import wrap_error, InterruptedError
File "D:\LTorrentEngine-0.0.1\trollius\py33_exceptions.py", line 83, in <module>
from trollius import _overlapped
ImportError: cannot import name _overlapped
__________________
Мой репозиторий: https://github.com/tdw1980/tdw/raw/master/repository.tdw1980-1.0.2.zip
Отблагодарить:
Master Card: 5331 5729 4236 1079
PayPal: http://paypal.me/tdw1980
TDW1980 вне форума   Ответить с цитированием
Старый 11.10.2018, 20:03   #10
lyxstv
Member
 
Аватар для lyxstv
 
Регистрация: 02.04.2018
Сообщений: 94
По умолчанию

К сожалению для винды понадобился бинарник (
Файл _overlapped.pyd
Положить в папку trollius в следующей версии будет в комплекте.
Эта библиотека бэк порт стандартного asyncio из питона 3, она используется для того чтобы в будущих версиях коди, проще перейти на питон 3
lyxstv вне форума   Ответить с цитированием
Ответ
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
script.module.torrent2http - движок стримминга торрентов. -=Vd=- Помощь по плагинам 110 05.09.2018 02:07
Голосование: Какой торрент движок Вы используете? TDW1980 Помощь по плагинам 77 06.01.2018 15:36
Как смотреть Торрент ТВ на Raspberry Pi nosovdn Поддержка платформы Linux \ Live 18 25.02.2016 11:14
Торрент ТВ для убунту dimmi777 Помощь по плагинам 225 22.08.2014 17:40
торрент Алексей Подсказки, описания и FAQ по XBMC 1 14.01.2011 22:43


Текущее время: 21:48. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.