commit:     532398248241678d3afa069d467081f7774a64cf
Author:     Devan Franchini <twitch153 <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 17 20:30:18 2014 +0000
Commit:     Devan Franchini <twitch153 <AT> gentoo <DOT> org>
CommitDate: Thu Jun 19 03:49:57 2014 +0000
URL:        
http://git.overlays.gentoo.org/gitweb/?p=proj/layman.git;a=commit;h=53239824

layman_.py: Adds re-initialization prevention code

This commit prevents unnecessary re-initialization of the LaymanAPI
in the layman sync plugin module.

---
 layman/layman_/layman_.py | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/layman/layman_/layman_.py b/layman/layman_/layman_.py
index a480e22..f869a96 100644
--- a/layman/layman_/layman_.py
+++ b/layman/layman_/layman_.py
@@ -114,9 +114,16 @@ class PyLayman(SyncBase):
     def __init__(self):
         SyncBase.__init__(self, 'layman', 'app-portage/layman')
 
+        self._layman = None
+
 
     def _get_layman_api(self):
 
+        # Make it so that we aren't initializing the
+        # LaymanAPI instance if it already exists.
+        if self._layman:
+            return self._layman
+
         config = BareConfig()
         self.message = Message(out=sys.stdout, err=sys.stderr)
 
@@ -138,6 +145,9 @@ class PyLayman(SyncBase):
                                report_errors=True,
                                output=self.config['output']
                                )
+
+        self._layman = layman_api
+
         return layman_api
 
     def new(self, **kwargs):

Reply via email to