Mercurial > treepkg > treepkg
diff treepkg/info/status.py @ 392:e2afbd3c2bf1 treepkg-status
write first info about tracks
author | Bjoern Ricks <bricks@intevation.de> |
---|---|
date | Thu, 08 Jul 2010 16:11:13 +0000 |
parents | 1af04bfbb1d0 |
children | 0ba451c4a856 |
line wrap: on
line diff
--- a/treepkg/info/status.py Thu Jul 08 16:08:39 2010 +0000 +++ b/treepkg/info/status.py Thu Jul 08 16:11:13 2010 +0000 @@ -9,6 +9,9 @@ import xml.dom.minidom +from treepkg.report import get_packager_group + + TREEPKG_NAMESPACE_URI = "http://wald.intevation.org/projects/treepkg/" TREEPKG_NAMESPACE_PREFIX = "tpkg" @@ -23,11 +26,31 @@ class TreepkgInfo: - def __init__(self, name, treepkgpath=None, millpath=None, version=None): + def __init__(self, config): + group = get_packager_group(config) + self.tpkgroot = TreepkgRootInfo(group.name, group.treepkg_dir, + group.tracks_dir) + tracks = group.get_package_tracks() + + for track in tracks: + trackinfo = TreepkgTrackInfo(track.name) + self.tpkgroot.add_track(trackinfo) + + def toxml(self): + return self.tpkgroot.toxml() + + +class TreepkgRootInfo: + + def __init__(self, name, treepkgpath=None, trackspath=None, version=None): self.name = name self.treepkgpath = treepkgpath - self.millpath = millpath + self.trackspath = trackspath self.version = version + self.tracks = [] + + def add_track(self, track): + self.tracks.append(track) def toxml(self): (doc, root) = createTpkgRoot("status") @@ -42,21 +65,26 @@ text = doc.createTextNode(self.treepkgpath) treepkgpathele.appendChild(text) root.appendChild(treepkgpathele) - # add <millpath> - if self.millpath: - millpathele = createTpkgElement(doc, "millpath") - text = doc.createTextNode(self.millpath) - millpathele.appendChild(text) - root.appendChild(millpathele) + # add <trackspath> + if self.trackspath: + trackspathele = createTpkgElement(doc, "trackspath") + text = doc.createTextNode(self.trackspath) + trackspathele.appendChild(text) + root.appendChild(trackspathele) # add <version> if self.version: versionele = createTpkgElement(doc, "version") text = doc.createTextNode(self.version) versionele.appendChild(text) root.appendChild(version) + if len(self.tracks) > 0: + tracksele = createTpkgElement(doc, "tracks") + for track in self.tracks: + tracksele.appendChild(track.toxml()) + root.appendChild(tracksele) return root -class TreepkgTrack: +class TreepkgTrackInfo: def __init__(self, name): self.name = name @@ -71,11 +99,11 @@ text = doc.createTextNode(self.name) nameele.appendChild(text) root.appendChild(nameele) - for rev in self.revision: + for rev in self.revisions: root.appendChild(rev.toxml()) return root -class TreepkgTrackRevision: +class TreepkgTrackRevisionInfo: def __init__(self, number, rules, status, platform): self.number = number @@ -106,7 +134,7 @@ root.appendChild(platform.toxml()) return root -class TreepkgPlatform: +class TreepkgPlatformInfo: def __init__(self, os, arch): self.os = os @@ -144,7 +172,7 @@ root.appendChild(logsele) return root -class TreepkgLog: +class TreepkgLogInfo: def __init__(self, name, path): self.name = name @@ -164,7 +192,7 @@ root.appendChild(pathele) return root -class TreepkgPackage: +class TreepkgPackageInfo: def __init__(self, name, path, type, checksum = None): self.name = name