Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
 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
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)