def fromstring(self, string): '''Set the contents of this tree from XML representation.''' parser = ElementTreeModule.XMLTreeBuilder() parser.feed(string) root = parser.close() self._etree._setroot(root) return self # allow ParseTree().fromstring(..)
def clone(self, url, targetpath, **kwargs): if url.split(':')[0].find("svn") < 0: return VCS.clone(self, url, targetpath, **kwargs) else: # To speed things up on huge repositories, we'll just grab all the # revision numbers for this specific directory and grab these only # in stead of having to go through each and every revision... retval, result = execcmd("svn log --stop-on-copy --xml %s" % url) if retval: return retval parser = ElementTree.XMLTreeBuilder() result = "".join(result.split("\n")) parser.feed(result) log = parser.close() logentries = log.getiterator("logentry") revisions = [] topurl = dirname(url) trunk = basename(url) tags = "releases" execcmd("git svn init %s --trunk=%s --tags=%s %s" % (topurl, trunk, tags, targetpath), show=True) chdir(targetpath) for entry in logentries: revisions.append(entry.attrib["revision"]) while revisions: execcmd("git svn fetch -r%d" % int(revisions.pop()), show=True) cmd = ["svn", "rebase"] return self._execVcs_success(*cmd, **kwargs)
def svn_log(): """Returns the svn log of the base url as XML element""" code, result = popen('svn log --stop-on-copy --xml %s' % base_url(), False, False) parser = ElementTree.XMLTreeBuilder() parser.feed(''.join(result)) return parser.close()
def __init__(self, inventory): self.__inventory = inventory self.__p = ET.XMLTreeBuilder()
def __init__(self, qc): self.__qc = qc self.__p = ET.XMLTreeBuilder()
def svn_info(): """Returns the svn info as XML element""" code, result = popen('svn info --xml .', False, False) parser = ElementTree.XMLTreeBuilder() parser.feed(''.join(result)) return parser.close()
def __init__(self, routing, use_access): self.__routing = routing self.__use_access = use_access self.__p = ET.XMLTreeBuilder()