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]
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)
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']
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])