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/
Date: Wed, 06 Jun 2012 19:53:02
Message-Id: 1339012078.1f51ac4acac24633cba9d7a531c7165af7acd09d.dywi@gentoo
1 commit: 1f51ac4acac24633cba9d7a531c7165af7acd09d
2 Author: André Erdmann <dywi <AT> mailerd <DOT> de>
3 AuthorDate: Wed Jun 6 19:47:58 2012 +0000
4 Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
5 CommitDate: Wed Jun 6 19:47:58 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=1f51ac4a
7
8 descriptionfields.py: reduce function calls
9 modified: roverlay/descriptionfields.py
10
11 ---
12 roverlay/descriptionfields.py | 60 +++++++++++++++++------------------------
13 1 files changed, 25 insertions(+), 35 deletions(-)
14
15 diff --git a/roverlay/descriptionfields.py b/roverlay/descriptionfields.py
16 index 72175cb..710f0c0 100644
17 --- a/roverlay/descriptionfields.py
18 +++ b/roverlay/descriptionfields.py
19 @@ -19,6 +19,11 @@ class DescriptionField:
20
21 self.name = name
22
23 + self.default_value = None
24 + self.flags = list ()
25 + self.allowed_values = list ()
26 + self.aliases = dict ()
27 +
28 # --- end of __init__ (...) ---
29
30
31 @@ -36,10 +41,7 @@ class DescriptionField:
32 arguments:
33 * flag -- name of the flag
34 """
35 - if not hasattr ( self, 'flags' ):
36 - self.flags = set ()
37 -
38 - self.flags.add ( flag.lower() )
39 + self.flags.append ( flag.lower() )
40
41 return None
42
43 @@ -55,10 +57,7 @@ class DescriptionField:
44 * value -- allowed value
45 """
46
47 - if not hasattr ( self, 'allowed_values' ):
48 - self.allowed_values = set ()
49 -
50 - self.allowed_values.add ( value )
51 + self.allowed_values.append ( value )
52
53 return None
54
55 @@ -69,8 +68,7 @@ class DescriptionField:
56 """Removes a flag from this DescriptionField. Does nothing if the flag
57 does not exist.
58 """
59 - if hasattr ( self, 'flags' ):
60 - self.flags.discard ( flag.lower() )
61 + self.flags.discard ( flag.lower() )
62 return None
63
64 # --- end of del_flag (...) ---
65 @@ -90,8 +88,6 @@ class DescriptionField:
66
67 raises: KeyError if alias_type unknown.
68 """
69 - if not hasattr ( self, 'aliases' ):
70 - self.aliases = dict ()
71
72 to_add = dict (
73 withcase = alias,
74 @@ -100,9 +96,9 @@ class DescriptionField:
75
76
77 if not alias_type in self.aliases:
78 - self.aliases [alias_type] = set ()
79 + self.aliases [alias_type] = list ()
80
81 - self.aliases [alias_type] . add ( to_add )
82 + self.aliases [alias_type] . append ( to_add )
83
84 return None
85
86 @@ -128,7 +124,7 @@ class DescriptionField:
87 """Returns the default value for this DescriptionField if it exists,
88 else None.
89 """
90 - return self.default_value if hasattr ( self, 'default_value' ) else None
91 + return self.default_value
92
93 # --- end of get_default_value (...) ---
94
95 @@ -146,7 +142,7 @@ class DescriptionField:
96
97 def get_flags ( self ):
98 """Returns the flags of this DescriptionField or an empty list (=no flags)."""
99 - return self.flags if hasattr ( self, 'flags' ) else []
100 + return self.flags
101
102 # --- end of get_flags (...) ---
103
104 @@ -155,7 +151,7 @@ class DescriptionField:
105 """Returns the allowed values of this DescriptionField or an empty list,
106 which should be interpreted as 'no value restriction'.
107 """
108 - return self.allowed_values if hasattr ( self, 'allowed_values' ) else []
109 + return self.allowed_values
110
111 # --- end of get_allowed_values (...) ---
112
113 @@ -181,9 +177,6 @@ class DescriptionField:
114 if not field_identifier:
115 # bad identifier
116 return False
117 - elif not hasattr ( self, aliases ):
118 - # no aliases
119 - return False
120
121 if 'withcase' in self.aliases:
122 if field_identifier in self.aliases ['withcase']:
123 @@ -194,6 +187,8 @@ class DescriptionField:
124 if field_id_lower in self.aliases ['nocase']:
125 return True
126
127 + return False
128 +
129 # --- end of matches_alias (...) ---
130
131
132 @@ -203,9 +198,6 @@ class DescriptionField:
133 arguments:
134 * flag --
135 """
136 - if not hasattr ( self, 'flags' ):
137 - return False
138 -
139 return bool ( flag.lower() in self.flags )
140
141 def value_allowed ( self, value, nocase=True ):
142 @@ -215,18 +207,17 @@ class DescriptionField:
143 * value -- value to check
144 * nocase -- if True (the default): be case insensitive
145 """
146 - allowed_values = self.get_allowed_values ()
147
148 - if not allowed_values:
149 + if not self.allowed_values:
150 return True
151 elif nocase:
152 lowval = value.lower()
153 - for allowed in allowed_values:
154 + for allowed in self.allowed_values:
155 if allowed.lower() == lowval:
156 return True
157
158 else:
159 - return bool ( value in allowed_values )
160 + return bool ( value in self.allowed_values )
161
162 return False
163
164 @@ -315,22 +306,21 @@ class DescriptionFields:
165 flagmap = dict ()
166 optionmap = dict (
167 defaults = dict (),
168 - allowed_values = set ()
169 + allowed_values = list ()
170 )
171
172 for field_name in self.fields.keys():
173 -
174 - d = self.fields [field_name].get_default_value()
175 + d = self.fields [field_name].default_value
176 if not d is None:
177 optionmap ['defaults'] [field_name] = d
178
179 - if self.fields [field_name].get_allowed_values():
180 - optionmap ['allowed_values'].add ( field_name )
181 + if self.fields [field_name].allowed_values:
182 + optionmap ['allowed_values'].append ( field_name )
183
184 - for flag in self.fields [field_name].get_flags():
185 + for flag in self.fields [field_name].flags:
186 if not flag in flagmap:
187 - flagmap [flag] = set ()
188 - flagmap [flag].add ( field_name )
189 + flagmap [flag] = list ()
190 + flagmap [flag].append ( field_name )
191
192 self._fields_by_flag = flagmap
193 self._fields_by_option = optionmap