本文整理汇总了Python中Cheetah.Template.Template.tivo_names方法的典型用法代码示例。如果您正苦于以下问题:Python Template.tivo_names方法的具体用法?Python Template.tivo_names怎么用?Python Template.tivo_names使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cheetah.Template.Template
的用法示例。
在下文中一共展示了Template.tivo_names方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: QueryContainer
# 需要导入模块: from Cheetah.Template import Template [as 别名]
# 或者: from Cheetah.Template.Template import tivo_names [as 别名]
def QueryContainer(self, handler, query):
tsn = handler.headers.getheader('tsn', '')
subcname = query['Container'][0]
cname = subcname.split('/')[0]
if (not cname in handler.server.containers or
not self.get_local_path(handler, query)):
handler.send_error(404)
return
container = handler.server.containers[cname]
precache = container.get('precache', 'False').lower() == 'true'
force_alpha = container.get('force_alpha', 'False').lower() == 'true'
files, total, start = self.get_files(handler, query,
self.video_file_filter,
force_alpha)
videos = []
local_base_path = self.get_local_base_path(handler, query)
for f in files:
video = VideoDetails()
mtime = f.mdate
try:
ltime = time.localtime(mtime)
except:
logger.warning('Bad file time on ' + unicode(f.name, 'utf-8'))
mtime = int(time.time())
ltime = time.localtime(mtime)
video['captureDate'] = hex(mtime)
video['textDate'] = time.strftime('%b %d, %Y', ltime)
video['name'] = os.path.split(f.name)[1]
video['path'] = f.name
video['part_path'] = f.name.replace(local_base_path, '', 1)
if not video['part_path'].startswith(os.path.sep):
video['part_path'] = os.path.sep + video['part_path']
video['title'] = os.path.split(f.name)[1]
video['is_dir'] = f.isdir
if video['is_dir']:
video['small_path'] = subcname + '/' + video['name']
video['total_items'] = self.__total_items(f.name)
else:
if precache or len(files) == 1 or f.name in transcode.info_cache:
video['valid'] = transcode.supported_format(f.name)
if video['valid']:
video.update(self.metadata_full(f.name, tsn))
else:
video['valid'] = True
video.update(metadata.basic(f.name))
video['textSize'] = ( '%.3f GB' %
(float(f.size) / (1024 ** 3)) )
videos.append(video)
t = Template(CONTAINER_TEMPLATE, filter=EncodeUnicode)
t.container = cname
t.name = subcname
t.total = total
t.start = start
t.videos = videos
t.quote = quote
t.escape = escape
t.crc = zlib.crc32
t.guid = config.getGUID()
t.tivos = config.tivos
t.tivo_names = config.tivo_names
handler.send_response(200)
handler.send_header('Content-Type', 'text/xml')
handler.send_header('Expires', '0')
handler.end_headers()
handler.wfile.write(t)
示例2: QueryContainer
# 需要导入模块: from Cheetah.Template import Template [as 别名]
# 或者: from Cheetah.Template.Template import tivo_names [as 别名]
def QueryContainer(self, handler, query):
tsn = handler.headers.getheader('tsn', '')
subcname = query['Container'][0]
useragent = handler.headers.getheader('User-Agent', '')
if not self.get_local_path(handler, query):
handler.send_error(404)
return
container = handler.container
force_alpha = container.getboolean('force_alpha')
use_html = query.get('Format', [''])[0].lower() == 'text/html'
files, total, start = self.get_files(handler, query,
self.video_file_filter,
force_alpha)
videos = []
local_base_path = self.get_local_base_path(handler, query)
for f in files:
video = VideoDetails()
mtime = f.mdate
try:
ltime = time.localtime(mtime)
except:
logger.warning('Bad file time on ' + unicode(f.name, 'utf-8'))
mtime = int(time.time())
ltime = time.localtime(mtime)
video['captureDate'] = hex(mtime)
video['textDate'] = time.strftime('%b %d, %Y', ltime)
video['name'] = os.path.basename(f.name)
video['path'] = f.name
video['part_path'] = f.name.replace(local_base_path, '', 1)
if not video['part_path'].startswith(os.path.sep):
video['part_path'] = os.path.sep + video['part_path']
video['title'] = os.path.basename(f.name)
video['is_dir'] = f.isdir
if video['is_dir']:
video['small_path'] = subcname + '/' + video['name']
video['total_items'] = self.__total_items(f.name)
else:
if len(files) == 1 or f.name in transcode.info_cache:
video['valid'] = transcode.supported_format(f.name)
if video['valid']:
video.update(self.metadata_full(f.name, tsn))
if len(files) == 1:
video['captureDate'] = hex(isogm(video['time']))
else:
video['valid'] = True
video.update(metadata.basic(f.name))
if self.use_ts(tsn, f.name):
video['mime'] = 'video/x-tivo-mpeg-ts'
else:
video['mime'] = 'video/x-tivo-mpeg'
video['textSize'] = metadata.human_size(f.size)
videos.append(video)
logger.debug('mobileagent: %d useragent: %s' % (useragent.lower().find('mobile'), useragent.lower()))
use_mobile = useragent.lower().find('mobile') > 0
if use_html:
if use_mobile:
t = Template(HTML_CONTAINER_TEMPLATE_MOBILE, filter=EncodeUnicode)
else:
t = Template(HTML_CONTAINER_TEMPLATE, filter=EncodeUnicode)
else:
t = Template(XML_CONTAINER_TEMPLATE, filter=EncodeUnicode)
t.container = handler.cname
t.name = subcname
t.total = total
t.start = start
t.videos = videos
t.quote = quote
t.escape = escape
t.crc = zlib.crc32
t.guid = config.getGUID()
t.tivos = config.tivos
t.tivo_names = config.tivo_names
if use_html:
handler.send_html(str(t))
else:
handler.send_xml(str(t))
示例3: QueryContainer
# 需要导入模块: from Cheetah.Template import Template [as 别名]
# 或者: from Cheetah.Template.Template import tivo_names [as 别名]
def QueryContainer(self, handler, query):
tsn = handler.headers.getheader("tsn", "")
subcname = query["Container"][0]
if not self.get_local_path(handler, query):
handler.send_error(404)
return
container = handler.container
force_alpha = container.get("force_alpha", "False").lower() == "true"
use_html = query.get("Format", [""])[0].lower() == "text/html"
files, total, start = self.get_files(handler, query, self.video_file_filter, force_alpha)
videos = []
local_base_path = self.get_local_base_path(handler, query)
for f in files:
video = VideoDetails()
mtime = f.mdate
try:
ltime = time.localtime(mtime)
except:
logger.warning("Bad file time on " + unicode(f.name, "utf-8"))
mtime = int(time.time())
ltime = time.localtime(mtime)
video["captureDate"] = hex(mtime)
video["textDate"] = time.strftime("%b %d, %Y", ltime)
video["name"] = os.path.basename(f.name)
video["path"] = f.name
video["part_path"] = f.name.replace(local_base_path, "", 1)
if not video["part_path"].startswith(os.path.sep):
video["part_path"] = os.path.sep + video["part_path"]
video["title"] = os.path.basename(f.name)
video["is_dir"] = f.isdir
if video["is_dir"]:
video["small_path"] = subcname + "/" + video["name"]
video["total_items"] = self.__total_items(f.name)
else:
if len(files) == 1 or f.name in transcode.info_cache:
video["valid"] = transcode.supported_format(f.name)
if video["valid"]:
video.update(self.metadata_full(f.name, tsn))
if len(files) == 1:
video["captureDate"] = hex(isogm(video["time"]))
else:
video["valid"] = True
video.update(metadata.basic(f.name))
if self.use_ts(tsn, f.name):
video["mime"] = "video/x-tivo-mpeg-ts"
else:
video["mime"] = "video/x-tivo-mpeg"
video["textSize"] = "%.3f GB" % (float(f.size) / (1024 ** 3))
videos.append(video)
if use_html:
t = Template(HTML_CONTAINER_TEMPLATE, filter=EncodeUnicode)
else:
t = Template(XML_CONTAINER_TEMPLATE, filter=EncodeUnicode)
t.container = handler.cname
t.name = subcname
t.total = total
t.start = start
t.videos = videos
t.quote = quote
t.escape = escape
t.crc = zlib.crc32
t.guid = config.getGUID()
t.tivos = config.tivos
t.tivo_names = config.tivo_names
if use_html:
handler.send_html(str(t))
else:
handler.send_xml(str(t))