commit:     47349f8b5ef3012c915ff8ad7825caefde103891
Author:     Devan Franchini <twitch153 <AT> gentoo <DOT> org>
AuthorDate: Thu Jul  9 16:59:57 2015 +0000
Commit:     Devan Franchini <twitch153 <AT> gentoo <DOT> org>
CommitDate: Thu Jul  9 16:59:59 2015 +0000
URL:        https://gitweb.gentoo.org/proj/layman.git/commit/?id=47349f8b

dbbase.py: Modifies read_db function to allow for passing a text parameter

This was done to allow for only one read*() function and add
compatibility with the way read() was originally set up.

xml.py: read_db() is also modified in this file for the same purpose.
remotedb.py: changes the calling of self.read() to self.read_db().

 layman/db_modules/xml/xml.py | 17 ++++++++++-------
 layman/dbbase.py             |  4 ++--
 layman/remotedb.py           |  2 +-
 3 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/layman/db_modules/xml/xml.py b/layman/db_modules/xml/xml.py
index 189e868..c444fc3 100644
--- a/layman/db_modules/xml/xml.py
+++ b/layman/db_modules/xml/xml.py
@@ -107,16 +107,19 @@ class DBHandler(object):
         raise NotImplementedError(msg)
 
 
-    def read_db(self, path):
+    def read_db(self, path, text=None):
         '''
         Read the overlay definition file.
         '''
-        try:
-            with fileopen(path, 'r') as df:
-                document = df.read()
-        except Exception as error:
-            if not self.ignore_init_read_errors:
-                msg = 'XML DBHandler - Failed to read the overlay list at'\
+        document = text
+
+        if not document:
+            try:
+                with fileopen(path, 'r') as df:
+                    document = df.read()
+            except Exception as error:
+                if not self.ignore_init_read_errors:
+                    msg = 'XML DBHandler - Failed to read the overlay list at'\
                       '("%(path)s")' % {'path': path}
                 self.output.error(msg)
                 raise error

diff --git a/layman/dbbase.py b/layman/dbbase.py
index b6c32bc..56ef158 100644
--- a/layman/dbbase.py
+++ b/layman/dbbase.py
@@ -167,7 +167,7 @@ class DbBase(object):
         return
 
 
-    def read_db(self, path):
+    def read_db(self, path, text=None):
         '''
         Read the overlay database for installed overlay definitions.
         '''
@@ -178,7 +178,7 @@ class DbBase(object):
                      self.ignore,
                      self.ignore_init_read_errors)
 
-            db_ctl.read_db(path)
+            db_ctl.read_db(path, text=text)
 
 
     def write(self, path):

diff --git a/layman/remotedb.py b/layman/remotedb.py
index e6492f4..cd6ece3 100644
--- a/layman/remotedb.py
+++ b/layman/remotedb.py
@@ -280,7 +280,7 @@ class RemoteDB(DbBase):
     def _check_download(self, olist, url):
 
         try:
-            self.read(olist, origin=url)
+            self.read_db(url, text=olist)
         except Exception as error:
             self.output.debug("RemoteDB._check_download(), url=%s \nolist:\n"
                 % url,2)

Reply via email to