Gentoo Archives: gentoo-commits

From: Slava Bacherikov <slava@××××××××××××××.ua>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/, gpackages/libs/package_info/
Date: Thu, 05 Jul 2012 23:27:20
Message-Id: 1341496566.534a5f0fa7c37ce9ab45ac964c63f6e319034a4e.bacher09@gentoo
1 commit: 534a5f0fa7c37ce9ab45ac964c63f6e319034a4e
2 Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
3 AuthorDate: Thu Jul 5 13:56:06 2012 +0000
4 Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
5 CommitDate: Thu Jul 5 13:56:06 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=534a5f0f
7
8 Save eapi and slot info to database
9
10 ---
11 gpackages/apps/packages/models.py | 7 +++++--
12 gpackages/libs/package_info/mixins.py | 17 ++++++++++++++++-
13 2 files changed, 21 insertions(+), 3 deletions(-)
14
15 diff --git a/gpackages/apps/packages/models.py b/gpackages/apps/packages/models.py
16 index c5a51e3..51b839e 100644
17 --- a/gpackages/apps/packages/models.py
18 +++ b/gpackages/apps/packages/models.py
19 @@ -463,8 +463,9 @@ class EbuildModel(AbstractDateTimeModel):
20 homepages = models.ManyToManyField(HomepageModel, blank = True)
21 description = models.TextField(blank = True, null = True)
22
23 - #eapi = models.PositiveSmallIntegerField(default = 0)
24 - #slot = models.PositiveSmallIntegerField(default = 0)
25 + eapi = models.PositiveSmallIntegerField(default = 0)
26 + slot = models.CharField(max_length = 32, null = True,
27 + db_index = True, default = '0')
28
29
30 objects = managers.EbuildManager()
31 @@ -490,6 +491,8 @@ class EbuildModel(AbstractDateTimeModel):
32 self.ebuild_mtime = ebuild.mtime
33 self.ebuild_hash = ebuild.sha1
34 self.description = ebuild.description
35 + self.eapi = ebuild.eapi_as_int
36 + self.slot = ebuild.slot_for_q
37
38 def check_or_need_update(self, ebuild):
39 return self.ebuild_hash != ebuild.sha1
40
41 diff --git a/gpackages/libs/package_info/mixins.py b/gpackages/libs/package_info/mixins.py
42 index 0ef9b4d..c18607e 100644
43 --- a/gpackages/libs/package_info/mixins.py
44 +++ b/gpackages/libs/package_info/mixins.py
45 @@ -245,6 +245,20 @@ class EbuildRevMixin(object):
46 d = toint(d, 0)
47 return d
48
49 +class EbuildEapiMixin(object):
50 +
51 + @cached_property
52 + def eapi_as_int(self):
53 + return toint(self.eapi, 0)
54 +
55 +class EbuildSlotMixin(object):
56 +
57 + @cached_property
58 + def slot_for_q(self):
59 + if not self.slot:
60 + return None
61 + return self.slot
62 +
63 class EbuildHomepageMixin(object):
64
65 @cached_property
66 @@ -333,7 +347,8 @@ class EbuildUseMixin(object):
67 return frozenset(self.get_uses())
68
69 class EbuildGenericProp(EbuildHomepageMixin, EbuildLicenseMixin, \
70 - EbuildKeywordsMixin, EbuildUseMixin, EbuildRevMixin):
71 + EbuildKeywordsMixin, EbuildUseMixin, EbuildRevMixin,
72 + EbuildSlotMixin, EbuildEapiMixin):
73 pass
74
75 class PortageGenericMixin(PortageBaseMixin, PortageHerdsMixin):