You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by da...@apache.org on 2012/12/11 12:28:02 UTC
svn commit: r1420100 - /subversion/trunk/build/transform_sql.py
Author: danielsh
Date: Tue Dec 11 11:28:01 2012
New Revision: 1420100
URL: http://svn.apache.org/viewvc?rev=1420100&view=rev
Log:
Refactor code. No functional change.
* build/transform_sql.py
(operator): Import.
(hotspots): New helper, factored out of extract_token_map().
(extract_token_map): Rewrite in functional style.
Modified:
subversion/trunk/build/transform_sql.py
Modified: subversion/trunk/build/transform_sql.py
URL: http://svn.apache.org/viewvc/subversion/trunk/build/transform_sql.py?rev=1420100&r1=1420099&r2=1420100&view=diff
==============================================================================
--- subversion/trunk/build/transform_sql.py (original)
+++ subversion/trunk/build/transform_sql.py Tue Dec 11 11:28:01 2012
@@ -25,6 +25,7 @@
#
+import operator
import os
import re
import sys
@@ -193,6 +194,14 @@ class NonRewritableDict(dict):
% (key, val, self.__getitem__(key)))
super(NonRewritableDict, self).__setitem__(key, val)
+def hotspots(fd):
+ hotspot = False
+ for line in fd:
+ # hotspot is TRUE within definitions of static const svn_token_map_t[].
+ hotspot ^= int(('svn_token_map_t', '\x7d;')[hotspot] in line)
+ if hotspot:
+ yield line
+
def extract_token_map(filename):
try:
fd = open(filename)
@@ -200,19 +209,13 @@ def extract_token_map(filename):
return {}
pattern = re.compile(r'"(.*?)".*(MAP_\w*)')
- map = NonRewritableDict()
- hotspot = False
- for line in fd:
- if ('svn_token_map_t', '\x7d;')[hotspot] in line:
- # hotspot is TRUE within definitions of static const svn_token_map_t[].
- hotspot = not hotspot
- continue
- if hotspot:
- match = pattern.search(line)
- if match:
- val, key = match.groups()
- map[key] = val
- return map
+ return \
+ NonRewritableDict(
+ map(operator.itemgetter(1,0),
+ map(operator.methodcaller('groups'),
+ filter(None,
+ map(pattern.search,
+ hotspots(fd))))))
def main(input_filepath, output):
filename = os.path.basename(input_filepath)