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/overlay/pkgdir/
Date: Thu, 29 Aug 2013 12:36:37
Message-Id: 1377768053.0004c002c9082ea81b515b806dc0da6cca0a741c.dywi@gentoo
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: