genxml/gen_bits_header.py: Use regex to strip no alphanum chars
authorJordan Justen <jordan.l.justen@intel.com>
Thu, 17 Aug 2017 22:44:53 +0000 (15:44 -0700)
committerJordan Justen <jordan.l.justen@intel.com>
Thu, 21 Feb 2019 21:15:59 +0000 (13:15 -0800)
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/genxml/gen_bits_header.py

index ded2d2dcfcfd74dbec1d7746b0823494d1a5f670..aac49fb49e229133348168fa289726e7789895f4 100644 (file)
@@ -25,6 +25,7 @@ from __future__ import (
 
 import argparse
 import os
+import re
 import xml.parsers.expat
 
 from mako.template import Template
@@ -130,33 +131,10 @@ ${emit_per_gen_prop_func(field, 'start')}
 
 #endif /* ${guard} */""", output_encoding='utf-8')
 
+alphanum_nono = re.compile(r'[ /\[\]()\-:.,=>#&*"+\\]+')
 def to_alphanum(name):
-    substitutions = {
-        ' ': '',
-        '/': '',
-        '[': '',
-        ']': '',
-        '(': '',
-        ')': '',
-        '-': '',
-        ':': '',
-        '.': '',
-        ',': '',
-        '=': '',
-        '>': '',
-        '#': '',
-        'α': 'alpha',
-        '&': '',
-        '*': '',
-        '"': '',
-        '+': '',
-        '\'': '',
-    }
-
-    for i, j in substitutions.items():
-        name = name.replace(i, j)
-
-    return name
+    global alphanum_nono
+    return alphanum_nono.sub('', name).replace('α', 'alpha')
 
 def safe_name(name):
     name = to_alphanum(name)