From d1dfc45b051b0e14c0e2d7ed6dbf1d32927d7bfb Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Thu, 4 Dec 2008 10:32:10 -0500 Subject: bug severity verification now works with per-tree severities. I adjusted the YAML format following http://pyyaml.org/ticket/11 Unicode support To remove '!!python/unicode' escapes and allow unicode in the output. We can always have unicode in the output because the output is encoded (as per the BugFile.encoding setting) before being sent to the outside world. --- .../4a4609c8-1882-47de-9d30-fee410b8a802/values | 31 ++++------------------ .be/settings | 26 +++++++++--------- libbe/bug.py | 6 +---- libbe/mapfile.py | 8 +++++- 4 files changed, 27 insertions(+), 44 deletions(-) diff --git a/.be/bugs/4a4609c8-1882-47de-9d30-fee410b8a802/values b/.be/bugs/4a4609c8-1882-47de-9d30-fee410b8a802/values index 5d081cf..82ba236 100644 --- a/.be/bugs/4a4609c8-1882-47de-9d30-fee410b8a802/values +++ b/.be/bugs/4a4609c8-1882-47de-9d30-fee410b8a802/values @@ -1,35 +1,14 @@ +creator: abentley +severity: moderate -creator=abentley +status: open +summary: Do we need a severity between serious and minor? EG "Moderate"? - -severity=serious - - - - - - -status=open - - - - - - -summary=Do we need a severity between serious and minor? EG "Moderate"? - - - - - - -time=Wed, 25 Jan 2006 23:14:07 +0000 - - +time: Wed, 25 Jan 2006 23:14:07 +0000 diff --git a/.be/settings b/.be/settings index 26f81cd..807b33c 100644 --- a/.be/settings +++ b/.be/settings @@ -1,15 +1,17 @@ rcs_name: bzr + severities: -- name: wishlist - description: A feature that could improve usefulness, but not a bug. -- name: minor - description: The standard bug level. -- name: moderate - description: Yet another bug severity. -- name: serious - description: A bug that requires workarounds. -- name: critical - description: A bug that prevents some features from working at all. -- name: fatal - description: A bug that makes the package unusable. +- - wishlist + - A feature that could improve usefulness, but not a bug. +- - minor + - The standard bug level. +- - moderate + - Yet another bug severity. +- - serious + - A bug that requires workarounds. +- - critical + - A bug that prevents some features from working at all. +- - fatal + - A bug that makes the package unusable. + diff --git a/libbe/bug.py b/libbe/bug.py index 46f244f..2cd05e3 100644 --- a/libbe/bug.py +++ b/libbe/bug.py @@ -65,10 +65,6 @@ def load_severities(severity_def): global severity_values global severity_description global severity_index - if type(severity_def[0]) == dict: - # Convert {"name": "X", "description": "Y"} severities to ("X","Y"). - # The dict form is loaded from the per-tree settings file. - severity_def = [(d["name"], d["description"]) for d in severity_def] severity_values = tuple([val for val,description in severity_def]) severity_description = dict(severity_def) severity_index = {} @@ -125,7 +121,7 @@ class Bug(settings_object.SavedSettingsObject): @_versioned_property(name="severity", doc="A measure of the bug's importance", default="minor", - allowed=severity_values, + check_fn=lambda s: s in severity_values, require_save=True) def severity(): return {} diff --git a/libbe/mapfile.py b/libbe/mapfile.py index a84cca3..f53f72c 100644 --- a/libbe/mapfile.py +++ b/libbe/mapfile.py @@ -34,6 +34,10 @@ def generate(map): """Generate a YAML mapfile content string. >>> generate({"q":"p"}) 'q: p\\n\\n' + >>> generate({"q":u"Fran\u00e7ais"}) + 'q: Fran\\xc3\\xa7ais\\n\\n' + >>> generate({"q":u"hello"}) + 'q: hello\\n\\n' >>> generate({"q=":"p"}) Traceback (most recent call last): IllegalKey: Illegal key "q=" @@ -69,7 +73,9 @@ def generate(map): lines = [] for key in keys: - lines.append(yaml.dump({key: map[key]}, default_flow_style=False)) + lines.append(yaml.safe_dump({key: map[key]}, + default_flow_style=False, + allow_unicode=True)) lines.append("") return '\n'.join(lines) -- cgit