From 3f70553a078aafbb029782ec092c8d037d9ea45f Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Mon, 27 Jul 2009 23:25:21 +0200 Subject: Moved eix stuff to its own module. Also make all the parsing stuff being functions -- will be easier to deal with for the LazyElements --- portato/eix/__init__.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 portato/eix/__init__.py (limited to 'portato/eix/__init__.py') diff --git a/portato/eix/__init__.py b/portato/eix/__init__.py new file mode 100644 index 0000000..3c1958e --- /dev/null +++ b/portato/eix/__init__.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +# +# File: portato/eix/__init__.py +# This file is part of the Portato-Project, a graphical portage-frontend. +# +# Copyright (C) 2006-2009 René 'Necoro' Neumann +# This is free software. You may redistribute copies of it under the terms of +# the GNU General Public License version 2. +# There is NO WARRANTY, to the extent permitted by law. +# +# Written by René 'Necoro' Neumann + +from __future__ import absolute_import, with_statement + +from . import parser +from . import exceptions as ex + +from ..helper import debug + +class EixReader(object): + supported_version = (28,) + + def __init__ (self, filename): + self.filename = filename + self.file = open(filename, "r") + + try: + self.version = parser.number(self.file) + + if self.version not in self.supported_versions: + raise ex.UnsupportedVersionError(self.version) + + debug("Started EixReader for version %s.", self.version) + except: + self.close() + raise + + def close (self): + self.file.close() + debug("EixReader closed.") -- cgit v1.2.3-70-g09d2