Index: recipes.py |
diff --git a/recipes.py b/recipes.py |
index f83aaddb0d372a7ff191507c4bbaeaf20b19791a..79ca537dc1c27405b288397cb236bdf1a5b4c020 100755 |
--- a/recipes.py |
+++ b/recipes.py |
@@ -51,11 +51,17 @@ def parse_protobuf(fh): |
Returns: |
A recursive dictionary of lists. |
""" |
- def parse_atom(text): |
+ def parse_atom(field, text): |
if text == 'true': |
return True |
if text == 'false': |
return False |
+ |
+ # repo_type is an enum. Since it does not have quotes, |
+ # invoking literal_eval would fail. |
+ if field == 'repo_type': |
+ return text |
+ |
return ast.literal_eval(text) |
ret = {} |
@@ -63,7 +69,7 @@ def parse_protobuf(fh): |
line = line.strip() |
m = re.match(r'(\w+)\s*:\s*(.*)', line) |
if m: |
- ret.setdefault(m.group(1), []).append(parse_atom(m.group(2))) |
+ ret.setdefault(m.group(1), []).append(parse_atom(m.group(1), m.group(2))) |
continue |
m = re.match(r'(\w+)\s*{', line) |