- add icon tag to specfile and metadata

- fix bugs in specfile.read()
This commit is contained in:
Barış Metin
2005-09-14 06:51:24 +00:00
parent 83486dcea7
commit cbb6a3ea40
2 changed files with 21 additions and 0 deletions
+1
View File
@@ -108,6 +108,7 @@ class MetaData(XmlFile):
self.package.name = pkg.name
self.package.summary = pkg.summary
self.package.description = pkg.description
self.package.icon = pkg.icon
self.package.isa = pkg.isa
self.package.partof = pkg.partof
self.package.license = pkg.license
+20
View File
@@ -212,6 +212,7 @@ class SourceInfo:
self.summary = getNodeText(node, "Summary")
self.description = getNodeText(node, "Description")
self.license = map(getNodeText, getAllNodes(node, "License"))
self.icon = getNodeText(node, "Icon")
self.isa = map(getNodeText, getAllNodes(node, "IsA"))
self.partof = getNodeText(node, "PartOf")
archiveNode = getNode(node, "Archive")
@@ -234,7 +235,10 @@ class SourceInfo:
if self.homepage:
xml.addTextNodeUnder(node, "Homepage", self.homepage)
node.appendChild(self.packager.elt(xml))
xml.addTextNodeUnder(node, "Summary", self.summary)
xml.addTextNodeUnder(node, "Description", self.description)
if self.icon:
xml.addTextNodeUnder(node, "Icon", self.icon)
for lic in self.license:
xml.addTextNodeUnder(node, "License", lic)
for isa in self.isa:
@@ -287,6 +291,7 @@ class PackageInfo:
self.isa = map(getNodeText, getAllNodes(node, "IsA"))
self.partof = getNodeText(node, "PartOf")
self.license = map(getNodeText, getAllNodes(node, "License"))
self.icon = getNodeText(node, "Icon")
rtDepElts = getAllNodes(node, "RuntimeDependencies/Dependency")
self.runtimeDeps = [DepInfo(x) for x in rtDepElts]
self.paths = [PathInfo(x) for x in getAllNodes(node, "Files/Path")]
@@ -306,6 +311,8 @@ class PackageInfo:
xml.addTextNodeUnder(node, "Name", self.name)
xml.addTextNodeUnder(node, "Summary", self.summary)
xml.addTextNodeUnder(node, "Description", self.description)
if self.icon:
xml.addTextNodeUnder(node, "Icon", self.icon)
for lic in self.license:
xml.addTextNodeUnder(node, "License", lic)
for isa in self.isa:
@@ -399,6 +406,7 @@ class SpecFile(XmlFile):
overrides the tags from Source. There is a more detailed
description in documents."""
tmp = []
for pkg in self.packages:
if not pkg.summary:
@@ -412,12 +420,20 @@ class SpecFile(XmlFile):
if not pkg.license:
pkg.license = self.source.license
if not pkg.icon:
pkg.icon = self.source.icon
tmp.append(pkg)
self.packages = tmp
def merge_tags(self):
"""Merge tags from Source in Packages. Some tags in Packages merged
with the tags from Source. There is a more detailed
description in documents."""
tmp = []
for pkg in self.packages:
if pkg.isa and self.source.isa:
@@ -425,6 +441,10 @@ class SpecFile(XmlFile):
elif not pkg.isa and self.source.isa:
pkg.isa = self.source.isa
tmp.append(pkg)
self.packages = tmp
def has_errors(self):
"""Return errors of the PSPEC file if there are any."""
#FIXME: has_errors name is misleading for a function that does