コード例 #1
0
ファイル: commands.py プロジェクト: Paulyd210/python-glcli
def map_master(oldFile, newFile, **kwargs):
    '''Map existing master file on server to new a location on your local repository. This also changes the filename on server-side to match your local directory structure.'''

    repo = Repository()

    username = kwargs.get('username')
    password = kwargs.get('password')

    if username == '' or password == '':
        username, password = prompt_userpw()

    mf = GLMasterFile(GLProject(repo.get_project_name(), username, password),
                      repo.relative_to_root(oldFile),
                      repo.relative_path(repo.file_path(oldFile)), None)

    if not mf.isAvailableRemotely():
        print "Error: File " + oldFile + " is not available on the server."
        return

    try:
        if repo.rename_master_file(oldFile, newFile):
            mf.rename(newFile, repo.relative_path(repo.file_path(newFile)))
            repo.commit(
            )  # Commit the rename to local repo after successful request to server

            translations = GLTranslations(
                GLProject(repo.get_project_name(), username, password))
            trlist = translations.list()
            repo.save_status(trlist)

            print "Successfully mapped master %s => %s" % (oldFile, newFile)
        else:
            print "Error when mapping master file."
    except EnvironmentError as err:
        print err
コード例 #2
0
def map_master(oldFile, newFile, **kwargs):
    '''Map existing master file on server to new a location on your local repository. This also changes the filename on server-side to match your local directory structure.'''
    
    repo = Repository()

    username = kwargs.get('username')
    password = kwargs.get('password')
  
    if username == '' or password == '':
        username, password = prompt_userpw()


    mf = GLMasterFile(GLProject(repo.get_project_name(), username, password), repo.relative_to_root(oldFile), repo.relative_path(repo.file_path(oldFile)), None)

    if not mf.isAvailableRemotely():
        print "Error: File " + oldFile + " is not available on the server."
        return

    try:
        if repo.rename_master_file(oldFile, newFile):
            mf.rename(newFile, repo.relative_path(repo.file_path(newFile)))
            repo.commit() # Commit the rename to local repo after successful request to server

            translations = GLTranslations(GLProject(repo.get_project_name(), username, password))
            trlist = translations.list()
            repo.save_status(trlist)

            print "Successfully mapped master %s => %s" % (oldFile, newFile)
        else:
            print "Error when mapping master file."
    except EnvironmentError as err:
        print err
コード例 #3
0
def pull(**kwargs):
    '''Pull available translations from server'''

    repo = Repository()

    username = kwargs.get('username')
    password = kwargs.get('password')

    if username == '' or password == '':
        username, password = prompt_userpw()

    exitVal = 0
    try:
        translations = GLTranslations(
            GLProject(repo.get_project_name(), username, password))
        trlist = translations.list()
        repo.save_status(trlist)

        print "#"

        for tr in trlist:
            local_file = repo.get_mapped_locale(tr.get('master_file'),
                                                tr.get('iana_code'))
            if local_file is None:
                print "# Warning: Skipping file %s (%s). Map local file first\n# e.g. with command: gl map-locale %s %s %s.\n# You can also force download files \
    to their default locations with parameter --force" % (
                    tr.get('master_file'), tr.get('iana_code'),
                    tr.get('master_file'), tr.get('iana_code'),
                    tr.get('filename'))
                print "#"
                continue

            translations.save_translation_file(
                tr.get('master_file'), tr.get('iana_code'),
                repo.relative_to_root(local_file))

            print "# Translation file %s updated" % local_file
            print "#"
    except:
        print traceback.format_exc()
        print "#"
        print "# Project is empty"
        print "#"
        exitVal = 1

    sys.exit(exitVal)
コード例 #4
0
def pull(**kwargs):
    '''Pull available translations from server'''
    
    repo = Repository();
    
    username = kwargs.get('username')
    password = kwargs.get('password')
  
    if username == '' or password == '':
        username, password = prompt_userpw()
    
    exitVal = 0
    try:
        translations = GLTranslations(GLProject(repo.get_project_name(), username, password))
        trlist = translations.list()
        repo.save_status(trlist)
               
        print "#"
                          
        for tr in trlist:
            local_file = repo.get_mapped_locale(tr.get('master_file'), tr.get('iana_code'))
            if local_file is None:
                print "# Warning: Skipping file %s (%s). Map local file first\n# e.g. with command: gl map-locale %s %s %s.\n# You can also force download files \
    to their default locations with parameter --force" % (tr.get('master_file'), tr.get('iana_code'), tr.get('master_file'), tr.get('iana_code'), tr.get('filename'))
                print "#"
                continue
            
            translations.save_translation_file(tr.get('master_file'), tr.get('iana_code'), repo.relative_to_root(local_file))
            
            print "# Translation file %s updated" % local_file
            print "#"
    except:
        print traceback.format_exc()
        print "#"
        print "# Project is empty"
        print "#"
        exitVal = 1
        
    sys.exit(exitVal)