1 |
commit: 2c3c9f6f789361c4e1438d8b8a05c9f8287caed9 |
2 |
Author: André Erdmann <dywi <AT> mailerd <DOT> de> |
3 |
AuthorDate: Mon Jan 28 21:15:14 2013 +0000 |
4 |
Commit: André Erdmann <dywi <AT> mailerd <DOT> de> |
5 |
CommitDate: Mon Jan 28 23:37:04 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=2c3c9f6f |
7 |
|
8 |
roverlay/overlay: pass parent to PackageDir |
9 |
|
10 |
* roverlay/overlay/category.py: |
11 |
Pass "self" as parent parameter to the PackageDir constructor |
12 |
|
13 |
* roverlay/overlay/pkgdir/packagedir_base.py: |
14 |
Accept the parent parameter. |
15 |
Also added some comments. |
16 |
|
17 |
--- |
18 |
roverlay/overlay/category.py | 3 ++- |
19 |
roverlay/overlay/pkgdir/packagedir_base.py | 17 ++++++++++++++--- |
20 |
2 files changed, 16 insertions(+), 4 deletions(-) |
21 |
|
22 |
diff --git a/roverlay/overlay/category.py b/roverlay/overlay/category.py |
23 |
index 01c1776..3a58367 100644 |
24 |
--- a/roverlay/overlay/category.py |
25 |
+++ b/roverlay/overlay/category.py |
26 |
@@ -66,7 +66,8 @@ class Category ( object ): |
27 |
logger = self.logger, |
28 |
directory = self.physical_location + os.sep + pkg_name, |
29 |
get_header = self.get_header, |
30 |
- runtime_incremental = self.runtime_incremental |
31 |
+ runtime_incremental = self.runtime_incremental, |
32 |
+ parent = self |
33 |
) |
34 |
self._subdirs [pkg_name] = newpkg |
35 |
finally: |
36 |
|
37 |
diff --git a/roverlay/overlay/pkgdir/packagedir_base.py b/roverlay/overlay/pkgdir/packagedir_base.py |
38 |
index 34b7ef5..35350ee 100644 |
39 |
--- a/roverlay/overlay/pkgdir/packagedir_base.py |
40 |
+++ b/roverlay/overlay/pkgdir/packagedir_base.py |
41 |
@@ -6,11 +6,11 @@ |
42 |
|
43 |
"""overlay <-> filesystem interface (package directory) |
44 |
|
45 |
-This module provides the PackageDir class that offers direct |
46 |
+This module provides the PackageDir base class that offers direct |
47 |
PackageInfo (in memory) <-> package directory (as directory in filesystem) |
48 |
access, e.g. ebuild/metadata.xml/Manifest writing as well as scanning |
49 |
the existing package directory. |
50 |
-Each PackageDir represents one package name (e.g. "seewave"). |
51 |
+Each PackageDir instance represents one package name (e.g. "seewave"). |
52 |
""" |
53 |
|
54 |
__all__ = [ 'PackageDirBase', ] |
55 |
@@ -25,6 +25,8 @@ from roverlay.packageinfo import PackageInfo |
56 |
from roverlay.overlay.pkgdir.metadata import MetadataJob |
57 |
|
58 |
class PackageDirBase ( object ): |
59 |
+ """The PackageDir base class that implements most functionality except |
60 |
+ for Manifest file creation.""" |
61 |
|
62 |
EBUILD_SUFFIX = '.ebuild' |
63 |
SUPPRESS_EXCEPTIONS = True |
64 |
@@ -37,7 +39,7 @@ class PackageDirBase ( object ): |
65 |
MANIFEST_THREADSAFE = None |
66 |
|
67 |
def __init__ ( self, |
68 |
- name, logger, directory, get_header, runtime_incremental |
69 |
+ name, logger, directory, get_header, runtime_incremental, parent |
70 |
): |
71 |
"""Initializes a PackageDir which contains ebuilds, metadata and |
72 |
a Manifest file. |
73 |
@@ -55,6 +57,8 @@ class PackageDirBase ( object ): |
74 |
Writing all ebuilds at once is generally faster |
75 |
(+threading), but all PackageInfos must be |
76 |
kept in memory for that. |
77 |
+ * parent (pointer to) the object that is creating this |
78 |
+ instance |
79 |
""" |
80 |
self.logger = logger.getChild ( name ) |
81 |
self.name = name |
82 |
@@ -98,6 +102,13 @@ class PackageDirBase ( object ): |
83 |
# --- end of remove_ebuild_file (...) --- |
84 |
|
85 |
def _scan_add_package ( self, efile, pvr ): |
86 |
+ """Called for each ebuild that is found during scan(). |
87 |
+ Creates a PackageInfo for the ebuild and adds it to self._packages. |
88 |
+ |
89 |
+ arguments: |
90 |
+ * efile -- full path to the ebuild file |
91 |
+ * pvr -- version ($PVR) of the ebuild |
92 |
+ """ |
93 |
p = PackageInfo ( |
94 |
physical_only=True, pvr=pvr, ebuild_file=efile |
95 |
) |