extras-repoclosure PackageOwners.py,1.3,1.4

Michael Schwendt (mschwendt) fedora-extras-commits at redhat.com
Fri Sep 15 11:32:24 UTC 2006


Author: mschwendt

Update of /cvs/fedora/extras-repoclosure
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv14242

Modified Files:
	PackageOwners.py 
Log Message:
one shouldn't cwd too much ;)


Index: PackageOwners.py
===================================================================
RCS file: /cvs/fedora/extras-repoclosure/PackageOwners.py,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- PackageOwners.py	8 Aug 2006 16:01:49 -0000	1.3
+++ PackageOwners.py	15 Sep 2006 11:32:21 -0000	1.4
@@ -29,6 +29,7 @@
         self.retrysecs = retrysecs
         self.workdir = workdir
         self.ownersfile = os.path.join('owners', 'owners.list')
+        self.cwdstack = []
         self._refresh()
 
     def __getitem__(self,rpmname):
@@ -60,12 +61,13 @@
         return r
 
     def _enterworkdir(self):
-        self.cwd = os.getcwd()
+        self.cwdstack.append( os.getcwd() )
         if self.workdir != '':
             os.chdir(self.workdir)
 
     def _leaveworkdir(self):
-        os.chdir(self.cwd)
+        if len(self.cwdstack):
+            os.chdir( self.cwdstack.pop() )
         
     def _refresh(self):
         self.dict = {}  # map package name to email address, dict[name]
@@ -83,6 +85,7 @@
         except IOError, (err, strerr):
             print 'ERROR: %s' % strerr
             # TODO: customise behaviour on error conditions
+            self._leaveworkdir()
             sys.exit(err)
         for line in f:
             if line.startswith('#') or line.isspace():
@@ -120,6 +123,7 @@
             time.sleep(self.retrysecs)
         if rc:
             # TODO: customise behaviour on error conditions
+            self._leaveworkdir()
             sys.exit(1)
         self._leaveworkdir()
 




More information about the fedora-extras-commits mailing list