Skip to content
Snippets Groups Projects
Joachim Wuttke (h)'s avatar
Wuttke, Joachim authored
import edtools as et
import re

def user_edit_pair(fname_stem, th, tc):

    data = []
    mm = re.finditer('const QString (\w+)::([MPT]_[A-Z0-9_]+) = "(.+?)";', tc)
    for m in mm:
        data.append([m.group(1), m.group(2), m.group(3)])
    mm = re.finditer('const QString (\w+)::([MPT]_[A-Z0-9_]+)\("(.+?)"\);', tc)
    for m in mm:
        data.append([m.group(1), m.group(2), m.group(3)])

    for cname, typ, label in data:
        rlabel = re.sub(r'\[', r'\\[', label)
        rlabel = re.sub(r'\]', r'\\]', rlabel)
        rlabel = re.sub(r'\(', r'\\(', rlabel)
        rlabel = re.sub(r'\)', r'\\)', rlabel)
        tc = re.sub('\n+const QString '+cname+'::'+typ+' =\s+"'+rlabel+'";', '', tc)
        tc = re.sub('\n+const QString '+cname+'::'+typ+'\("'+rlabel+'"\);', '', tc)
        th = re.sub(r'class( BA_CORE_API_)? ('+cname+r'.+?)static const QString '+typ+r';(.*?\n};)',
                    r'class \2static constexpr auto '+typ+r'{"'+label+r'"};\3', th, 0, re.S)

    return th, tc

et.ed_argfilepairs(user_edit_pair)
2a33f913
History
Name Last commit Last update