本文整理匯總了Python中zeroinstall.injector.requirements.Requirements.os方法的典型用法代碼示例。如果您正苦於以下問題:Python Requirements.os方法的具體用法?Python Requirements.os怎麽用?Python Requirements.os使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類zeroinstall.injector.requirements.Requirements
的用法示例。
在下文中一共展示了Requirements.os方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: test
# 需要導入模塊: from zeroinstall.injector.requirements import Requirements [as 別名]
# 或者: from zeroinstall.injector.requirements.Requirements import os [as 別名]
def test(top_xml, diag_xml, expected_error):
root = qdom.parse(BytesIO("""<?xml version="1.0" ?>
<interface xmlns="http://zero-install.sourceforge.net/2004/injector/interface" uri="{top}">
<name>Top-level</name>
<summary>Top-level</summary>
<group>
{top_xml}
</group>
</interface>""".format(top = top_uri, top_xml = top_xml).encode("utf-8")))
self.import_feed(top_uri, root)
root = qdom.parse(BytesIO("""<?xml version="1.0" ?>
<interface xmlns="http://zero-install.sourceforge.net/2004/injector/interface" uri="{diag}">
<name>Diagnostics</name>
<summary>Diagnostics</summary>
<group>
{impls}
</group>
</interface>""".format(diag = diag_uri, impls = diag_xml).encode("utf-8")))
self.import_feed(diag_uri, root)
root = qdom.parse(BytesIO("""<?xml version="1.0" ?>
<interface xmlns="http://zero-install.sourceforge.net/2004/injector/interface" uri="{old}">
<name>Old</name>
<summary>Old</summary>
<feed src='{diag}'/>
<replaced-by interface='{diag}'/>
</interface>""".format(diag = diag_uri, old = old_uri).encode("utf-8")))
self.import_feed(old_uri, root)
r = Requirements(top_uri)
r.os = "Windows"
r.cpu = "x86_64"
s = solver.DefaultSolver(self.config)
s.solve_for(r)
assert not s.ready, s.selections.selections
if expected_error != str(s.get_failure_reason()):
print(s.get_failure_reason())
self.assertEqual(expected_error, str(s.get_failure_reason()))
return s
示例2: testDiagnostics
# 需要導入模塊: from zeroinstall.injector.requirements import Requirements [as 別名]
# 或者: from zeroinstall.injector.requirements.Requirements import os [as 別名]
def testDiagnostics(self):
top_uri = 'http://localhost/top.xml'
old_uri = 'http://localhost/diagnostics-old.xml'
diag_uri = 'http://localhost/diagnostics.xml'
def test(top_xml, diag_xml, expected_error):
root = qdom.parse(BytesIO("""<?xml version="1.0" ?>
<interface xmlns="http://zero-install.sourceforge.net/2004/injector/interface" uri="{top}">
<name>Top-level</name>
<summary>Top-level</summary>
<group>
{top_xml}
</group>
</interface>""".format(top = top_uri, top_xml = top_xml).encode("utf-8")))
self.import_feed(top_uri, root)
root = qdom.parse(BytesIO("""<?xml version="1.0" ?>
<interface xmlns="http://zero-install.sourceforge.net/2004/injector/interface" uri="{diag}">
<name>Diagnostics</name>
<summary>Diagnostics</summary>
<group>
{impls}
</group>
</interface>""".format(diag = diag_uri, impls = diag_xml).encode("utf-8")))
self.import_feed(diag_uri, root)
root = qdom.parse(BytesIO("""<?xml version="1.0" ?>
<interface xmlns="http://zero-install.sourceforge.net/2004/injector/interface" uri="{old}">
<name>Old</name>
<summary>Old</summary>
<feed src='{diag}'/>
<replaced-by interface='{diag}'/>
</interface>""".format(diag = diag_uri, old = old_uri).encode("utf-8")))
self.import_feed(old_uri, root)
r = Requirements(top_uri)
r.os = "Windows"
r.cpu = "x86_64"
s = solver.DefaultSolver(self.config)
s.solve_for(r)
assert not s.ready, s.selections.selections
self.assertEqual(expected_error, str(s.get_failure_reason()))
return s
s = test("", "",
"Can't find all required implementations:\n" +
"- http://localhost/top.xml -> (problem)\n" +
" No known implementations at all")
s = test("<implementation version='1' id='1'><requires interface='{diag}'/></implementation>".format(diag = diag_uri),
"",
"Can't find all required implementations:\n" +
"- http://localhost/top.xml -> (problem)\n" +
" No usable implementations:\n" +
" 1: No retrieval methods")
s = test("""<implementation version='1' id='1'>
<archive href='http://localhost:3000/foo.tgz' size='100'/>
<requires interface='{diag}'>
<version not-before='100'/>
</requires>
</implementation>""".format(diag = diag_uri),
"",
"Can't find all required implementations:\n" +
"- http://localhost/top.xml -> (problem)\n" +
" Rejected candidates:\n" +
" 1: No run command")
s = test("""<implementation version='1' id='1' main='foo'>
<archive href='http://localhost:3000/foo.tgz' size='100'/>
<requires interface='{diag}' version='100..!200'/>
</implementation>""".format(diag = diag_uri),
"""<implementation version='5' id='diag-5'>
<archive href='http://localhost:3000/diag.tgz' size='100'/>
</implementation>
""",
"Can't find all required implementations:\n"
"- http://localhost/diagnostics.xml -> (problem)\n"
" http://localhost/top.xml 1 requires version 100..!200\n"
" No usable implementations satisfy the restrictions\n"
"- http://localhost/top.xml -> 1 (1)")
logger.setLevel(logging.ERROR)
s = test("""<implementation version='1' id='1' main='foo'>
<archive href='http://localhost:3000/foo.tgz' size='100'/>
<requires interface='{diag}' version='100..200'/>
</implementation>""".format(diag = diag_uri),
"""<implementation version='5' id='diag-5'>
<archive href='http://localhost:3000/diag.tgz' size='100'/>
</implementation>
""",
"Can't find all required implementations:\n"
"- http://localhost/diagnostics.xml -> (problem)\n"
" http://localhost/top.xml 1 requires <impossible: Can't parse version restriction '100..200': End of range must be exclusive (use '..!200', not '..200')>\n"
" No usable implementations satisfy the restrictions\n"
"- http://localhost/top.xml -> 1 (1)")
logger.setLevel(logging.WARNING)
#.........這裏部分代碼省略.........