def xml_serialize(browsers): xml_root = ET.Element("qa:browsers", {'xmlns:qa': 'urn:config.gridrouter.qatools.ru'}) for name, versions in browsers.iteritems(): default_version = LooseVersion('0.0.0.0.0') xml_browser = ET.SubElement(xml_root, 'browser', {'name': name}) for version_number, regions in versions.iteritems(): version = LooseVersion(version_number) if version > default_version: default_version = version xml_version = ET.SubElement(xml_browser, 'version', {'number': version_number}) for region, hosts in regions.iteritems(): xml_region = ET.SubElement(xml_version, 'region', {'name': region}) for host in hosts: ET.SubElement( xml_region, 'host', { 'name': host['name'], 'port': str(host['port']), 'count': str(host['count']) }) xml_browser.set('defaultVersion', default_version.__str__()) return ET.tostring(xml_root)
def resolve_latest_version(): req = urllib.request.Request( 'https://api.github.com/repos/bazelbuild/bazel/releases', method='GET') res = urllib.request.urlopen(req).read() releases = json.loads(res.decode('utf-8')) latest_version = LooseVersion(releases[0]["tag_name"]) for release in releases: latest_version = max(latest_version, LooseVersion(release["tag_name"])) return latest_version.__str__()
def __str__(self): if self.is_dev: return "dev" else: return LooseVersion.__str__(self)
def __str__(self): if self.is_dev: return "dev" else: return LooseVersion.__str__(self)
def __str__(self): if self.is_trunk: return "trunk" else: return LooseVersion.__str__(self)
def __str__(self): if self.is_trunk: return "trunk" else: return LooseVersion.__str__(self)