Esempio n. 1
0
def main():
    usage = """usage: %prog [options] langid ncxFile"""
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-s", "--simulate", dest="simulate", 
        help="Simulate the import without saving any data", action="store_true", default=False)
    (options, args) = parser.parse_args()
    
    parser.check_args(2, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    langid, ncx_file = args
    warnings = session.import_audio_prompts(langid, ncx_file, False, options.simulate)
    if (parser.force == False and len(warnings) > 0):
        a = raw_input("\nYou have %d warnings.  Review? (y)es/(n)o/(a)ccept all/(r)eject all)" % len(warnings))
        automatically_accept = False
        if a == "n" or a=="r": 
            return
        elif a == "a":
            automatically_accept = True
        
        for w in warnings:
            xmlid, audio, db_text, xml_text = w
            if automatically_accept == False:
                print ("\nID=%s, DB text is:\n%s\nNCX text is:\n%s\naudio=%s" % \
                    (xmlid, db_text, xml_text, audio))
                ans = raw_input("(a)ccept or (r)eject?")
                if ans == "r": 
                    continue
                else:
                    write_audio(session, langid, xmlid, audio, options.simulate)
            else:
                write_audio(session, langid, xmlid, audio, options.simulate)
Esempio n. 2
0
def main():
    usage = """usage: %prog
    Report if all tables are the same length"""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(0, args)
    session = LionDB(options.config, options.trace, options.app)

    # first get a list of the diffs between each language and the master language
    request = "SELECT langid FROM languages"
    session.execute_query(request)
    langs = session.cursor.fetchall()
    any_diffs_found = False
    for l in langs:
        lid = l[0]
        diffs = session.list_langtable_diffs(lid, session.masterlang)
        if diffs != None:
            any_diffs_found = True
            longer, shorter, data = diffs
            if longer == lid:
                print "%s has more entries than %s" % (lid, session.masterlang)
            else:
                print "%s has fewer entries than %s" % (lid,
                                                        session.masterlang)

    if any_diffs_found == False:
        print "All tables are the same length as %s" % session.masterlang
Esempio n. 3
0
def main():
    usage = """usage: %prog [options] langid localaudiodir"""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(2, args)

    session = LionDB(options.config, options.trace, options.app)
    langid, audiodir = args
    data = session.get_text_audio_data(langid, audiodir)

    table = ""
    for reftext, text, audio, xmlid in data:
        row = HTML_TR % {
            "xmlid": xmlid,
            "reftext": reftext,
            "text": text,
            "audio": audio,
            "audiofile": os.path.basename(audio)
        }
        table += row

    doc = HTML5 % {
        "title": "Text and audio data",
        "lang": langid,
        "table": table
    }
    print doc
Esempio n. 4
0
def main():
    usage = """usage: %prog
    Report if all tables are the same length"""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(0, args)
    session = LionDB(options.config, options.trace, options.app)    
    
    # first get a list of the diffs between each language and the master language
    request = "SELECT langid FROM languages"
    session.execute_query(request)
    langs = session.cursor.fetchall()
    any_diffs_found = False
    for l in langs:
        lid = l[0]
        diffs = session.list_langtable_diffs(lid, session.masterlang)
        if diffs != None:
            any_diffs_found = True
            longer, shorter, data = diffs
            if longer == lid:
                print "%s has more entries than %s" % (lid, session.masterlang)
            else:
                print "%s has fewer entries than %s" % (lid, session.masterlang)
        
    if any_diffs_found == False:
        print "All tables are the same length as %s" % session.masterlang
Esempio n. 5
0
def main():
    usage = """usage: %prog langid"""
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-p", "--pretty", dest="pretty", 
        help="Format as html", action="store_true", default=False)
    
    (options, args) = parser.parse_args()
    parser.check_args(1, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    results = session.get_new_todo(args[0])
    langname = session.get_langname(args[0])[0]
    
    if options.pretty == False:
        print "Items still requiring translation work for %s (%s)" % (langname, args[0])
    html_body = "<p>%d items</p>" % len(results)
    for r in results:
        if r[2] == 2: status = "TODO"
        else: status = "NEW"
        if options.pretty == True:
            if len(r) > 1 and r[1] != None:
                html_body += """<h1 id="%s">%s</h1>""" % (r[0], r[1].encode("utf-8"))
            else:
                html_body += """<h1>MISSING %s</h1>""" % r[0]
        else:
            if len(r) > 1 and r[1] != None:
                line ="%-25s%-10s%-10s" % (status, r[0], r[1].encode("utf-8")) 
            else:
                line = "%-25s%-10s%-10s" % (status, r[0], "MISSING")
            print line	
    if options.pretty == False:
		print "%d items" % len(results)
	
    if options.pretty == True:
        print HTML_TEMPLATE % ("amis %s" % langname, html_body)
Esempio n. 6
0
def main():
    usage = """usage: %prog [options] langid string stringid"""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(3, args)

    session = LionDB(options.config, options.trace, options.app)
    langid, string, stringid = args
    session.change_item(langid, string, stringid)
Esempio n. 7
0
def main():
    parser = GlobalOptionsParser(usage="usage: %prog [options] langid dir")
    (options, args) = parser.parse_args()
    parser.check_args(2, args)
    session = LionDB(options.config, options.trace)
    langid, dir = args
    session.trace_msg("Export for langid=%s to directory %s" % (langid, dir))
    additional_params = (dir,)
    print session.module_export(langid, 0, additional_params)
Esempio n. 8
0
def main():
    usage = """usage: %prog [options] langid string stringid"""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(3, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    langid, string, stringid = args
    session.add_string(langid, string, stringid)
Esempio n. 9
0
def main():
    usage = """usage: %prog [options] langid audioDir"""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(2, args)

    session = LionDB(options.config, options.trace, options.app)
    langid, audio_dir = args
    session.import_audio_by_number(langid, audio_dir)
Esempio n. 10
0
def main():
    usage = """usage: %prog [options] local_langpack_dir"""
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-v",
                      "--amisversion",
                      dest="amis_version",
                      type="string",
                      default="3.1",
                      help="Target version of AMIS (default = 3.1)")
    parser.add_option("-y",
                      "--tmp",
                      dest="tmp",
                      default=False,
                      action="store_true",
                      help="Save output files in /tmp")
    parser.add_option("-x",
                      "--all",
                      dest="all",
                      default=False,
                      action="store_true",
                      help="Export all languages")
    parser.add_option("-l",
                      "--langid",
                      dest="langid",
                      default="",
                      help="language ID")
    parser.add_option("-z",
                      "--custom",
                      dest="custom",
                      default="",
                      help="a comma-separated list of language IDs")

    (options, args) = parser.parse_args()
    parser.check_args(1, args)
    langpacks_dir = args[0]

    session = LionDB(options.config, options.trace, "amis")

    # export all languages (see LANGS list above)
    if options.all == True:
        for l in LANGS:
            process_one(l, langpacks_dir, options, session)
    # export one language
    else:
        if options.custom != "":
            custom_langs = options.custom.split(",")
            for l in custom_langs:
                process_one(l.strip(), langpacks_dir, options, session)
        else:
            if options.langid != "":
                process_one(options.langid, langpacks_dir, options, session)
            else:
                session.die(
                    "No lang ID specified.  Use --all, --custom, or --langid to specify all, a custom set, or a single language."
                )
                return
Esempio n. 11
0
def main():
    usage = """usage: %prog [options] langid"""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(1, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    langid = args[0]
    if parser.safety_check("remove %s" % langid) == True:
        session.remove_language(langid)
Esempio n. 12
0
def main():
    usage = """usage: %prog [options] string stringid
    Edits the master language and updates all other languages."""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(2, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    string, stringid = args
    session.change_item_master(string, stringid)
Esempio n. 13
0
def main():
    usage = """usage: %prog [options] langid"""
    parser = GlobalOptionsParser(usage=usage)

    (options, args) = parser.parse_args()
    parser.check_args(1, args)

    session = LionDB(options.config, options.trace, "amis")
    langid = args[0]
    print session.module_export(langid, 2, None)
Esempio n. 14
0
def main():
    usage = """usage: %prog [options] username"""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(1, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    username = args[0]
    if parser.safety_check("remove a user") == True:
        session.remove_user(username)
Esempio n. 15
0
def main():
    parser = GlobalOptionsParser(usage="usage: %prog [options] langid file ...")
    parser.add_option("-i", "--importtype", dest="import_type", default=1,
        help="Import type (1: import, 2: populate, 3: update")
    (options, args) = parser.parse_args()
    parser.check_args_atleast(2, args)
    session = LionDB(options.config, options.trace)
    langid = args.pop(0)
    session.trace_msg("Import for langid=%s with %s" % (langid, args))
    session.module_import(args, langid, int(options.import_type))
Esempio n. 16
0
def main():
    usage = """usage: %prog [options] string stringid
    Edits the master language and updates all other languages."""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(2, args)

    session = LionDB(options.config, options.trace, options.app)
    string, stringid = args
    session.change_item_master(string, stringid)
Esempio n. 17
0
def main():
    usage = """usage: %prog [options] langid"""
    parser = GlobalOptionsParser(usage=usage)

    (options, args) = parser.parse_args()
    parser.check_args(1, args)

    session = LionDB(options.config, options.trace, "amis")
    langid = args[0]
    print session.module_export(langid, 1, None)
Esempio n. 18
0
def main():
    usage = """usage: %prog [options] langid"""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(1, args)

    session = LionDB(options.config, options.trace, options.app)
    langid = args[0]
    if parser.safety_check("remove %s" % langid) == True:
        session.remove_language(langid)
Esempio n. 19
0
def main():
    usage = """usage: %prog [options] langid stringid"""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(2, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    langid, stringid = args
    # do a safety check to see if the user really wants to remove a string
    if parser.safety_check("remove a string") == True:
        session.remove_item(langid, stringid)
Esempio n. 20
0
def main():
    usage = """usage: %prog [options] langid stringid"""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(2, args)

    session = LionDB(options.config, options.trace, options.app)
    langid, stringid = args
    # do a safety check to see if the user really wants to remove a string
    if parser.safety_check("remove a string") == True:
        session.remove_item(langid, stringid)
Esempio n. 21
0
def main():
    usage = """usage: %prog langid"""
    parser = GlobalOptionsParser(usage=usage)
    
    (options, args) = parser.parse_args()
    parser.check_args(1, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    results = session.all_strings_bilingual(args[0])
    for r in results:
        print "%s, %s" % (r[0], r[1])
Esempio n. 22
0
def main():
    usage = """usage: %prog [options] stringid
    Edits the master language and updates all other languages."""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(1, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    stringid = args[0]
    # do a safety check to see if the user really wants to remove a string
    if parser.safety_check("remove a string in ALL tables") == True:
        session.remove_item_master(stringid)
Esempio n. 23
0
def main():
    usage = """usage: %prog [options] langid output_dir local_audio_dir"""
    parser = GlobalOptionsParser(usage=usage)
    
    (options, args) = parser.parse_args()
    parser.check_args(3, args)
    
    session = LionDB(options.config, options.trace, "amis")
    langid = args[0]
    outputdir = args[1]
    local_audio_dir = args[2]
    session.module_export(langid, 3, (outputdir, local_audio_dir))
Esempio n. 24
0
def main():
    usage = """usage: %prog [options] langid"""
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-v", "--amisversion", dest="amis_version", default="3.1", 
        help="Target version of AMIS (default = 3.1)")
    
    (options, args) = parser.parse_args()
    parser.check_args(1, args)
    
    session = LionDB(options.config, options.trace, "amis")
    langid = args[0]
    print session.module_export(langid, 1, (options.amis_version,))
Esempio n. 25
0
def main():
    usage = """usage: %prog [options] langid username password
    The language referenced by langid must already exist.
    """
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-r", "--realname", dest="realname", default="", help="The full name of the user")
    parser.add_option("-e", "--email", dest="email", default="", help="The user's email address")
    (options, args) = parser.parse_args()
    parser.check_args(3, args)

    session = LionDB(options.config, options.trace, options.app)
    langid, username, pwd = args
    session.add_user(langid, username, pwd, options.realname, options.email)
Esempio n. 26
0
def main():
    usage = """usage: %prog [options] langid
    """
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(1, args)

    session = LionDB(options.config, options.trace, options.app)
    langid = args[0]
    user_info = session.get_user_info(langid)
    s = ""
    for i in user_info:
        s += "%-25s" % i
    print s
Esempio n. 27
0
def main():
    usage = """usage: %prog [options] langid
    """
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(1, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    langid = args[0]
    user_info = session.get_user_info(langid)
    s = ""
    for i in user_info:
        s += "%-25s" % i
    print s
Esempio n. 28
0
def main():
    usage = """usage: %prog [options] langid output_dir local_audio_dir"""
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-v", "--amisversion", dest="amis_version", default="3.1", 
        help="Target version of AMIS (default = 3.1)")
    
    (options, args) = parser.parse_args()
    parser.check_args(3, args)
    
    session = LionDB(options.config, options.trace, "amis")
    langid = args[0]
    outputdir = args[1]
    local_audio_dir = args[2]
    session.module_export(langid, 3, (options.amis_version, outputdir, local_audio_dir))
Esempio n. 29
0
def main():
    usage = """usage: %prog [options] langid username password
    The language referenced by langid must already exist.
    """
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-r", "--realname", dest="realname", default="",
        help="The full name of the user")
    parser.add_option("-e", "--email", dest="email", default="",
        help="The user's email address")
    (options, args) = parser.parse_args()
    parser.check_args(3, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    langid, username, pwd = args
    session.add_user(langid, username, pwd, options.realname, options.email)
Esempio n. 30
0
def main():
    """Generate the TTS prompts for AMIS.  Run on OS X; be configured to use the server DB."""

    usage = """usage: %prog [options] langid"""
    parser = GlobalOptionsParser(usage=usage)

    (options, args) = parser.parse_args()
    parser.check_args(1, args)

    session = LionDB(options.config, options.trace, "amis")
    langid = args[0]
    dir = "/tmp/%s/" % langid
    session.generate_audio(langid, dir)

    print "your audio files are in " + dir
Esempio n. 31
0
def main():
    """Generate the TTS prompts for AMIS.  Run on OS X; be configured to use the server DB."""
    
    usage = """usage: %prog [options] langid"""
    parser = GlobalOptionsParser(usage=usage)
    
    (options, args) = parser.parse_args()
    parser.check_args(1, args)
    
    session = LionDB(options.config, options.trace, "amis")
    langid = args[0]
    dir = "/tmp/%s/" % langid
    session.generate_audio(langid, dir)
    
    print "your audio files are in " + dir
Esempio n. 32
0
def main():
    usage = """usage: %prog [options] langid"""
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-v",
                      "--amisversion",
                      dest="amis_version",
                      default="3.1",
                      help="Target version of AMIS (default = 3.1)")

    (options, args) = parser.parse_args()
    parser.check_args(1, args)

    session = LionDB(options.config, options.trace, "amis")
    langid = args[0]
    print session.module_export(langid, 2, (options.amis_version, ))
Esempio n. 33
0
def main():
    usage = """usage: %prog [options] sqlstatement
    Run a single SQL query."""

    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(1, args)

    session = LionDB(options.config, options.trace, options.app)
    sql = args[0]
    session.execute_query(sql)
    if session.cursor.rowcount != 0:
        for r in session.cursor.fetchall():
            for field in r:
                print field
Esempio n. 34
0
def main():
    usage = """usage: %prog [options] langid audio_dir
    audio_dir is the current audio directory.  unreferenced files will be moved into a subfolder.
    e.g. 
    %prog eng-US ./audio
    
    """
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-s", "--svn", dest="svn",
        help="commit the changes to SVN", action="store_true", default=False)
    (options, args) = parser.parse_args()
    parser.check_args(2, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    langid, audio_dir = args
    session.archive_audio(langid, audio_dir, options.svn)
Esempio n. 35
0
def main():
    usage = """usage: %prog langid1 langid2"""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(2, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    results = session.list_langtable_diffs(args[0], args[1])
    if results == None:
        print "Tables are equal"
    else:
        longer, shorter, data = results
        print "Items in %s that are not in %s" % (longer, shorter)
        
        for r in data:
            print "%-10s%-10s" % (r[0], r[1]) 
Esempio n. 36
0
def main():
    usage = """usage: %prog langid1 langid2"""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(2, args)

    session = LionDB(options.config, options.trace, options.app)
    results = session.list_langtable_diffs(args[0], args[1])
    if results == None:
        print "Tables are equal"
    else:
        longer, shorter, data = results
        print "Items in %s that are not in %s" % (longer, shorter)

        for r in data:
            print "%-10s%-10s" % (r[0], r[1])
Esempio n. 37
0
def main():
    import_choices = {1: "Rebuild a language table from an AMIS Accessible UI XML file.",
        2: "Update existing data from an AMIS Accessible UI XML file.",
        3: "Update only the audio data for existing table elements from an AMIS Accessible UI XML file."}
    
    import_description = '\n'.join(["%d: %s" % (a, b) for a, b in import_choices.items()])
    
    usage = """usage: %prog [options] langid file"""
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-i", "--importtype", dest="import_type", type="int", default=1, 
        help=import_description)
    (options, args) = parser.parse_args()
    parser.check_args(2, args)
    
    session = LionDB(options.config, options.trace, "amis")
    langid, file = args
    session.module_import(file, langid, options.import_type)
Esempio n. 38
0
def main():
    usage = """usage: %prog [options] langid
    The language referenced by langid must already exist.
    """
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-d", "--all", dest="all", default="False", action="store_true",
        help="Output all strings, including keyboard-related items.")
    (options, args) = parser.parse_args()
    
    parser.check_args(1, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    langid = args[0]
    if options.all == True:
        print session.all_strings(langid)
    else:
        print session.textstrings(langid)
Esempio n. 39
0
def main():
    """Update the release date and version info for the english table"""
    
    usage = """usage: %prog [options] version_info release_date"""
    parser = GlobalOptionsParser(usage=usage)
    
    (options, args) = parser.parse_args()
    parser.check_args(2, args)
    
    session = LionDB(options.config, options.trace, "amis")
    
    # t164 = version info
    # t165 = release date
    session.execute_query("""UPDATE eng_US SET textstring="%s" WHERE xmlid="t164" """ % args[0])
    session.execute_query("""UPDATE eng_US SET textstring="%s" WHERE xmlid="t165" """ % args[1])
    
    print "Successfully updated"
Esempio n. 40
0
def main():
    usage = """usage: %prog [options] langid audio_dir
    see if all required audio files are there audio_dir is the current audio directory.  
    e.g. 
    %prog eng-US ./audio/
    
    """
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-s", "--svn", dest="svn",
        help="commit the changes to SVN", action="store_true", default=False)
    (options, args) = parser.parse_args()
    parser.check_args(2, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    langid, audio_dir = args
    if not audio_dir.endswith("/"): audio_dir += "/"
    session.check_audio(langid, audio_dir)
Esempio n. 41
0
def main():
    usage = """usage: %prog [options] langid localaudiodir"""
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(2, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    langid, audiodir = args
    data = session.get_text_audio_data(langid, audiodir)
    
    table = ""
    for reftext, text, audio, xmlid in data:
        row = HTML_TR % {"xmlid": xmlid, "reftext": reftext, "text": text, "audio": audio, "audiofile": os.path.basename(audio)}
        table += row
    
    doc = HTML5 % {"title": "Text and audio data", "lang": langid, "table": table}
    print doc
Esempio n. 42
0
def main():
    usage = """usage: %prog [options] langid string stringid refid keys
    string: the human-readable name for the accelerator shortcut
    refid: the id of the string label for the command referenced by the accelerator
    keys: the actual keys used to access the accelerator shortcut
    
    e.g. 
    %prog eng-US Escape t123 t345 esc
    
    """
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(5, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    langid, string, stringid, refid, keys = args
    session.add_accelerator(langid, string, stringid, refid, keys)
Esempio n. 43
0
def main():
    usage = """usage: %prog [options] langid
    """
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(1, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    langid = args[0]
    
    table = session.make_table_name(langid)
    session.execute_query("SELECT remarks, xmlid, textstring from %s" % table)
    results = session.cursor.fetchall()
    
    skipped = 0
    changed = 0
    for remarks, xmlid, textstring in results:
        if remarks != None and remarks != "":
            request = """UPDATE %s SET textstring="%s" WHERE xmlid="%s" """ % (table, remarks, xmlid)
            # print request
            session.execute_query(request)
            changed +=1
        else:
            print "skipping %s (text = %s)" % (xmlid, textstring)
            skipped +=1
    
    print "Skipped %d, Changed %d" % (skipped, changed)
Esempio n. 44
0
def main():
    usage = """usage: %prog [options] sqlstatement
    Type %(table)s as a token for the language table name
    
    This will run the sql query on all language tables"""

    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(1, args)

    session = LionDB(options.config, options.trace, options.app)
    sql = args[0]

    request = "SELECT langid FROM languages"

    session.execute_query(request)
    all_langs = session.cursor.fetchall()
    if parser.safety_check("run this query on each language table") == False:
        exit(1)

    for l in all_langs:
        request = sql % {"table": session.make_table_name(l[0])}
        try:
            session.execute_query(request)
            if session.cursor.rowcount > 0:
                for r in session.cursor.fetchall():
                    for field in r:
                        print field
        except Exception, e:
            print "Exception: %s" % e
Esempio n. 45
0
def main():
    usage = """usage: %prog [options] langid output_dir local_audio_dir"""
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-v",
                      "--amisversion",
                      dest="amis_version",
                      default="3.1",
                      help="Target version of AMIS (default = 3.1)")

    (options, args) = parser.parse_args()
    parser.check_args(3, args)

    session = LionDB(options.config, options.trace, "amis")
    langid = args[0]
    outputdir = args[1]
    local_audio_dir = args[2]
    session.module_export(langid, 3,
                          (options.amis_version, outputdir, local_audio_dir))
Esempio n. 46
0
def main():
    usage = """usage: %prog [options] string stringid refid keys
    Edits the master language and updates all other languages.
    
    string: the human-readable name for the accelerator shortcut
    refid: the id of the string label for the command referenced by the accelerator
    keys: the actual keys used to access the accelerator shortcut
    
    e.g. 
    %prog Escape t123 t345 esc
    
    """
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(4, args)

    session = LionDB(options.config, options.trace, options.app)
    string, stringid, refid, keys = args
    session.add_accelerator_master(string, stringid, refid, keys)
Esempio n. 47
0
def main():
    usage = """usage: %prog [options] string stringid refid keys
    Edits the master language and updates all other languages.
    
    string: the human-readable name for the accelerator shortcut
    refid: the id of the string label for the command referenced by the accelerator
    keys: the actual keys used to access the accelerator shortcut
    
    e.g. 
    %prog Escape t123 t345 esc
    
    """
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(4, args)
    
    session = LionDB(options.config, options.trace, options.app)    
    string, stringid, refid, keys = args
    session.add_accelerator_master(string, stringid, refid, keys)
Esempio n. 48
0
def main():
    usage = """usage: %prog [options] langid audio_dir
    audio_dir is the current audio directory.  unreferenced files will be moved into a subfolder.
    e.g. 
    %prog eng-US ./audio
    
    """
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-s",
                      "--svn",
                      dest="svn",
                      help="commit the changes to SVN",
                      action="store_true",
                      default=False)
    (options, args) = parser.parse_args()
    parser.check_args(2, args)

    session = LionDB(options.config, options.trace, options.app)
    langid, audio_dir = args
    session.archive_audio(langid, audio_dir, options.svn)
Esempio n. 49
0
def main():
    usage = """usage: %prog langid"""
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-p",
                      "--pretty",
                      dest="pretty",
                      help="Format as html",
                      action="store_true",
                      default=False)

    (options, args) = parser.parse_args()
    parser.check_args(1, args)

    session = LionDB(options.config, options.trace, options.app)
    results = session.get_new_todo(args[0])
    langname = session.get_langname(args[0])[0]

    if options.pretty == False:
        print "Items still requiring translation work for %s (%s)" % (langname,
                                                                      args[0])
    html_body = "<p>%d items</p>" % len(results)
    for r in results:
        if r[2] == 2: status = "TODO"
        else: status = "NEW"
        if options.pretty == True:
            if len(r) > 1 and r[1] != None:
                html_body += """<h1 id="%s">%s</h1>""" % (r[0],
                                                          r[1].encode("utf-8"))
            else:
                html_body += """<h1>MISSING %s</h1>""" % r[0]
        else:
            if len(r) > 1 and r[1] != None:
                line = "%-25s%-10s%-10s" % (status, r[0], r[1].encode("utf-8"))
            else:
                line = "%-25s%-10s%-10s" % (status, r[0], "MISSING")
            print line
    if options.pretty == False:
        print "%d items" % len(results)

    if options.pretty == True:
        print HTML_TEMPLATE % ("amis %s" % langname, html_body)
Esempio n. 50
0
def main():
    usage = """usage: %prog [options] langid audio_dir
    see if all required audio files are there audio_dir is the current audio directory.  
    e.g. 
    %prog eng-US ./audio/
    
    """
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-s",
                      "--svn",
                      dest="svn",
                      help="commit the changes to SVN",
                      action="store_true",
                      default=False)
    (options, args) = parser.parse_args()
    parser.check_args(2, args)

    session = LionDB(options.config, options.trace, options.app)
    langid, audio_dir = args
    if not audio_dir.endswith("/"): audio_dir += "/"
    session.check_audio(langid, audio_dir)
Esempio n. 51
0
def main():
    usage = """usage: %prog [options] langid ncxFile"""
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-s",
                      "--simulate",
                      dest="simulate",
                      help="Simulate the import without saving any data",
                      action="store_true",
                      default=False)
    (options, args) = parser.parse_args()

    parser.check_args(2, args)

    session = LionDB(options.config, options.trace, options.app)
    langid, ncx_file = args
    warnings = session.import_audio_prompts(langid, ncx_file, False,
                                            options.simulate)
    if (parser.force == False and len(warnings) > 0):
        a = raw_input(
            "\nYou have %d warnings.  Review? (y)es/(n)o/(a)ccept all/(r)eject all)"
            % len(warnings))
        automatically_accept = False
        if a == "n" or a == "r":
            return
        elif a == "a":
            automatically_accept = True

        for w in warnings:
            xmlid, audio, db_text, xml_text = w
            if automatically_accept == False:
                print ("\nID=%s, DB text is:\n%s\nNCX text is:\n%s\naudio=%s" % \
                    (xmlid, db_text, xml_text, audio))
                ans = raw_input("(a)ccept or (r)eject?")
                if ans == "r":
                    continue
                else:
                    write_audio(session, langid, xmlid, audio,
                                options.simulate)
            else:
                write_audio(session, langid, xmlid, audio, options.simulate)
Esempio n. 52
0
def set_toplevel_accel():
    usage = """usage: %prog [options] langid"""
    
    parser = GlobalOptionsParser(usage=usage)
    (options, args) = parser.parse_args()
    parser.check_args(0, args)
    session = LionDB(options.config, options.trace, options.app)    
    
    request = "select xmlid from eng_US where istoplevel=1 and role=\"MENUITEM\""
    session.execute_query(request)
    menuitems = session.cursor.fetchall()
    
    accel_mnem = []
    # for each menu item, find the mnemonic and the accelerator
    for id in menuitems:
        request = "select xmlid from eng_US where target=\"%s\" and role=\"MNEMONIC\"" % id
        session.execute_query(request)
        m = session.cursor.fetchone()[0]
        request = "select xmlid from eng_US where target=\"%s\" and role=\"ACCELERATOR\"" % id
        session.execute_query(request)
        a = session.cursor.fetchone()[0]
        accel_mnem.append((a,m))
    
    # loop through all the known IDs for accelerator/mnemonic pairs representing top level menu items
    for a,m in accel_mnem:
        # for a single ID, get the mnemonic text for all languages
        request = "select textstring from %%(table)s where xmlid=\"%s\"" % m
        result = run_sql_on_all_lang_tables(session, request)
        # result is a langtable:rows dictionary
        for item in result.items():
            table = item[0]
            rows = item[1]
            row = rows[0]
            field = row[0]
            # this is what the accelerator should be
            accelstr = "Alt+%s" % field
            request2 = """UPDATE %s SET textstring="%s", actualkeys="%s" WHERE xmlid="%s" """ % \
                (table, accelstr, accelstr, a)
            print request2
            session.execute_query(request2)
Esempio n. 53
0
def main():
    usage = """usage: %prog"""
    parser = GlobalOptionsParser(usage=usage)
    parser.add_option("-s",
                      "--short",
                      dest="shortlist",
                      help="Show only the language name",
                      action="store_true",
                      default=False)
    parser.add_option("-d",
                      "--date",
                      dest="orderbydate",
                      help="Order by login date",
                      action="store_true",
                      default=False)
    parser.add_option(
        "-w",
        "--work",
        dest="orderbytodo",
        help="Order by the number of work items remaining (new or todo)",
        action="store_true",
        default=False)
    (options, args) = parser.parse_args()
    parser.check_args(0, args)

    session = LionDB(options.config, options.trace, options.app)
    results = session.list_all_languages(options.orderbydate,
                                         options.orderbytodo)

    # the data coming back looks like this:
    # workleft (optional), langid, langname, realname, username, password, lastlogin (optional)
    # workleft and lastlogin are mutually exclusive
    # if workleft is being returned, then the remaining results are wrapped up in a tuple
    # as in (34, ('langid', 'langname', etc))
    print "%d languages" % len(results)
    if options.orderbydate == True:
        print "Showing most recently logged-in first"
    if options.orderbytodo == True:
        print session.get_table_length(session.masterlang)
        print session.masterlang
        print "Showing the most work remaining first (items out of %s total still needing translation)" % \
            session.get_table_length(session.masterlang)

    for r in results:
        if options.orderbytodo == False:
            usernamepwd = "(%s, %s)" % (r[3], r[4])
        if options.shortlist == True:
            line = r[1]
        else:
            if options.orderbydate == True:
                line = "%-25s%-10s%-30s%-20s %-10s" % (r[5], r[0], r[1], r[2],
                                                       usernamepwd)
            elif options.orderbytodo == True:
                usernamepwd = "(%s, %s)" % (r[1][3], r[1][4])
                line = "%-25s%-10s%-30s%-20s %-10s" % (r[0], r[1][0], r[1][1],
                                                       r[1][2], usernamepwd)
            else:
                line = "%-10s%-30s%-20s %-10s" % (r[0], r[1], r[2],
                                                  usernamepwd)
        print line.encode("utf-8")