24 __mashup_title__ =
"spaceMashup"
25 __author__=
"R.D. Vaughan"
29 __usage_examples__ =
'''
32 Usage: ./space.py -hduvlST [parameters] <search text>
33 Version: v0.1.0 Author: R.D.Vaughan
35 For details on the MythTV Netvision plugin see the wiki page at:
36 http://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
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)
86 if isinstance(sys.stdout, io.TextIOWrapper):
95 '''Import the common python class
98 except Exception
as e:
100 The subdirectory "nv_python_libs/common" containing the modules mashups_api.py and
101 mashups_exceptions.py (v0.1.3 or greater),
102 They should have been included with the distribution of MythNetvision
107 if 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
117 except Exception
as e:
119 The subdirectory "nv_python_libs/mashups" containing the modules mashups_api and
120 mashups_exceptions.py (v0.1.0 or greater),
121 They should have been included with the distribution of space.py.
125 if 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__)
132 except Exception
as e:
134 The python script "nv_python_libs/mainProcess.py" must be present.
139 if 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__)
143 if __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__