From 574165521d3d45c5c13cb2f65dc0d9ced5020c17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCrer=20=C3=96zen?= Date: Tue, 16 Aug 2005 10:29:23 +0000 Subject: [PATCH] =?UTF-8?q?SpecFile=20init=20esnas=C4=B1nda=20self=20kontr?= =?UTF-8?q?olleri=20uyguluyor,=20her=20t=C3=BCrl=C3=BC=20hata=20XmlError?= =?UTF-8?q?=20exception=20raise=20ediyor.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pisi-cli | 6 +++--- pisi/build.py | 7 ------- pisi/specfile.py | 8 ++++++++ pisi/xmlfile.py | 6 +++++- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/pisi-cli b/pisi-cli index d8e578ff..eb7006f6 100755 --- a/pisi-cli +++ b/pisi-cli @@ -18,14 +18,14 @@ from pisi.ui import ui def handle_exception(exception, value, tb): import traceback import exceptions - import xml + import pisi.xmlext.XmlError as XmlError from pisi.ui import ui if exception == exceptions.KeyboardInterrupt: ui.error("\nKeyboardInterrupt: Exiting...\n") sys.exit(1) - elif exception == xml.parsers.expat.ExpatError: - ui.error("Invalid XML: " + str(value)+'\n') + elif exception == XmlError: + ui.error(str(value)) sys.exit(1) ui.error(""" diff --git a/pisi/build.py b/pisi/build.py index 739aed71..57a8d9fb 100644 --- a/pisi/build.py +++ b/pisi/build.py @@ -87,13 +87,6 @@ class PisiBuild: self.actionGlobals = None self.srcDir = None - errs = self.spec.has_errors() - if errs: - ui.error("PSPEC file is not valid\n") - for e in errs: - ui.error(e + '\n') - raise PisiBuildError, "invalid PSPEC file %s" % self.ctx.pspecfile - def set_state(self, state): stateFile = os.path.join(self.srcDir, "pisiBuildState") open(stateFile, "w").write(state) diff --git a/pisi/specfile.py b/pisi/specfile.py index 713794bc..1489dc1f 100644 --- a/pisi/specfile.py +++ b/pisi/specfile.py @@ -27,6 +27,7 @@ from ui import ui from dependency import DepInfo from util import Checks + class PackagerInfo: def __init__(self, node = None): if node: @@ -376,6 +377,13 @@ class SpecFile(XmlFile): self.unlink() + errs = self.has_errors() + if errs: + e = "" + for x in errs: + e += x + "\n" + raise XmlError("File '%s' has errors:\n%s" % (filename, e)) + def override_tags(self): """Override tags from Source in Packages. Some tags in Packages overrides the tags from Source. There is a more detailed diff --git a/pisi/xmlfile.py b/pisi/xmlfile.py index c23c774d..1d120868 100644 --- a/pisi/xmlfile.py +++ b/pisi/xmlfile.py @@ -23,6 +23,7 @@ # Baris Metin