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/pkgdir/, roverlay/overlay/
Date: Mon, 28 Jan 2013 23:54:08
Message-Id: 1359416224.2c3c9f6f789361c4e1438d8b8a05c9f8287caed9.dywi@gentoo
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 )