def get_project_dates(name):
    project_dao = ProjectMetaDataDao()
    project_dao.open('../builder/statistics.db3')
    dto = project_dao.get(name)

    if dto is None:
        return '', ''

    last_fetch = dto.last_fetch.strftime("%d/%m/%Y")
    last_translation = dto.last_translation_update.strftime("%d/%m/%Y")
    return last_fetch, last_translation
示例#2
0
def get_project_dates(name):
    project_dao = ProjectMetaDataDao()
    project_dao.open('../builder/statistics.db3')
    dto = project_dao.get(name)

    if dto is None:
        return '', ''

    last_fetch = dto.last_fetch.strftime("%d/%m/%Y")
    last_translation = dto.last_translation_update.strftime("%d/%m/%Y")
    return last_fetch, last_translation
 def __init__(self):
     self.projects = list()
     self.set_tm_file('tots-tm.po')
     self.metadata_dao = ProjectMetaDataDao()
     self.metadata_dao.open('statistics.db3')
class Projects(object):

    def __init__(self):
        self.projects = list()
        self.set_tm_file('tots-tm.po')
        self.metadata_dao = ProjectMetaDataDao()
        self.metadata_dao.open('statistics.db3')

    def set_tm_file(self, filename):
        self.tm_file = filename
        self.tm_project = Project('Translation memory', self.tm_file)

    def add(self, project):
        self.projects.append(project)

    def add_project(self, project_dto, add_source):
        project = Project(project_dto.name, project_dto.filename)
        project.set_add_source(add_source)
        project.add_filesets(project_dto)
        self.add(project)
        logging.debug(project_dto)

    def __call__(self):
        """Process all projects"""
        for project in self.projects:
            project.do()

            words, entries = project.get_words_entries()

            if words == -1:
                continue

            metadata_dto = self.metadata_dao.get(project.name)
            if metadata_dto is None:
                metadata_dto = ProjectMetaDataDto(project.name)

            if (metadata_dto.checksum is None or
                metadata_dto.checksum != project.checksum):
                metadata_dto.last_translation_update = datetime.datetime.now()
                metadata_dto.checksum = project.checksum

            metadata_dto.last_fetch = datetime.datetime.now()
            metadata_dto.words = words
            self.metadata_dao.put(metadata_dto)

        self.create_tm_for_all_projects()

    def create_tm_for_all_projects(self):
        """Creates the TM memory for all projects"""

        if os.path.isfile(self.tm_file):
            os.remove(self.tm_file)

        projects_catalog = POCatalog(self.tm_file)

        for project in self.projects:
            project_catalog = POCatalog(project.get_filename())
            projects_catalog.add_pofile(project_catalog.filename)

        projects_catalog.cleanup()

    def statistics(self):
        for project in self.projects:
            project.statistics()

        self.tm_project.statistics()
        self.metadata_dao.close()

    def to_tmx(self):
        for project in self.projects:
            project.to_tmx()

        self.tm_project.to_tmx()
示例#5
0
 def __init__(self):
     self.projects = list()
     self.set_tm_file('tots-tm.po')
     self.metadata_dao = ProjectMetaDataDao()
     self.metadata_dao.open('statistics.db3')
示例#6
0
class Projects(object):
    def __init__(self):
        self.projects = list()
        self.set_tm_file('tots-tm.po')
        self.metadata_dao = ProjectMetaDataDao()
        self.metadata_dao.open('statistics.db3')

    def set_tm_file(self, filename):
        self.tm_file = filename
        self.tm_project = Project('Translation memory', self.tm_file)

    def add(self, project):
        self.projects.append(project)

    def add_project(self, project_dto, add_source):
        project = Project(project_dto.name, project_dto.filename)
        project.set_add_source(add_source)
        project.add_filesets(project_dto)
        self.add(project)
        logging.debug(project_dto)

    def __call__(self):
        """Process all projects"""
        for project in self.projects:
            project.do()

            words, entries = project.get_words_entries()

            if words == -1:
                continue

            metadata_dto = self.metadata_dao.get(project.name)
            if metadata_dto is None:
                metadata_dto = ProjectMetaDataDto(project.name)

            if (metadata_dto.checksum is None
                    or metadata_dto.checksum != project.checksum):
                metadata_dto.last_translation_update = datetime.datetime.now()
                metadata_dto.checksum = project.checksum

            metadata_dto.last_fetch = datetime.datetime.now()
            metadata_dto.words = words
            self.metadata_dao.put(metadata_dto)

        self.create_tm_for_all_projects()

    def create_tm_for_all_projects(self):
        """Creates the TM memory for all projects"""

        if os.path.isfile(self.tm_file):
            os.remove(self.tm_file)

        projects_catalog = POCatalog(self.tm_file)

        for project in self.projects:
            project_catalog = POCatalog(project.get_filename())
            projects_catalog.add_pofile(project_catalog.filename)

        projects_catalog.cleanup()

    def statistics(self):
        for project in self.projects:
            project.statistics()

        self.tm_project.statistics()
        self.metadata_dao.close()

    def to_tmx(self):
        for project in self.projects:
            project.to_tmx()

        self.tm_project.to_tmx()
class Projects(object):

    def __init__(self):
        self.projects = list()
        self.set_tm_file('tots-tm.po')
        self.metadata_dao = ProjectMetaDataDao()
        self.metadata_dao.open('statistics.db3')

    def set_tm_file(self, filename):
        self.tm_file = filename
        self.tm_project = Project('Translation memory', self.tm_file)

    def add(self, project):
        self.projects.append(project)

    def add_project(self, project_dto, add_source):
        project = Project(project_dto.name, project_dto.filename)
        project.set_add_source(add_source)
        project.add_filesets(project_dto)
        self.add(project)
        logging.debug(project_dto)

    def __call__(self):
        """Process all projects"""
        for project in self.projects:
            project.do()

            words, entries = project.get_words_entries()

            if words == -1:
                continue

            metadata_dto = self.metadata_dao.get(project.name)
            if metadata_dto is None:
                metadata_dto = ProjectMetaDataDto(project.name)

            if (metadata_dto.checksum is None or
                metadata_dto.checksum != project.checksum):
                metadata_dto.last_translation_update = datetime.datetime.now()
                metadata_dto.checksum = project.checksum

            metadata_dto.last_fetch = datetime.datetime.now()
            metadata_dto.words = words
            self.metadata_dao.put(metadata_dto)

        self.create_tm_for_all_projects()

    def create_tm_for_all_projects(self):
        """Creates the TM memory for all projects"""
        if os.path.isfile(self.tm_file):
            os.remove(self.tm_file)

        for project in self.projects:
            if os.path.isfile(self.tm_file):
                backup_file = 'tm-previous.po'
                shutil.copy(self.tm_file, backup_file)
                cmd = 'msgcat -tutf-8 --use-first -o {0} {1} {2} 2> /dev/null'
                os.system(cmd.format(self.tm_file,
                                     backup_file,
                                     project.get_filename()))
                os.remove(backup_file)
            else:
                shutil.copy(project.get_filename(), self.tm_file)

        os.system('msgfmt --statistics {0} 2> /dev/null'.format(self.tm_file))

    def statistics(self):
        for project in self.projects:
            project.statistics()

        self.tm_project.statistics()
        self.metadata_dao.close()

    def to_tmx(self):
        for project in self.projects:
            project.to_tmx()

        self.tm_project.to_tmx()