From 16aceda7b7080ffc1acb95e4e70872a2d9354284 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Metin?= Date: Mon, 18 Jul 2005 23:19:58 +0000 Subject: [PATCH] =?UTF-8?q?files.xml=20i=C3=A7in=20verify=20eklendi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TODO | 2 +- pisi/files.py | 12 ++++++++++++ pisi/package.py | 2 ++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/TODO b/TODO index 76efd9a9..234c1b00 100644 --- a/TODO +++ b/TODO @@ -42,7 +42,7 @@ Legend: / verify metodlari + SpecFile + MetaData - - Files + + Files - Index - incremental build - generate binary release number by comparing MD5s diff --git a/pisi/files.py b/pisi/files.py index 995a9a5a..8d6ce65a 100644 --- a/pisi/files.py +++ b/pisi/files.py @@ -43,6 +43,13 @@ class FileInfo: elt.appendChild(hashElt) return elt + def verify(self): + if not self.path: return False + if not self.type: return False + if not self.size: return False + if not self.hash: return False + return True + class Files(XmlFile): def __init__(self): @@ -64,3 +71,8 @@ class Files(XmlFile): for x in self.list: document.appendChild(x.elt(self.dom)) self.writexml(filename) + + def verify(self): + for finfo in self.list: + if not finfo.verify(): return False + return True diff --git a/pisi/package.py b/pisi/package.py index 3ebd235e..977cd0f7 100644 --- a/pisi/package.py +++ b/pisi/package.py @@ -83,6 +83,8 @@ class Package: self.files = Files() self.files.read( join(outdir, const.files_xml) ) + if not self.files.verify(): + raise PackageError, "invalid %s" % const.files_xml def pkg_dir(self): packageDir = self.metadata.package.name + '-' \