Gentoo Archives: gentoo-commits

From: "André Erdmann" <dywi@×××××××.de>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/overlay/metadata/, roverlay/overlay/
Date: Tue, 31 Jul 2012 17:52:08
Message-Id: 1343743347.3a7ca63ed7d8a57927835ce06b718354caa30b1a.dywi@gentoo
1 commit: 3a7ca63ed7d8a57927835ce06b718354caa30b1a
2 Author: André Erdmann <dywi <AT> mailerd <DOT> de>
3 AuthorDate: Tue Jul 31 14:02:27 2012 +0000
4 Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
5 CommitDate: Tue Jul 31 14:02:27 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=3a7ca63e
7
8 fix show_metadata
9
10 this fixes calling show_metadata with no metadata available
11
12 ---
13 roverlay/overlay/metadata/__init__.py | 44 +++++++++++++++++++-------------
14 roverlay/overlay/package.py | 1 +
15 2 files changed, 27 insertions(+), 18 deletions(-)
16
17 diff --git a/roverlay/overlay/metadata/__init__.py b/roverlay/overlay/metadata/__init__.py
18 index c07f7a2..36e775c 100644
19 --- a/roverlay/overlay/metadata/__init__.py
20 +++ b/roverlay/overlay/metadata/__init__.py
21 @@ -42,7 +42,9 @@ class MetadataJob ( object ):
22 self._package_info = package_info
23 # --- end of update (...) ---
24
25 - def update_using_iterable ( self, package_info_iter ):
26 + def update_using_iterable ( self, package_info_iter, reset=True ):
27 + if reset:
28 + self._package_info = None
29 for package_info in package_info_iter:
30 self.update ( package_info )
31 # --- end of update_using_iterable (...) ---
32 @@ -101,24 +103,30 @@ class MetadataJob ( object ):
33 # --- end of _write (...) ---
34
35 def show ( self, stream ):
36 - return self._create().write_file ( stream )
37 + if self._package_info is not None:
38 + return self._create().write_file ( stream )
39 + else:
40 + return False
41 # --- end of show (...) ---
42
43 def write ( self ):
44 - _success = False
45 - try:
46 - # succeed if metadata empty or written
47 - mref = self._create()
48 - if mref.empty():
49 - _success = True
50 - else:
51 - fh = open ( self.filepath, 'w' )
52 - _success = self._write ( fh, mref )
53 -
54 - except Exception as e:
55 - self.logger.exception ( e )
56 - finally:
57 - if 'fh' in locals() and fh: fh.close()
58 -
59 - return _success
60 + if self._package_info is not None:
61 + _success = False
62 + try:
63 + # succeed if metadata empty or written
64 + mref = self._create()
65 + if mref.empty():
66 + _success = True
67 + else:
68 + fh = open ( self.filepath, 'w' )
69 + _success = self._write ( fh, mref )
70 +
71 + except Exception as e:
72 + self.logger.exception ( e )
73 + finally:
74 + if 'fh' in locals() and fh: fh.close()
75 +
76 + return _success
77 + else:
78 + return False
79 # --- end of write (...) ---
80
81 diff --git a/roverlay/overlay/package.py b/roverlay/overlay/package.py
82 index cb5cf72..434b1b1 100644
83 --- a/roverlay/overlay/package.py
84 +++ b/roverlay/overlay/package.py
85 @@ -158,6 +158,7 @@ class PackageDir ( object ):
86 # FIXME debug print
87 print ( "removing {PVR} from {PN}".format ( PVR=pvr, PN=self.name ) )
88 del self._packages [pvr]
89 + self.generate_metadata ( skip_if_existent=False )
90 except KeyError:
91 pass
92 finally: