24__mashup_title__ =
"tedtalks"
25__author__=
"R.D. Vaughan"
29__usage_examples__ =
'''
32Usage: ./tedtalks.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 -S, --search Search
for videos
54 -T, --treeview Display a Tree View of a sites videos
59 <author>R.D. Vaughan</author>
60 <thumbnail>tedtalks.png</thumbnail>
61 <command>tedtalks.py</command>
63 <description>TED
is a small nonprofit devoted to Ideas Worth Spreading.</description>
64 <version>v0.10</version>
69> ./tedtalks.py -S
"Africa"
73__search_max_page_items__ = 10
74__tree_max_page_items__ = 10
79class OutStreamEncoder(object):
80 """Wraps a stream with an encoder"""
89 """Wraps the output stream, encoding Unicode strings with the specified encoding"""
90 if isinstance(obj, str):
92 self.
out.buffer.write(obj)
95 """Delegate everything but write to the stream"""
96 return getattr(self.
out, attr)
98if isinstance(sys.stdout, io.TextIOWrapper):
106 '''Import the common python class
109except Exception
as e:
111The subdirectory "nv_python_libs/common" containing the modules mashups_api.py and
112mashups_exceptions.py (v0.1.3 or greater),
113They should have been included with the distribution of MythNetvision
118if common_api.__version__ <
'0.1.3':
119 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__)
125 '''Import the python mashups support classes
128except Exception
as e:
130The subdirectory "nv_python_libs/tedtalks" containing the modules tedtalks_api and
131tedtalks_exceptions.py (v0.1.0 or greater),
132They should have been included with the distribution of tedtalks.py.
136if target.__version__ <
'0.1.0':
137 sys.stderr.write(
"\n! Error: Your current installed tedtalks_api.py version is (%s)\nYou must at least have version (0.1.0) or higher.\n" % target.__version__)
143except Exception
as e:
145The python script "nv_python_libs/mainProcess.py" must be present.
150if process.__version__ <
'0.2.0':
151 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__)
154if __name__ ==
'__main__':
158 target.baseProcessingDir = os.path.dirname( os.path.realpath( __file__ ))
160 target.common = common_api.Common()
161 main = process.mainProcess(target, apikey, )
162 main.grabberInfo = {}
163 main.grabberInfo[
'enabled'] =
True
164 main.grabberInfo[
'title'] = __title__
165 main.grabberInfo[
'command'] =
'tedtalks.py'
166 main.grabberInfo[
'mashup_title'] = __mashup_title__
167 main.grabberInfo[
'author'] = __author__
168 main.grabberInfo[
'thumbnail'] =
'tedtalks.png'
169 main.grabberInfo[
'type'] = [
'video', ]
170 main.grabberInfo[
'desc'] =
"TED is a small nonprofit devoted to Ideas Worth Spreading."
171 main.grabberInfo[
'version'] = __version__
172 main.grabberInfo[
'search'] =
True
173 main.grabberInfo[
'tree'] =
True
174 main.grabberInfo[
'html'] =
False
175 main.grabberInfo[
'usage'] = __usage_examples__
176 main.grabberInfo[
'SmaxPage'] = __search_max_page_items__
177 main.grabberInfo[
'TmaxPage'] = __tree_max_page_items__
def __init__(self, outstream, encoding=None)
def __getattr__(self, attr)