aboutsummaryrefslogtreecommitdiffstats
path: root/hg_keywords.py
diff options
context:
space:
mode:
Diffstat (limited to 'hg_keywords.py')
-rw-r--r--hg_keywords.py19
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])