Esempio n. 1
0
 def test_filestats(self):
     f, cache = self.setup_file_and_db(jtoolkit_extract)
     s = cache.filestats(f.filename, checks.UnitChecker())
     assert s['translated'] == [2, 3, 5]
     assert s['fuzzy'] == [1, 4]
     assert s['untranslated'] == [6]
     assert s['total'] == [1, 2, 3, 4, 5, 6]
Esempio n. 2
0
    def update_file(self, filename):
        # Adapted from Document.__init__()
        from translate.storage import factory, statsdb
        newstore = factory.getobject(filename)
        oldfilename = self._trans_store.filename
        oldfileobj = self._trans_store.fileobj

        #get a copy of old stats before we convert
        from translate.filters import checks
        oldstats = statsdb.StatsCache().filestats(oldfilename,
                                                  checks.UnitChecker(),
                                                  self._trans_store)

        from translate.convert import pot2po
        self._trans_store = pot2po.convert_stores(newstore,
                                                  self._trans_store,
                                                  fuzzymatching=False)
        self._trans_store.fileobj = oldfileobj  #Let's attempt to keep the old file and name if possible

        #FIXME: ugly tempfile hack, can we please have a pure store implementation of statsdb
        import tempfile
        import os
        tempfd, tempfilename = tempfile.mkstemp()
        os.write(tempfd, str(self._trans_store))
        self.update_stats(filename=tempfilename)
        os.close(tempfd)
        os.remove(tempfilename)

        self.controller.compare_stats(oldstats, self.stats)

        # store filename or else save is confused
        self._trans_store.filename = oldfilename
        self._correct_header(self._trans_store)
        self.nplurals = self._compute_nplurals(self._trans_store)
Esempio n. 3
0
 def test_getfileid_recache_cached_unit(self):
     """checks that a simple oo entry is parsed correctly"""
     checker = checks.UnitChecker()
     f, cache = self.setup_file_and_db()
     cache.filestats(f.filename, checker)
     state = cache.recacheunit(f.filename, checker, f.units[1])
     assert state == ['translated', 'total']
Esempio n. 4
0
 def test_if_cached_after_unitstats(self):
     f, cache = self.setup_file_and_db(jtoolkit_extract)
     cache.unitstats(f.filename, checks.UnitChecker())
     assert self.make_file_and_return_id(cache, f.filename) is not None
 def test_getfileid_recache_uncached_unit(self):
     """checks that a simple oo entry is parsed correctly"""
     checker = checks.UnitChecker()
     f, cache = self.setup_file_and_db()
     py.test.raises(AssertionError, cache.recacheunit, f.filename, checker,
                    f.units[1])