def get_last_repo_revision(cls, url): output = cls._popen( ['svn', 'log', url, '--limit=1', '--xml'], fullcmd=True, raw=True, merge_err=False, ) tree = parse_xml(output) entry = tree.find('logentry') if entry is not None: return entry.get('revision') return None
def get_last_repo_revision(cls, url): output = cls._popen( ["svn", "log", url, "--limit=1", "--xml"], fullcmd=True, raw=True, merge_err=False, ) tree = parse_xml(output) entry = tree.find("logentry") if entry is not None: return entry.get("revision") return None
def parse_xml(self, text, wrap=None): """Wrapper for parsing XML.""" if wrap is None: # Detect whether wrapping is desired try: return self.parse_xml(text, True), True except SyntaxError: return self.parse_xml(text, False), False text = strip_entities(text) if wrap: text = '<weblate>{}</weblate>'.format(text) return parse_xml(text.encode('utf-8') if 'encoding' in text else text)
def parse_xml(self, text, wrap=None): """Wrapper for parsing XML.""" if wrap is None: # Detect whether wrapping is desired try: return self.parse_xml(text, True), True except SyntaxError: return self.parse_xml(text, False), False text = strip_entities(text) if wrap: text = f"<weblate>{text}</weblate>" return parse_xml(text.encode() if "encoding" in text else text)