本文整理汇总了Python中application.Application.type_id方法的典型用法代码示例。如果您正苦于以下问题:Python Application.type_id方法的具体用法?Python Application.type_id怎么用?Python Application.type_id使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类application.Application
的用法示例。
在下文中一共展示了Application.type_id方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from application import Application [as 别名]
# 或者: from application.Application import type_id [as 别名]
def main():
log = LoggerItem()
cfg = Config()
# read in AppStream file into several Application objects
f = gzip.open(sys.argv[1], 'rb')
tree = ET.parse(f)
apps = []
for app in tree.getroot():
a = Application(None, cfg)
for elem in app:
if elem.tag == 'id':
a.set_id(elem.text)
a.type_id = elem.get('type')
log.update_key(a.app_id_full)
log.write(LoggerItem.INFO, "parsing")
elif elem.tag == 'name':
if elem.get(XML_LANG):
continue
a.names['C'] = ensure_unicode(elem.text)
elif elem.tag == 'summary':
if elem.get(XML_LANG):
continue
a.comments['C'] = ensure_unicode(elem.text)
elif elem.tag == 'pkgname':
a.pkgnames.append(ensure_unicode(elem.text))
elif elem.tag == 'appcategories':
for elem2 in elem:
a.categories.append(ensure_unicode(elem2.text))
elif elem.tag == 'keywords':
for elem2 in elem:
a.keywords.append(ensure_unicode(elem2.text))
elif elem.tag == 'url':
a.urls[elem.get('type')] = ensure_unicode(elem.text)
elif elem.tag == 'compulsory_for_desktop':
a.compulsory_for_desktop.append(ensure_unicode(elem.text))
elif elem.tag == 'project_group':
a.project_group = ensure_unicode(elem.text)
elif elem.tag == 'description':
description = ''
if len(elem._children):
for elem2 in elem:
description += elem2.text + u' '
else:
description = elem.text
a.descriptions['C'] = ensure_unicode(description)
elif elem.tag == 'screenshots':
if a.type_id == 'font':
continue
for elem2 in elem:
if elem2.tag != 'screenshot':
continue
caption = None
for elem3 in elem2:
if elem3.tag == 'caption':
caption = elem3.text
elif elem3.tag == 'image':
if elem3.get('type') != 'source':
continue
s = Screenshot(a.app_id, None, caption)
s.basename = os.path.basename(elem3.text)
a.screenshots.append(s)
apps.append(a)
f.close()
# build status page
status = open('./screenshots/status.html', 'w')
status.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ' +
'Transitional//EN" ' +
'"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n')
status.write('<html xmlns="http://www.w3.org/1999/xhtml">\n')
status.write('<head>\n')
status.write('<meta http-equiv="Content-Type" content="text/html; ' +
'charset=UTF-8" />\n')
status.write('<title>Application Data Review</title>\n')
status.write('</head>\n')
status.write('<body>\n')
status.write('<h1>Executive summary</h1>\n')
status.write('<ul>\n')
# long descriptions
cnt = 0
total = len(apps)
for app in apps:
if len(app.descriptions) > 0:
cnt += 1
tmp = 100 * cnt / total
status.write("<li>Applications in Fedora with long descriptions: %i (%i%%)</li>" % (cnt, tmp))
# keywords
cnt = 0
total = len(apps)
for app in apps:
if len(app.keywords) > 0:
cnt += 1
tmp = 100 * cnt / total
status.write("<li>Applications in Fedora with keywords: %i (%i%%)</li>" % (cnt, tmp))
# categories
#.........这里部分代码省略.........