def main_obsolete():
    (strings_dict, langs, contributors) = load_strings_file()
    strings = extract_strings_from_c_files()
    for s in strings_dict.keys():
        if s not in strings:
            del strings_dict[s]
    untranslated_dict = dump_missing_per_language(strings, strings_dict)
    write_out_strings_files(strings_dict, langs, contributors,
                            untranslated_dict)
    untranslated = get_untranslated_as_list(untranslated_dict)
    for s in untranslated:
        if s not in strings_dict:
            strings_dict[s] = []

    langs_idx = load_lang_index()
    # check that langs_def.py agrees with the language files
    #print(langs)
    #print(langs_idx)
    for lang in langs + langs_idx:
        lang1, lang2 = [l for l in langs_idx if l[0] == lang[0]
                        ], [l for l in langs if l[0] == lang[0]]
        if not (len(lang1) == 1 and len(lang2) == 1
                and lang1[0][1] == lang2[0][1]):
            print("lang1: %s" % str(lang1))
            print("lang2: %s" % str(lang2))
            assert len(lang1) == 1 and len(
                lang2) == 1 and lang1[0][1] == lang2[0][1]

    c_file_name = os.path.join(g_src_dir, "Translations_txt.cpp")
    #gen_and_upload_js(strings_dict, langs_idx, contributors)
    remove_incomplete_translations(langs_idx, strings, strings_dict)
    gen_c_code(langs_idx, strings_dict, c_file_name, encode_to_utf=True)
Example #2
0
def main_obsolete():
    (strings_dict, langs, contributors) = load_strings_file()
    strings = extract_strings_from_c_files()
    for s in strings_dict.keys():
        if s not in strings:
            del strings_dict[s]
    untranslated_dict = dump_missing_per_language(strings, strings_dict)
    write_out_strings_files(strings_dict, langs, contributors, untranslated_dict)
    untranslated = get_untranslated_as_list(untranslated_dict)
    for s in untranslated:
        if s not in strings_dict:
            strings_dict[s] = []

    langs_idx = load_lang_index()
    # check that langs_def.py agrees with the language files
    #print(langs)
    #print(langs_idx)
    for lang in langs + langs_idx:
        lang1, lang2 = [l for l in langs_idx if l[0] == lang[0]], [l for l in langs if l[0] == lang[0]]
        if not (len(lang1) == 1 and len(lang2) == 1 and lang1[0][1] == lang2[0][1]):
            print("lang1: %s" % str(lang1))
            print("lang2: %s" % str(lang2))
            assert len(lang1) == 1 and len(lang2) == 1 and lang1[0][1] == lang2[0][1]

    c_file_name = os.path.join(g_src_dir, "Translations_txt.cpp")
    #gen_and_upload_js(strings_dict, langs_idx, contributors)
    remove_incomplete_translations(langs_idx, strings, strings_dict)
    gen_c_code(langs_idx, strings_dict, c_file_name, encode_to_utf=True)
Example #3
0
def main():
    strings = extract_strings_from_c_files()
    strings.sort()
    s = "AppTranslator strings\n" + string.join(strings, "\n")
    shash = hashlib.sha1(s).hexdigest()
    prevHash = lastUploadHash()
    if shash == prevHash:
        print("Skipping upload because strings haven't changed since last upload")
    else:
        uploadStrings(s, secrets.uploadsecret)
        saveLastUploadHash(shash)
Example #4
0
def generateCode(s):
    strings_dict = parseTranslations(s)
    strings = extract_strings_from_c_files()
    for s in strings_dict.keys():
        if s not in strings:
            del strings_dict[s]
    untranslated_dict = dump_missing_per_language(strings, strings_dict)
    untranslated = get_untranslated_as_list(untranslated_dict)
    for s in untranslated:
        if s not in strings_dict:
            strings_dict[s] = []

    langs_idx = load_lang_index()
    c_file_name = os.path.join(g_src_dir, "Translations_txt.cpp")
    remove_incomplete_translations(langs_idx, strings, strings_dict)
    gen_c_code(langs_idx, strings_dict, c_file_name)
Example #5
0
def main():
    (strings_dict, langs, contributors) = load_strings_file()
    strings = extract_strings_from_c_files()
    for s in strings_dict.keys():
        if s not in strings:
            del strings_dict[s]
    untranslated_dict = dump_missing_per_language(strings, strings_dict)
    write_out_strings_files(strings_dict, langs, contributors,
                            untranslated_dict)
    untranslated = get_untranslated_as_list(untranslated_dict)
    for s in untranslated:
        if s not in strings_dict:
            strings_dict[s] = []

    c_file_name = os.path.join(g_src_dir, "translations_txt.cpp")
    gen_c_code(langs, strings_dict, c_file_name, load_lang_index())
    gen_and_upload_js(strings_dict, langs, contributors)
def main():
    (strings_dict, langs, contributors) = load_strings_file()
    strings = extract_strings_from_c_files()
    for s in strings_dict.keys():
        if s not in strings:
            del strings_dict[s]
    untranslated_dict = dump_missing_per_language(strings, strings_dict)
    write_out_strings_files(strings_dict, langs, contributors, untranslated_dict)
    untranslated = get_untranslated_as_list(untranslated_dict)
    for s in untranslated:
        if s not in strings_dict:
            strings_dict[s] = []

    c_file_name = os.path.join(g_src_dir, "Translations_txt.cpp")
    gen_and_upload_js(strings_dict, langs, contributors)
    remove_incomplete_translations(langs, strings, strings_dict, INCOMPLETE_MISSING_THRESHOLD)
    gen_c_code(langs, strings_dict, c_file_name, load_lang_index())
Example #7
0
def uploadStringsIfChanged(skip_svn_check=False):
    # needs to have upload secret to protect apptranslator.org server from abuse
    config = load_config()
    uploadsecret = config.trans_ul_secret
    if None is uploadsecret:
        print("Skipping string upload because don't have upload secret")
        return

    if not skip_svn_check:
        # Note: this check might be confusing due to how svn work
        # Unforunately, if you have local latest revision 5 and do a checkin to create
        # revision 6, svn info says that locally you're still on revision 5, even though
        # the code is actually as revision 6.
        # You need to do "svn update" to update local version number
        # Unfortunately I can't do it automatically here since it would be dangerous
        # (i.e. it would update code locally).
        # svn update is called in build-release.py, so it's not a problem if it's run
        # from  ./scripts/build-release.bat or ./scripts/build-pre-release.bat
        try:
            (local_ver, latest_ver) = buildbot.get_svn_versions()
        except:
            print("Skipping string upload because SVN isn't available to check for up-to-date-ness")
            return
        if int(latest_ver) > int(local_ver):
            print("Skipping string upload because your local version (%s) is older than latest in svn (%s)" % (local_ver, latest_ver))
            return

    strings = extract_strings_from_c_files()
    strings.sort()
    s = "AppTranslator strings\n" + string.join(strings, "\n")
    s = s.encode("utf8")

    if lastUploaded() == s:
        print("Skipping upload because strings haven't changed since last upload")
    else:
        uploadStringsToServer(s, uploadsecret)
        saveLastUploaded(s)
        print("Don't forget to checkin strings/last_uploaded.txt")