1 |
commit: 358b177ec765d8dfae6cde6c43add6ae08979e52 |
2 |
Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org> |
3 |
AuthorDate: Tue Jul 3 10:27:01 2012 +0000 |
4 |
Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua> |
5 |
CommitDate: Tue Jul 3 10:30:02 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=358b177e |
7 |
|
8 |
Show hardmask in keywords table |
9 |
|
10 |
--- |
11 |
gpackages/apps/packages/admin.py | 2 +- |
12 |
gpackages/apps/packages/keywords.py | 13 ++++++++++--- |
13 |
gpackages/apps/packages/models.py | 2 +- |
14 |
3 files changed, 12 insertions(+), 5 deletions(-) |
15 |
|
16 |
diff --git a/gpackages/apps/packages/admin.py b/gpackages/apps/packages/admin.py |
17 |
index 04a269e..cfeeb80 100644 |
18 |
--- a/gpackages/apps/packages/admin.py |
19 |
+++ b/gpackages/apps/packages/admin.py |
20 |
@@ -34,7 +34,7 @@ class ArchesAdmin(admin.ModelAdmin): |
21 |
|
22 |
class EbuildAdmin(admin.ModelAdmin): |
23 |
list_display = ('__unicode__', 'is_hard_masked', ) |
24 |
- list_filter = ('created_datetime','updated_datetime', 'licenses', 'is_hard_masked') |
25 |
+ list_filter = ('created_datetime','updated_datetime', 'is_hard_masked', 'licenses') |
26 |
filter_horizontal = ('licenses', 'use_flags', 'homepages') |
27 |
date_hierarchy = 'updated_datetime' |
28 |
list_select_related = True |
29 |
|
30 |
diff --git a/gpackages/apps/packages/keywords.py b/gpackages/apps/packages/keywords.py |
31 |
index 0ab1e87..8b71f77 100644 |
32 |
--- a/gpackages/apps/packages/keywords.py |
33 |
+++ b/gpackages/apps/packages/keywords.py |
34 |
@@ -3,21 +3,28 @@ from package_info.generic import ToStrMixin |
35 |
|
36 |
class KeywordRepr(ToStrMixin): |
37 |
|
38 |
- __slots__ = ('status', 'arch') |
39 |
+ __slots__ = ('status', 'arch', 'hardmask') |
40 |
|
41 |
status_repr_list = ('', '+', '~','-') |
42 |
status_class_list = ('blank', 'stable', 'unstable', 'hardmask') |
43 |
|
44 |
- def __init__(self, arch, status): |
45 |
+ def __init__(self, arch, status, hardmask = False): |
46 |
self.arch = arch |
47 |
self.status = status |
48 |
+ self.hardmask = hardmask |
49 |
|
50 |
@property |
51 |
def status_repr(self): |
52 |
- return self.status_repr_list[self.status + 1] |
53 |
+ st = self.status_repr_list[self.status + 1] |
54 |
+ if self.hardmask and st: |
55 |
+ st = 'M' + st |
56 |
+ return st |
57 |
|
58 |
@property |
59 |
def status_class(self): |
60 |
+ # Maybe set hardmask class only for status > 0 |
61 |
+ if self.hardmask: |
62 |
+ return self.status_class_list[3] |
63 |
return self.status_class_list[self.status + 1] |
64 |
|
65 |
def __unicode__(self): |
66 |
|
67 |
diff --git a/gpackages/apps/packages/models.py b/gpackages/apps/packages/models.py |
68 |
index 5ce8919..98abc79 100644 |
69 |
--- a/gpackages/apps/packages/models.py |
70 |
+++ b/gpackages/apps/packages/models.py |
71 |
@@ -498,7 +498,7 @@ class EbuildModel(AbstractDateTimeModel): |
72 |
|
73 |
def get_keywords(self, arch_list): |
74 |
keywords_dict = self.get_keywords_dict(arch_list) |
75 |
- return (KeywordRepr(arch, keywords_dict[arch]) for arch in arch_list) |
76 |
+ return (KeywordRepr(arch, keywords_dict[arch], self.is_hard_masked) for arch in arch_list) |
77 |
|
78 |
def get_keywords_dict(self, arch_list): |
79 |
arch_set = set(arch_list) |