1 |
commit: c2cba20189488dbf0b0419dddb94176963e054e3 |
2 |
Author: Andre Erdmann <dywi <AT> mailerd <DOT> de> |
3 |
AuthorDate: Wed May 30 10:54:31 2012 +0000 |
4 |
Commit: André Erdmann <dywi <AT> mailerd <DOT> de> |
5 |
CommitDate: Wed May 30 10:54:31 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=c2cba201 |
7 |
|
8 |
roverlay, ebuild: fix list.append() / list.extend() |
9 |
modified: ebuild.py |
10 |
|
11 |
--- |
12 |
roverlay/ebuild.py | 26 ++++++++++++++++++++------ |
13 |
1 files changed, 20 insertions(+), 6 deletions(-) |
14 |
|
15 |
diff --git a/roverlay/ebuild.py b/roverlay/ebuild.py |
16 |
index 495b189..88dbde6 100644 |
17 |
--- a/roverlay/ebuild.py |
18 |
+++ b/roverlay/ebuild.py |
19 |
@@ -77,10 +77,13 @@ class Ebuild: |
20 |
raise Exception ("Ebuild data are readonly.") |
21 |
|
22 |
if append and key in self._data: |
23 |
- if isinstance ( self._data [key], list ): |
24 |
+ if not isinstance ( self._data [key], list ): |
25 |
+ self._data [key] = [ self._data [key] ] |
26 |
+ |
27 |
+ if isinstance ( value, list ): |
28 |
self._data [key].extend ( value ) |
29 |
else: |
30 |
- self._data [key] = [ self._data [key] ].extend ( value ) |
31 |
+ self._data [key].append ( value ) |
32 |
|
33 |
else: |
34 |
self._data [key] = value |
35 |
@@ -173,11 +176,22 @@ class Ebuild: |
36 |
IUSE = [ '${IUSE:-}' ], |
37 |
) |
38 |
|
39 |
+ tmp = None |
40 |
+ |
41 |
if 'DEPEND' in self._data: |
42 |
- ret ['DEPEND'].extend ( self._data ['DEPEND'] ) |
43 |
+ # todo: search if there is a extend method that does not split string into chars |
44 |
+ tmp = self._data ['DEPEND'] |
45 |
+ if isinstance ( tmp, list ): |
46 |
+ ret ['DEPEND'].extend ( tmp ) |
47 |
+ else: |
48 |
+ ret ['DEPEND'].append ( tmp ) |
49 |
|
50 |
if 'RDEPEND' in self._data: |
51 |
- ret ['RDEPEND'].extend ( self._data ['RDEPEND'] ) |
52 |
+ tmp = self._data ['RDEPEND'] |
53 |
+ if isinstance ( tmp, list ): |
54 |
+ ret ['RDEPEND'].extend ( tmp ) |
55 |
+ else: |
56 |
+ ret ['RDEPEND'].append ( tmp ) |
57 |
|
58 |
if have_suggests: |
59 |
ret ['R_SUGGESTS'] = self._data ['R_SUGGESTS'] |
60 |
@@ -217,14 +231,14 @@ class Ebuild: |
61 |
if oneline_list: |
62 |
var_value = ' '.join ( value ) |
63 |
elif indent_list: |
64 |
- var_value = ('\n' + (indent_level + 1) * EBUILD_INDENT).join ( value ) |
65 |
+ var_value = ('\n' + (indent_level + 1) * Ebuild.EBUILD_INDENT).join ( value ) |
66 |
else: |
67 |
'\n'.join ( value ) |
68 |
|
69 |
else: |
70 |
var_value = str ( value ) |
71 |
|
72 |
- return indent_level * EBUILD_INDENT + varname + '"' + value_str + '"' |
73 |
+ return indent_level * Ebuild.EBUILD_INDENT + varname + '="' + var_value + '"' |
74 |
|
75 |
# --- end of make_var (...) --- |