diff options
Diffstat (limited to 'hg_keywords.py')
-rw-r--r-- | hg_keywords.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/hg_keywords.py b/hg_keywords.py new file mode 100644 index 0000000..778c514 --- /dev/null +++ b/hg_keywords.py @@ -0,0 +1,19 @@ +import re + +keyword_rx = re.compile('^\$(\w+)\:\s+(\W+)\s*\$$') + +# returns tuple (key, value) +# returns None if kwstring is not a keyword expansion +def extract_keyvalue(kwstring): + mo = keyword_rx.match(kwstring) + if mo is None: return None + + try: + return mo.group(1,2) + except IndexError: + return None + + + +def keywords(*kwstrings): + dict([extract_kwvalue(kws) for kws in kwstrings]) |