Index: _pack ================================================================== --- _pack +++ _pack @@ -4,14 +4,14 @@ #-- meta data NAME=streamtuner2 VERSION=$(version --get:plugin st2.py --write:python st2.py) #-- bundle -#fpm -s src -t deb -p "$NAME-$VERSION.deb" --prefix=/usr --deb-compression xz --deb-sign include-once -f st2.py -#fpm -s src -t rpm -p "$NAME-$VERSION.rpm" --prefix=/usr --rpm-compression xz -f st2.py -#fpm -s src -t exe -p "$NAME-$VERSION.exe" --prefix=c:/usr/ --exe-autoextract -f st2.py -fpm -s src -t tar -p "$NAME-$VERSION.bin.tar.xz" --prefix=/usr/local --verbose -f st2.py +fpm -s src -t deb -p "$NAME-$VERSION.deb" --prefix=/usr/share/streamtuner2 --deb-compression xz -f st2.py +#fpm -s src -t rpm -p "$NAME-$VERSION.rpm" --prefix=/usr/share/streamtuner2 --rpm-compression xz -f st2.py +#fpm -s src -t exe -p "$NAME-$VERSION.exe" --prefix=c:/usr/share/streamtuner2 --exe-autoextract -f st2.py +#fpm -s src -t tar -p "$NAME-$VERSION.bin.tar.xz" --prefix=/usr/local/share/streamtuner2 --verbose -f st2.py exit #dpkg-deb -I streamtuner2*deb #dpkg-deb -c streamtuner2*deb Index: channels/__init__.py ================================================================== --- channels/__init__.py +++ channels/__init__.py @@ -5,14 +5,17 @@ # description: Channels and feature plugins reside in channels/ # api: python # type: R # category: core # priority: core -# -# -# -# +# pack: +# file.py, _generic.py, global_key.py, history.py, icast.py, +# internet_radio.py, itunes.py, jamendo.py, links.py, live365.py, +# modarchive.py, musicgoal.py, myoggradio.py, punkcast.py, shoutcast.py, +# surfmusik.py, timer.py, xiph.py, youtube.py, *.png +# obsolete: +# dirble.py # # from channels._generic import * Index: st2.py ================================================================== --- st2.py +++ st2.py @@ -2,34 +2,45 @@ # encoding: UTF-8 # api: python # type: application # title: streamtuner2 # description: Directory browser for internet radio / audio streams -# depends: pygtk | pygi, threading, pyquery, kronos, requests -# version: 2.1.3 +# depends: pygtk | pygi, threading, pyquery, python-lxml, requests +# version: 2.1.3-3 # author: mario salzer # license: public domain # url: http://freshcode.club/projects/streamtuner2 # config: # category: multimedia -# +# id: streamtuner2 +# pack: +# gtk*.xml, +# *.py, +# st2.py=/usr/bin/streamtuner2, +# channels/__init__.py, +# bundle, +# streamtuner2.desktop=/usr/share/applications/, +# README=/usr/share/doc/streamtuner2/, +# help/streamtuner2.1=/usr/share/man/man1/, +# help=/usr/share/doc/streamtuner2/, +# streamtuner2.png, +# logo.png=/usr/share/pixmaps/streamtuner2.png, +# epoch: +# architecture: all # # # Streamtuner2 is a GUI browser for internet radio directories. Various # providers can be added, and streaming stations are usually grouped into # music genres or categories. It starts external audio players for stream # playing and streamripper for recording broadcasts. # # It's an independent rewrite of streamtuner1 in a scripting language. So -# it can be more easily extended and fixed. The use of PyQuery for HTML -# parsing makes this simpler and more robust. -# -# Stream lists are stored in JSON cache files. -# -# -# - +# it can be more easily extended and fixed. The mix of JSON APIs, regex +# or PyQuery extraction simplifies processing many sources. +# +# Primarily radio stations are displayed, some channels however are music +# collections. Commercial and sign-up services are not the target purpose. """ project status """ # # The application runs mostly stable. The GUI interfaces are workable. # It's supposed to run on Gtk2 and Gtk3. Python3 support is still WIP. @@ -56,13 +67,11 @@ # - MEDIUM: if system json module is not available, pseudo-json uses eval() # to read the config data -> limited risk, since it's only local files # - HIGH RISK: no verification of downloaded favicon image files (ico/png), # as they are passed to gtk.gdk.Pixbuf (OTOH data pre-filtered by Google) # - MEDIUM: audio players / decoders are easily affected by buffer overflows -# from corrupt mp3/stream data, and streamtuner2 executes them -# - but since that's the purpose -> no workaround -# +# from corrupt mp3/stream data, and streamtuner2 just passes them on # standard modules import sys @@ -94,11 +103,11 @@ import channels from channels import * import favicon -__version__ = "2.1.3" +__version__ = "2.1.3-3" # this represents the main window # and also contains most application behaviour main = None