touchandgo-devs / touchandgo Goto Github PK
View Code? Open in Web Editor NEWTorrent streaming CLI and python library
License: GNU General Public License v3.0
Torrent streaming CLI and python library
License: GNU General Public License v3.0
we should wait until the moov is finished download
Now I use libtorrent to find the biggest file name to download the subtitle. Libtorrent allocates the torrent in disk before giving metadata.
This is slow for movies and take a lot of useless I/O
the "200" should be first
Replace the method with a property that only looks once for the biggest file
So it seeks better and we dont have to read the file to return it. There shoud be a way to replace the wfile
bootstrap and good taste should do the trick
it should be better than this :P http://touchandgo.readthedocs.org/en/devel/
magnet:?xt=urn:btih:54324F3F2C874B03E9F5F9E6062651C08922E540&dn=marvels+agents+of+s+h+i+e+l+d+s02e06+hdtv+x264+killers+ettv&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80%2Fannounce&tr=udp%3A%2F%2Fopen.demonii.com%3A1337
To serve a video file over HTTP depends on the video 'hinting'.
The video file has three parts. ftyp, moov and mdat. If mdat is located before moov the video can't be streamed.
We can use the function get_index of qtfaststart to validate it.
https://github.com/danielgtaylor/qtfaststart/blob/master/qtfaststart/processor.py#L54
If the video can't be streamed, what should touchandgo do?
At least that seems to me after 2 tries: touchandgo TBBT and touchandgo comunity
Traceback (most recent call last):
File "/usr/local/bin/touchandgo", line 9, in
load_entry_point('Touchandgo==0.9.4', 'console_scripts', 'touchandgo')()
File "/usr/local/lib/python2.7/dist-packages/touchandgo/init.py", line 128, in main
touchandgo.watch()
File "/usr/local/lib/python2.7/dist-packages/touchandgo/init.py", line 59, in watch
self.search_magnet()
File "/usr/local/lib/python2.7/dist-packages/touchandgo/init.py", line 83, in search_magnet
quality=quality, callback=self.download)
File "/usr/local/lib/python2.7/dist-packages/torrentmediasearcher/init.py", line 55, in request_tv_magnet
search.create_tvshow_request(show=show, season=season, episode=episode, quality=quality)
File "/usr/local/lib/python2.7/dist-packages/torrentmediasearcher/providers/base_api.py", line 48, in create_tvshow_request
results = self._query_tvshow(show=self._wanted_show, season=self._wanted_season, episode=self._wanted_episode, quality=quality)
File "/usr/local/lib/python2.7/dist-packages/torrentmediasearcher/providers/eztv_api.py", line 13, in _query_tvshow
show_id = self._get_show_id(show=show)
File "/usr/local/lib/python2.7/dist-packages/torrentmediasearcher/providers/eztv_api.py", line 45, in _get_show_id
raise ShowNotFound()
torrentmediasearcher.providers.base_api.ShowNotFound: None
When doing a search, i get many exceptions as the result.
Although one could interpret the exceptions raised as related to search, the user interface should show managed output telling the user about the error, the possible reasons and how to fix it, not a traceback.
lucio@martian:~$ head /usr/local/bin/touchandgo
requires = 'Touchandgo==0.3.3'
import sys
from pkg_resources import load_entry_point
if name == 'main':
sys.exit(
load_entry_point('Touchandgo==0.3.3', 'console_scripts', 'touchandgo')()
)
I think it should be 10 KB/s
Hola, veo en los requerimientos que algunos dicen "via apt" y otros "via npm" ... creo que sería mejor decir:
Eso bajo un título "instalación".
Esto sería para facilitar el uso por personas menos técnicas.
This magnet is not starting untill 100%
magnet:?xt=urn:btih:405B212210390BFF01E46F3DEBA0C4EE9A1479C1&dn=marvels+agents+of+shield+s02e05+480p+hdtv+x264+165mb+mmkv&tr=udp%3A%2F%2F12.rarbg.me%3A80%2Fannounce&tr=udp%3A%2F%2Fopen.demonii.com%3A1337
its related to the moov strategy
I updated touchandgo to the last release and I'm getting this error:
touchandgo Crisis 1 5
Searching torrent
Processing magnet link
Traceback (most recent call last):
File "/usr/local/bin/touchandgo", line 9, in
load_entry_point('Touchandgo==0.4.1', 'console_scripts', 'touchandgo')()
File "/usr/local/lib/python2.7/dist-packages/touchandgo/touchandgo.py", line 61, in main
port=args.port)
File "/usr/local/lib/python2.7/dist-packages/touchandgo/touchandgo.py", line 38, in watch
quality=quality, callback=get_magnet)
File "/usr/local/lib/python2.7/dist-packages/torrentmediasearcher/init.py", line 55, in request_tv_magnet
search.create_tvshow_request(show=show, season=season, episode=episode, quality=quality)
File "/usr/local/lib/python2.7/dist-packages/torrentmediasearcher/providers/base_api.py", line 49, in create_tvshow_request
self.callback(results)
File "/usr/local/lib/python2.7/dist-packages/touchandgo/touchandgo.py", line 19, in get_magnet
sub_lang=sub_lang)
File "/usr/local/lib/python2.7/dist-packages/touchandgo/download.py", line 36, in init
self.handle = add_magnet_uri(self.session, magnet, params)
Boost.Python.ArgumentError: Python argument types in
libtorrent.add_magnet_uri(session, unicode, dict)
did not match C++ signature:
add_magnet_uri(libtorrent::session {lvalue}, std::string, boost::python::dict)
I'm on ubuntu 12.10
we can use the awesome python-tvrage
I cant get the version from the installed binary using
lucio@martian:~$ head /usr/local/bin/touchandgo
requires = 'Touchandgo==0.3.3'
import sys
from pkg_resources import load_entry_point
if name == 'main':
sys.exit(
load_entry_point('Touchandgo==0.3.3', 'console_scripts', 'touchandgo')()
)
There is something wrong in the daemoization or the streaming. it may be related to #23
I like the way peerflix does it
We need a config file to set user defaults. In YAML!
Maybe we can build a wizard that helps the user to create the file. if the config file don't existe the wizard starts
Right now there are settings.py
and settings.yaml
, would be better if we just used the yaml file.
As a side-note, the settings file in ~/.touchandgo/settings.yaml
should be an override of the master settings, not the settings file itself.
I losted a couple of episodes end because of this
Unhandled exception in thread started by <bound method DownloadManager.output of <touchandgo.download.DownloadManager object at 0x32f3e90>>
Traceback (most recent call last):
File "/media/data/devel/touchandgo/touchandgo/download.py", line 152, in output
subtitle = self.subtitle.download(self.video_file)
File "/media/data/devel/touchandgo/touchandgo/subtitles.py", line 30, in download
subtitle = download_best_subtitles([video], {Language(self.lang)},
File "/home/felipe/Envs/touchandgo/local/lib/python2.7/site-packages/babelfish/language.py", line 68, in init
raise ValueError('%r is not a valid language' % language)
ValueError: 'esp' is not a valid language
For example in touchandgo_xbmc I nedd some like
from touchandgo import TouchAndGo
tg = TouchAndGo()
tg.watch(args....)
tg.status()
etc...
When you install with pip the package hasn't got the 'templates' folder.
✘ ~ ll /usr/lib/python2.7/site-packages/touchandgo/
�klltotal 60
-rw-r--r-- 1 root root 5935 ago 11 00:07 download.py
-rw-r--r-- 1 root root 7211 ago 11 00:07 download.pyc
-rw-r--r-- 1 root root 2478 ago 11 00:07 helpers.py
-rw-r--r-- 1 root root 3245 ago 11 00:07 helpers.pyc
-rw-r--r-- 1 root root 230 ago 11 00:07 history.py
-rw-r--r-- 1 root root 733 ago 11 00:07 history.pyc
-rw-r--r-- 1 root root 0 ago 11 00:07 __init__.py
-rw-r--r-- 1 root root 142 ago 11 00:07 __init__.pyc
-rw-r--r-- 1 root root 1444 ago 11 00:07 lock.py
-rw-r--r-- 1 root root 2287 ago 11 00:07 lock.pyc
-rw-r--r-- 1 root root 2660 ago 11 00:07 server.py
-rw-r--r-- 1 root root 3766 ago 11 00:07 server.pyc
-rw-r--r-- 1 root root 2308 ago 11 00:07 touchandgo.py
-rw-r--r-- 1 root root 2635 ago 11 00:07 touchandgo.pyc
Thanks!
I'm not sure that the stream file math will do the job
Can you specify which version are you using?
For instance, in Ubuntu 13.04, from apt-get, it is not working for me.
Thanks!
We should cache magnets hash to avoid search them any time you have to play the same chapter or movie.
I think that the correct place is search_magnet()
Can we do it with ojota? 🤘
Using this link magnet:?xt=urn:btih:f11c2c7dd997e66229cdd8f309774d6ff6b17140 triggers a segfault when approaching 0.50%
now it will fail if not created. also shoud be generic, not for user felipe :D
without the search
It might be a problem with the "quality" default parameter for the series
While doing search for terms like "gotham", "the newsroom" i got many failures (timeout and not-found) until finally it found "gotham" (nothing changed in the search i was trying to do)
lucio@martian:~$ head /usr/local/bin/touchandgo
requires = 'Touchandgo==0.3.3'
import sys
from pkg_resources import load_entry_point
if name == 'main':
sys.exit(
load_entry_point('Touchandgo==0.3.3', 'console_scripts', 'touchandgo')()
)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.