24__mashup_title__ =
"spaceMashup"
25__author__=
"R.D. Vaughan"
29__usage_examples__ =
'''
32Usage: ./space.py -hduvlST [parameters] <search text>
33Version: v0.1.0 Author: R.D.Vaughan
35For details on the MythTV Netvision plugin see the wiki page at:
36http://www.mythtv.org/wiki/MythNetvision
39 -h, --help show this help message and exit
40 -d, --debug Show debugging info (URLs, raw XML ... etc, info
42 -u, --usage Display examples
for executing the script
43 -v, --version Display grabber name
and supported options
44 -l LANGUAGE, --language=LANGUAGE
45 Select data that matches the specified language fall
46 back to English
if nothing found (e.g.
'es' EspaƱol,
47 'de' Deutsch ... etc). Not all sites
or grabbers
49 -p PAGE NUMBER, --pagenumber=PAGE NUMBER
50 Display specific page of the search results. Default
51 is page 1. Page number
is ignored
with the Tree View
53 -T, --treeview Display a Tree View of a sites videos
61__search_max_page_items__ = 20
62__tree_max_page_items__ = 20
67class OutStreamEncoder(object):
68 """Wraps a stream with an encoder"""
77 """Wraps the output stream, encoding Unicode strings with the specified encoding"""
78 if isinstance(obj, str):
80 self.
out.buffer.write(obj)
83 """Delegate everything but write to the stream"""
84 return getattr(self.
out, attr)
86if isinstance(sys.stdout, io.TextIOWrapper):
95 '''Import the common python class
100The subdirectory "nv_python_libs/common" containing the modules mashups_api.py and
101mashups_exceptions.py (v0.1.3 or greater),
102They should have been included with the distribution of MythNetvision
107if common_api.__version__ <
'0.1.3':
108 sys.stderr.write(
"\n! Error: Your current installed common_api.py version is (%s)\nYou must at least have version (0.1.3) or higher.\n" % target.__version__)
114 '''Import the python mashups support classes
117except Exception
as e:
119The subdirectory "nv_python_libs/mashups" containing the modules mashups_api and
120mashups_exceptions.py (v0.1.0 or greater),
121They should have been included with the distribution of space.py.
125if target.__version__ <
'0.1.0':
126 sys.stderr.write(
"\n! Error: Your current installed mashups_api.py version is (%s)\nYou must at least have version (0.1.0) or higher.\n" % target.__version__)
132except Exception
as e:
134The python script "nv_python_libs/mainProcess.py" must be present.
139if process.__version__ <
'0.2.0':
140 sys.stderr.write(
"\n! Error: Your current installed mainProcess.py version is (%s)\nYou must at least have version (0.2.0) or higher.\n" % process.__version__)
143if __name__ ==
'__main__':
147 target.baseProcessingDir = os.path.dirname( os.path.realpath( __file__ ))
149 target.common = common_api.Common()
150 main = process.mainProcess(target, apikey, )
151 main.grabberInfo = {}
152 main.grabberInfo[
'enabled'] =
True
153 main.grabberInfo[
'title'] = __title__
154 main.grabberInfo[
'command'] =
'space.py'
155 main.grabberInfo[
'mashup_title'] = __mashup_title__
156 main.grabberInfo[
'author'] = __author__
157 main.grabberInfo[
'thumbnail'] =
'space.png'
158 main.grabberInfo[
'type'] = [
'video', ]
159 main.grabberInfo[
'desc'] =
"Mashups combines media from multiple sources to create a new work"
160 main.grabberInfo[
'version'] = __version__
161 main.grabberInfo[
'search'] = target.common.checkIfDBItem(
'dummy', {
'feedtitle': __title__, })
162 main.grabberInfo[
'tree'] =
True
163 main.grabberInfo[
'html'] =
False
164 main.grabberInfo[
'usage'] = __usage_examples__
165 main.grabberInfo[
'SmaxPage'] = __search_max_page_items__
166 main.grabberInfo[
'TmaxPage'] = __tree_max_page_items__
def __getattr__(self, attr)
def __init__(self, outstream, encoding=None)