aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--hg_keywords.py19
-rw-r--r--setup.py4
-rw-r--r--version.py8
3 files changed, 27 insertions, 4 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])
diff --git a/setup.py b/setup.py
index c1919f6..1c7e974 100644
--- a/setup.py
+++ b/setup.py
@@ -1,9 +1,5 @@
from setuptools import setup
-branches = "$branches$"
-node = "$node$"
-tags = "$tags$"
-
setup(
name = "urllib2_kerberos"
)
diff --git a/version.py b/version.py
new file mode 100644
index 0000000..d61a600
--- /dev/null
+++ b/version.py
@@ -0,0 +1,8 @@
+import hg_keywords
+
+keywords = hg_keywords.keywords(
+ "$branches$",
+ "$node",
+ "$rev$",
+ "$tags$"
+ )