mirror of
https://github.com/gryf/wicd.git
synced 2025-12-23 06:37:59 +01:00
Fix some issues in the template error handling code.
This commit is contained in:
10
wicd/misc.py
10
wicd/misc.py
@@ -295,12 +295,10 @@ def __parse_field_ent(fields, field_type='require'):
|
|||||||
ret = []
|
ret = []
|
||||||
# We need an even number of entries in the line for it to be valid.
|
# We need an even number of entries in the line for it to be valid.
|
||||||
if (len(fields) % 2) != 0:
|
if (len(fields) % 2) != 0:
|
||||||
print "Invalid '%s' line found in template %s" % (field_type, enctype)
|
|
||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
for val, disp_val in grouper(2, fields, fillvalue=None):
|
for val, disp_val in grouper(2, fields, fillvalue=None):
|
||||||
if val.startswith("*") or not disp_val.startswith("*"):
|
if val.startswith("*") or not disp_val.startswith("*"):
|
||||||
print "Invalid '%s' line found in template %s" % (field_type, enctype)
|
|
||||||
return None
|
return None
|
||||||
ret.append([val, disp_val[1:]])
|
ret.append([val, disp_val[1:]])
|
||||||
return ret
|
return ret
|
||||||
@@ -321,14 +319,15 @@ def _parse_enc_template(enctype):
|
|||||||
cur_type["fields"] = []
|
cur_type["fields"] = []
|
||||||
cur_type['optional'] = []
|
cur_type['optional'] = []
|
||||||
cur_type['required'] = []
|
cur_type['required'] = []
|
||||||
|
cur_type['name'] = ""
|
||||||
for index, line in enumerate(f):
|
for index, line in enumerate(f):
|
||||||
if line.startswith("name") and not "name" in cur_type:
|
if line.startswith("name") and not cur_type["name"]:
|
||||||
cur_type["name"] = parse_ent(line, "name")
|
cur_type["name"] = parse_ent(line, "name")
|
||||||
elif line.startswith("require"):
|
elif line.startswith("require"):
|
||||||
cur_type["required"] = __parse_field_ent(parse_ent(line,
|
cur_type["required"] = __parse_field_ent(parse_ent(line, "require"))
|
||||||
"require"))
|
|
||||||
if not cur_type["required"]:
|
if not cur_type["required"]:
|
||||||
# An error occured parsing the require line.
|
# An error occured parsing the require line.
|
||||||
|
print "Invalid 'required' line found in template %s" % enctype
|
||||||
continue
|
continue
|
||||||
elif line.startswith("optional"):
|
elif line.startswith("optional"):
|
||||||
cur_type["optional"] = __parse_field_ent(parse_ent(line,
|
cur_type["optional"] = __parse_field_ent(parse_ent(line,
|
||||||
@@ -336,6 +335,7 @@ def _parse_enc_template(enctype):
|
|||||||
field_type="optional")
|
field_type="optional")
|
||||||
if not cur_type["optional"]:
|
if not cur_type["optional"]:
|
||||||
# An error occured parsing the optional line.
|
# An error occured parsing the optional line.
|
||||||
|
print "Invalid 'optional' line found in template %s" % enctype
|
||||||
continue
|
continue
|
||||||
elif line.startswith("----"):
|
elif line.startswith("----"):
|
||||||
# We're done.
|
# We're done.
|
||||||
|
|||||||
Reference in New Issue
Block a user