1 |
commit: 0004c002c9082ea81b515b806dc0da6cca0a741c |
2 |
Author: André Erdmann <dywi <AT> mailerd <DOT> de> |
3 |
AuthorDate: Thu Aug 29 09:20:53 2013 +0000 |
4 |
Commit: André Erdmann <dywi <AT> mailerd <DOT> de> |
5 |
CommitDate: Thu Aug 29 09:20:53 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=0004c002 |
7 |
|
8 |
ebuildparser: handle vartable=None |
9 |
|
10 |
--- |
11 |
roverlay/overlay/pkgdir/ebuildparser.py | 20 ++++++++++++++------ |
12 |
1 file changed, 14 insertions(+), 6 deletions(-) |
13 |
|
14 |
diff --git a/roverlay/overlay/pkgdir/ebuildparser.py b/roverlay/overlay/pkgdir/ebuildparser.py |
15 |
index 367a4ec..3f27b65 100644 |
16 |
--- a/roverlay/overlay/pkgdir/ebuildparser.py |
17 |
+++ b/roverlay/overlay/pkgdir/ebuildparser.py |
18 |
@@ -48,8 +48,12 @@ class SrcUriEntry ( object ): |
19 |
class EbuildParser ( object ): |
20 |
|
21 |
@classmethod |
22 |
- def from_file ( cls, filepath, vartable=None ): |
23 |
+ def from_file ( cls, filepath, vartable=None, unquote_value=None ): |
24 |
instance = cls ( filepath, vartable=vartable ) |
25 |
+ |
26 |
+ if unquote_value is not None: |
27 |
+ instance.unquote_value = bool ( unquote_value ) |
28 |
+ |
29 |
instance.read() |
30 |
return instance |
31 |
# --- end of from_file (...) --- |
32 |
@@ -58,6 +62,7 @@ class EbuildParser ( object ): |
33 |
super ( EbuildParser, self ).__init__() |
34 |
self.filepath = filepath |
35 |
self.vartable = vartable |
36 |
+ self.unquote_value = True |
37 |
# --- end of __init__ (...) --- |
38 |
|
39 |
def _read_tokens ( self, breakparse=None ): |
40 |
@@ -77,7 +82,7 @@ class EbuildParser ( object ): |
41 |
token = reader.get_token() |
42 |
# --- end of _read_tokens (...) --- |
43 |
|
44 |
- def _read_variables ( self, do_unquote=True ): |
45 |
+ def _read_variables ( self ): |
46 |
# assumption: no (important) variables after the first function |
47 |
|
48 |
|
49 |
@@ -140,7 +145,7 @@ class EbuildParser ( object ): |
50 |
# pass |
51 |
|
52 |
|
53 |
- if do_unquote: |
54 |
+ if self.unquote_value: |
55 |
return { |
56 |
varname: ( |
57 |
roverlay.strutil.unquote ( value ) if isinstance ( value, str ) |
58 |
@@ -243,9 +248,12 @@ class SrcUriParser ( EbuildParser ): |
59 |
yield char |
60 |
# --- end of convert_chars_with_vars (...) --- |
61 |
|
62 |
- varstr = lambda s: VFORMAT ( |
63 |
- ''.join ( convert_chars_with_vars ( s ) ), (), self.vartable |
64 |
- ) |
65 |
+ if self.vartable is None: |
66 |
+ varstr = lambda s: ''.join ( convert_chars_with_vars ( s ) ) |
67 |
+ else: |
68 |
+ varstr = lambda s: VFORMAT ( |
69 |
+ ''.join ( convert_chars_with_vars ( s ) ), (), self.vartable |
70 |
+ ) |
71 |
|
72 |
if self.src_uri: |
73 |
for entry in self.src_uri: |