1 |
commit: e3f7b8cb4d32e221c64ec361032d76d58a261588 |
2 |
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org> |
3 |
AuthorDate: Tue May 29 14:47:59 2012 +0000 |
4 |
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua> |
5 |
CommitDate: Tue May 29 14:47:59 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=e3f7b8cb |
7 |
|
8 |
Changes in keywords. |
9 |
|
10 |
--- |
11 |
gpackages/apps/packages/managers.py | 2 +- |
12 |
gpackages/apps/packages/models.py | 17 ++++++++++++----- |
13 |
gpackages/libs/porttree.py | 15 ++++++++++----- |
14 |
3 files changed, 23 insertions(+), 11 deletions(-) |
15 |
|
16 |
diff --git a/gpackages/apps/packages/managers.py b/gpackages/apps/packages/managers.py |
17 |
index dd9c2cb..a9b514b 100644 |
18 |
--- a/gpackages/apps/packages/managers.py |
19 |
+++ b/gpackages/apps/packages/managers.py |
20 |
@@ -35,7 +35,7 @@ class KeywordMixin(object): |
21 |
if keyword is not None: |
22 |
if isinstance(keyword, Keyword): |
23 |
arch, created = packages.models.ArchesModel.objects.get_or_create(name = keyword.name) |
24 |
- kwargs.update({'arch': arch, 'is_stable': keyword.is_stable }) |
25 |
+ kwargs.update({'arch': arch, 'status': keyword.status}) |
26 |
else: |
27 |
raise ValueError("Bad keyword object") |
28 |
|
29 |
|
30 |
diff --git a/gpackages/apps/packages/models.py b/gpackages/apps/packages/models.py |
31 |
index 1d2fbe7..0ef5e8c 100644 |
32 |
--- a/gpackages/apps/packages/models.py |
33 |
+++ b/gpackages/apps/packages/models.py |
34 |
@@ -97,8 +97,8 @@ class LicensModel(models.Model): |
35 |
class EbuildModel(models.Model): |
36 |
package = models.ForeignKey(PackageModel) |
37 |
#repository = models.ForeignKey(RepositoryModel) |
38 |
- version = models.CharField(max_length = 16) |
39 |
- revision = models.CharField(max_length = 6) |
40 |
+ version = models.CharField(max_length = 26) |
41 |
+ revision = models.CharField(max_length = 12) |
42 |
use_flags = models.ManyToManyField(UseFlagModel) |
43 |
licenses = models.ManyToManyField(LicensModel) |
44 |
license = models.CharField(max_length = 254, blank = True ) |
45 |
@@ -168,14 +168,21 @@ class EbuildModel(models.Model): |
46 |
|
47 |
|
48 |
class Keyword(models.Model): |
49 |
+ STATUS_CHOICES = ( |
50 |
+ (0, 'STABLE'), |
51 |
+ (1, 'NEED TESTING'), |
52 |
+ (2, 'NOT WORK') |
53 |
+ ) |
54 |
+ status_repr = ['','~','-'] |
55 |
+ |
56 |
ebuild = models.ForeignKey(EbuildModel) |
57 |
arch = models.ForeignKey(ArchesModel) |
58 |
- is_stable = models.BooleanField() |
59 |
+ status = models.PositiveSmallIntegerField(choices = STATUS_CHOICES) |
60 |
|
61 |
objects = managers.KeywordManager() |
62 |
|
63 |
def __unicode__(self): |
64 |
- return ('' if self.is_stable else '~' ) + str(self.arch) |
65 |
+ return self.status_repr[self.status] + str(self.arch) |
66 |
|
67 |
|
68 |
def init_by_keyword(self, keyword, ebuild): |
69 |
@@ -184,7 +191,7 @@ class Keyword(models.Model): |
70 |
elif isinstance(ebuild, Ebuild): |
71 |
self.ebuild, created = EbuildModel.objects.get_or_create(ebuild = ebuild) |
72 |
self.arch, created = ArchesModel.objects.get_or_create(name = keyword.name) |
73 |
- self.is_stable = keyword.is_stable |
74 |
+ self.status = keyword.status |
75 |
|
76 |
class Meta: |
77 |
unique_together = ('ebuild', 'arch') |
78 |
|
79 |
diff --git a/gpackages/libs/porttree.py b/gpackages/libs/porttree.py |
80 |
index 475a642..c50b74d 100644 |
81 |
--- a/gpackages/libs/porttree.py |
82 |
+++ b/gpackages/libs/porttree.py |
83 |
@@ -53,15 +53,20 @@ class Use(ToStrMixin): |
84 |
|
85 |
|
86 |
class Keyword(ToStrMixin): |
87 |
- def __init__(self, name, is_stable = True): |
88 |
- if name[0] == '~': |
89 |
+ status_repr = ['','~','-'] |
90 |
+ |
91 |
+ def __init__(self, name, status = 0): |
92 |
+ if name.startswith('~'): |
93 |
+ name = name[1:] |
94 |
+ status = 1 |
95 |
+ elif name.startswith('-'): |
96 |
name = name[1:] |
97 |
- is_stable = False |
98 |
+ status = 2 |
99 |
self.name = name |
100 |
- self.is_stable = is_stable |
101 |
+ self.status = status |
102 |
|
103 |
def __unicode__(self): |
104 |
- return ('' if self.is_stable else '~' ) + self.name |
105 |
+ return self.status_repr[self.status] + self.name |
106 |
|
107 |
|
108 |
class Portage(object): |