From c5f49d3013402ccff52ee42a0d83e8c06384214a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eray=20=C3=96zkural?= Date: Thu, 3 Nov 2005 16:49:31 +0000 Subject: [PATCH] * port the old str methods to specfile and metadata's package * try to add __str__ to localtext, uh --- pisi/metadata.py | 11 +++++++---- pisi/specfile.py | 17 +++++++++++++++++ pisi/xmlfile.py | 16 ++++++++++++++++ 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/pisi/metadata.py b/pisi/metadata.py index 7bb5f5dd..6c051ccb 100644 --- a/pisi/metadata.py +++ b/pisi/metadata.py @@ -49,10 +49,13 @@ class Package(specfile.Package): self.version = self.history[0].version self.release = self.history[0].release - #def __str__(self): - #s = specfile.Package.__str__(self) - #return s - + def __str__(self): + s = specfile.Package.__str__(self) + s += _('Build: % s, Distribution: %s, Dist. Release: %s\n') % \ + (self.build, self.distribution, self.distributionRelease) + s += _('Architecture: %s, Installed Size: %s\n') % \ + (self.architecture, self.installedSize) + return s class MetaData(xmlfile.XmlFile): """Package metadata. Metadata is composed of Specfile and various diff --git a/pisi/specfile.py b/pisi/specfile.py index c58e14f1..fc40b435 100644 --- a/pisi/specfile.py +++ b/pisi/specfile.py @@ -44,6 +44,7 @@ class Packager: t_Name = [xmlfile.Text, xmlfile.mandatory] t_Email = [xmlfile.String, xmlfile.mandatory] + def __str__(self): s = "%s <%s>" % (self.name, self.email) return s @@ -132,6 +133,10 @@ class Archive: def decode_hook(self, node, errs, where): self.name = basename(self.uri) + def __str__(self): + s = _('URI: %s, type: %, sha1sum: %s') % (self.uri, self.type, self.sha1sum) + return s + class Source: @@ -180,6 +185,18 @@ class Package: deps = self.runtimeDependencies return pisi.dependency.satisfies_dependencies(self.name, deps) + def __str__(self): + s = _('Name: %s, version: %s, release: %s, build %s\n') % ( + self.name, self.version, self.release, self.build) + s += _('Summary: %s\n') % unicode(self.summary) + s += _('Description: %s\n') % unicode(self.description) + s += _('Component: %s\n') % unicode(self.partOf) + s += _('Provides: ') + for x in self.providesComar: + s += x.om + return s + '\n' + + class SpecFile(XmlFile): __metaclass__ = xmlfile.autoxml #needed when we specify a superclass diff --git a/pisi/xmlfile.py b/pisi/xmlfile.py index b07c5b71..ef902955 100644 --- a/pisi/xmlfile.py +++ b/pisi/xmlfile.py @@ -129,6 +129,22 @@ class LocalText(dict): else: errs.append(_("Tag should have at least an English or Turkish version")) + #FIXME: factor out these common routines + def print_text(self, file = sys.stdout): + w = Writer(file) # plain text + f = formatter.AbstractFormatter(w) + errs = [] + self.format(f, errs) + if errs: + for x in errs: + ctx.ui.warning(x) + + def str(self): + strfile = StringIO() + self.print_text(strfile) + str = strfile.getvalue() + strfile.close() + return str class Writer(formatter.DumbWriter): """adds unicode support"""