diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-11-06 17:15:28 -0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-11-06 17:15:28 -0800 |
commit | 82dbac50600631907ecc43d55b174c23c9003607 (patch) | |
tree | 1bc3b8876d525b6eebe3eaaa5d95121ffddbb265 | |
parent | 8547bf5788d8ce62ae0d656bb838178ff96f295a (diff) |
optimize emscript indexize using python re
-rwxr-xr-x | emscripten.py | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/emscripten.py b/emscripten.py index 0b0d8899..66fd3194 100755 --- a/emscripten.py +++ b/emscripten.py @@ -187,17 +187,14 @@ def emscript(infile, settings, outfile, libraries=[]): # calculations on merged forwarded data forwarded_json['Functions']['indexedFunctions'] = {} - index_reps = [] i = 2 for indexed in indexed_functions: - index_reps.append((indexed, i)) - forwarded_json['Functions']['indexedFunctions'][indexed] = i + forwarded_json['Functions']['indexedFunctions'][indexed] = i # make sure not to modify this python object later - we use it in indexize i += 2 forwarded_json['Functions']['nextIndex'] = i + indexing = forwarded_json['Functions']['indexedFunctions'] def indexize(js): - for indexed, i in index_reps: - js = js.replace('{{{ FI_' + indexed + ' }}}', str(i)) # TODO: optimize, do them all with a regexp replace? - return js + return re.sub(r'{{{ FI_([\w\d_$]+) }}}', lambda m: str(indexing[m.groups(0)[0]]), js) # forward forwarded_data = json.dumps(forwarded_json) forwarded_file = temp_files.get('.2.json').name |