gapato / livestreamer-curses Goto Github PK
View Code? Open in Web Editor NEWLimited text interface/front-end to http://github.com/chrippa/livestreamer
License: MIT License
Limited text interface/front-end to http://github.com/chrippa/livestreamer
License: MIT License
I can reproduce this crash by doing:
Some time passes (until stream update?) and then this:
Traceback (most recent call last):
File "/usr/bin/livestreamer-curses", line 9, in
load_entry_point('livestreamer-curses==1.5.2', 'console_scripts', 'livestreamer-curses')()
File "/usr/lib/python3.5/site-packages/livestreamer_curses/main.py", line 85, in main
curses.wrapper(l)
File "/usr/lib/python3.5/curses/init.py", line 94, in wrapper
return func(stdscr, _args, *_kwds)
File "/usr/lib/python3.5/site-packages/livestreamer_curses/streamlist.py", line 215, in call
self.run()
File "/usr/lib/python3.5/site-packages/livestreamer_curses/streamlist.py", line 299, in run
self.check_online_streams()
File "/usr/lib/python3.5/site-packages/livestreamer_curses/streamlist.py", line 680, in check_online_streams
self.refilter_streams()
File "/usr/lib/python3.5/site-packages/livestreamer_curses/streamlist.py", line 761, in refilter_streams
self.redraw_stream_footer()
File "/usr/lib/python3.5/site-packages/livestreamer_curses/streamlist.py", line 620, in redraw_stream_footer
s = self.filtered_streams[row]
IndexError: list index out of range
Request method to pass 'name' field to custom livestreamer-cursesrc command line options.
LIVESTREAMER_COMMANDS = [
"livestreamer -p 'vlc --meta-title NAME'"
]
Result in VLC instead of showing fd://0 in title it will show NAME instead.
It would be really cool if you could set livestreamer-curses to automatically update which streams are live every 60 seconds or so.
Hi,
Nice project, best way to watch streams :)
However, I am not happy about having to click through the list and encounter offline streamers, before I get to who is currently streaming. Are you planning on adding feature for seeing the online status of streams?
All the streams are marked offline with a '!' status, even though some of them are clearly online on the twitch site.
Watching streams doesn't normally work either , but this one is fixable by adding your twitch-oauth-token in your rcfile (livestreamer command) : chrippa/livestreamer#1456 (comment)
livestreamer-curses crashes reproducible if i maximize my console window
Traceback (most recent call last):
File "/usr/bin/livestreamer-curses", line 9, in <module>
load_entry_point('livestreamer-curses==1.1.0', 'console_scripts', 'livestreamer-curses')()
File "/usr/lib/python3.4/site-packages/livestreamer_curses/main.py", line 925, in main
curses.wrapper(l)
File "/usr/lib/python3.4/curses/__init__.py", line 94, in wrapper
return func(stdscr, *args, **kwds)
File "/usr/lib/python3.4/site-packages/livestreamer_curses/main.py", line 238, in __call__
self.run()
File "/usr/lib/python3.4/site-packages/livestreamer_curses/main.py", line 315, in run
(r, w, x) = select.select(souts, [], [], 1)
File "/usr/lib/python3.4/site-packages/livestreamer_curses/main.py", line 296, in resize
self.move(stream_cursor, absolute=True, pad_name='streams')
File "/usr/lib/python3.4/site-packages/livestreamer_curses/main.py", line 570, in move
self.refresh_current_pad()
File "/usr/lib/python3.4/site-packages/livestreamer_curses/main.py", line 505, in refresh_current_pad
pad.refresh(self.offsets[self.current_pad], 0, 2, self.pad_x, self.pad_h, self.pad_w)
_curses.error: prefresh() returned ERR
Im running 5b32f86 with Python 3.4.1 and XFCE 4.10
Could you add a new line with the current game the streamer is playing.
Would be nice to see what they are playing so you don't need to open the twitch website or the stream to see.
Because we can, and because blocking everything is so fucking annoying.
I noticed that after a certain amount of time running in auto-refresh mode, the program always errors out:
Traceback (most recent call last):
File "/usr/local/bin/livestreamer-curses", line 9, in <module>
load_entry_point('livestreamer-curses==1.4.0', 'console_scripts', 'livestreamer-curses')()
File "/Library/Python/2.7/site-packages/livestreamer_curses/main.py", line 85, in main
curses.wrapper(l)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/curses/wrapper.py", line 43, in wrapper
return func(stdscr, *args, **kwds)
File "/Library/Python/2.7/site-packages/livestreamer_curses/streamlist.py", line 217, in __call__
self.run()
File "/Library/Python/2.7/site-packages/livestreamer_curses/streamlist.py", line 301, in run
self.check_online_streams()
File "/Library/Python/2.7/site-packages/livestreamer_curses/streamlist.py", line 666, in check_online_streams
pool = Pool(self.config.CHECK_ONLINE_THREADS)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/pool.py", line 714, in __init__
Pool.__init__(self, processes, initializer, initargs)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/pool.py", line 159, in __init__
self._repopulate_pool()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/pool.py", line 222, in _repopulate_pool
w.start()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/dummy/__init__.py", line 75, in start
threading.Thread.start(self)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 745, in start
_start_new_thread(self.__bootstrap, ())
thread.error: can't start new thread
Sure enough, watching my system process monitor, the process' active thread count increases by the number of streams every time the refresh is run. It would seem that the calls to check online status are spawned as threads but not released afterwards. It eventually goes up to 1,000s of threads and then refuses to spawn any more.
As of now the only info we have is the name. And if there are several casters online at the same time I have to open them all and check the streams to see what they are playing so I can decide which one I want to watch.
i am reviving this project here
https://github.com/RadicalEd360/streamlink-curses
the title usually features interesting informations, like games featured, etc!
nice work btw!
Traceback (most recent call last):
File "/usr/bin/livestreamer-curses", line 9, in
load_entry_point('livestreamer-curses==1.5.2', 'console_scripts', 'livestreamer-curses')()
File "/usr/lib/python3.5/site-packages/livestreamer_curses/main.py", line 85, in main
curses.wrapper(l)
File "/usr/lib/python3.5/curses/init.py", line 94, in wrapper
return func(stdscr, _args, *_kwds)
File "/usr/lib/python3.5/site-packages/livestreamer_curses/streamlist.py", line 215, in call
self.run()
File "/usr/lib/python3.5/site-packages/livestreamer_curses/streamlist.py", line 361, in run
self.delete_stream()
File "/usr/lib/python3.5/site-packages/livestreamer_curses/streamlist.py", line 833, in delete_stream
self.redraw_current_line()
File "/usr/lib/python3.5/site-packages/livestreamer_curses/streamlist.py", line 599, in redraw_current_line
s = self.filtered_streams[row]
IndexError: list index out of range
Configuration should be handled in a more elegant way, probably via a module, whose variables could be overridden via the rc file. I'm currently stuck at this point.
Hello, I'm getting this crash when exiting the help screen:
Traceback (most recent call last):
File "./livestreamer-curses.py", line 729, in <module>
curses.wrapper(l)
File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper
return func(stdscr, *args, **kwds)
File "./livestreamer-curses.py", line 182, in __call__
self.run()
File "./livestreamer-curses.py", line 288, in run
self.show_streams()
File "./livestreamer-curses.py", line 414, in show_streams
self.redraw_stream_footer()
File "./livestreamer-curses.py", line 527, in redraw_stream_footer
s = self.streams[row]
IndexError: list index out of range
It only seems to happen when I have a stream added, when no streams are added it goes back to the initial welcome screen as expected.
Trying to install your program. This is my output when I run it from my home directory. I've tried the pip command with and without sudo and have removed the build directory each time to install fresh.
IOError: [Errno 2] No such file or directory: '/home/user/build/livestreamer-curses/setup.py'
I also tried manually placing the setup.py file in the directory it's searching in but then it couldn't find the livestreamer_curses module.
ImportError: No module named livestreamer_curses.main
Am I doing something wrong?
Mac OS X doesn't come with gdbm installed, so this line fails. It looks like it's only importing an exception anyways, so it shouldn't be needed.
Shelve can use any of the dbms and you shouldn't expect it to be using a specific one in this code.
File "/private/var/folders/vx/51c8lr8x1kg8rhr6r9r3nn000000gn/T/pip_build_fletcher/livestreamer-curses/src/livestreamer_curses/main.py", line 49, in <module>
from gdbm import error as GDBMError
ImportError: No module named gdbm
Follow the XDG Base Directory Specification under linux to prevent polluting the home directory.
To do so:
Place/Search the .livestreamer-cursesrc under
$XDG_CONFIG_HOME/livestreamer-curses/livestreamer-cursesrc
When $XDG_CONFIG_HOME is not set default to ~/.config/livestreamer-curses/livestreamer-cursesrc
Place/Search the .livestreamer-curses.db
$XDG_DATA_HOME/livestreamer-curses/livestreamer-curses.db
When $XDG_DATA_HOME is not set default to~/.local/share/livestreamer-curses/livestreamer-curses.db
Hello im getting the following error with version 1.1.0:
Traceback (most recent call last):
File "/usr/bin/livestreamer-curses", line 9, in <module>
load_entry_point('livestreamer-curses==1.1.0', 'console_scripts', 'livestreamer-curses')()
File "/usr/lib/python3.4/site-packages/livestreamer_curses/main.py", line 881, in main
parser.add_argument('-d', type=unicode, metavar='database', help='default: ~/.livestreamer-curses.db',
NameError: name 'unicode' is not defined
I dont know any python, but i think the cmd string should be quoted.
I really like the program. But the default colorscheme are really weird to say the least. Why not use sane values as the rest of the world? :)
The new Release breaks support for python 3.
If i try to build livestreamer-curses from source i get
Traceback (most recent call last):
File "setup.py", line 10, in <module>
from livestreamer_curses import config
File "/home/serra/pkgs/arch_linux/AUR/livestreamer-curses/src/livestreamer-curses-1.5.0/src/livestreamer_curses/__init__.py", line 1, in <module>
from config import VERSION as __version__
ImportError: No module named 'config'
I can however build it with python2.
If i try to start the program with python3 i get
Traceback (most recent call last):
File "/usr/bin/livestreamer-curses", line 5, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 3020, in <module>
working_set = WorkingSet._build_master()
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 614, in _build_master
ws.require(__requires__)
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 920, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 807, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: livestreamer
EDIT:
If you dont want to keep compability with python3, maybe use
#!/usr/bin/python2
as your shebang.
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.