From 5481c18ed4446ea3cf333a6d5629fd2219a15ca4 Mon Sep 17 00:00:00 2001 From: Sebastien Luttringer <sebastien.luttringer@smartjog.com> Date: Fri, 23 Dec 2011 11:00:20 +0100 Subject: [PATCH] image and database format use now x.y format --- installsystems/database.py | 6 +++--- installsystems/image.py | 16 ++++++++++++++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/installsystems/database.py b/installsystems/database.py index c723e26..f9dc86e 100644 --- a/installsystems/database.py +++ b/installsystems/database.py @@ -52,11 +52,11 @@ class Database(object): r = self.ask("SELECT value FROM misc WHERE key = 'version'").fetchone() if r is None: raise TypeError() - self.version = r[0] + self.version = float(r[0]) except: - self.version = u"1" + self.version = 1.0 # we only support database v1 - if self.version != u"1": + if self.version >= 2.0: debug("Invalid database format: %s" % self.version) raise Exception("Invalid database format") # we make a query to be sure format is valid diff --git a/installsystems/image.py b/installsystems/image.py index 87a266f..9843f61 100644 --- a/installsystems/image.py +++ b/installsystems/image.py @@ -10,6 +10,7 @@ import os import stat import time import json +import math import difflib import ConfigParser import subprocess @@ -32,6 +33,8 @@ class Image(object): Abstract class of images ''' + # format should be a float X.Y but for compatibility reason it's a string + # before version 6, it's strict string comparaison format = "1" extension = ".isimage" @@ -546,8 +549,17 @@ class PackageImage(Image): desc = {} # check format img_format = self._tarball.get_str("format") - if img_format != self.format: - raise Exception("Invalid tarball image format") + try: + print img_format + print self.format + print math.floor(float(self.format)) + 1.0 + #print(int(self.format) + 1) + print 'toto' + if float(img_format) >= math.floor(float(self.format)) + 1.0: + print 'otot' + raise Exception() + except: + raise Exception("Invalid image format %s" % img_format) desc["format"] = img_format # check description try: -- GitLab