def update_tp_and_store_stats(apps, schema_editor): Store = apps.get_model("pootle_store.Store") TranslationProject = apps.get_model( "pootle_translationproject.TranslationProject") for store in Store.objects.iterator(): logger.info("Set stats for Store: %s" % store.pootle_path) StoreDataTool(store).update() for tp in TranslationProject.objects.iterator(): logger.info("Set stats for TP: %s" % tp.pootle_path) TPDataTool(tp).update()
def fix_empty_wordcounts(apps, schema_editor): unit_sources = apps.get_model("pootle_store.UnitSource").objects Store = apps.get_model("pootle_store.Store") TranslationProject = apps.get_model( "pootle_translationproject.TranslationProject") unit_sources = unit_sources.filter(source_wordcount=1).filter( unit__source_f__regex="^$") stores = set(unit_sources.values_list("unit__store", flat=True).distinct()) tps = set( unit_sources.values_list("unit__store__translation_project", flat=True).distinct()) unit_sources.update(source_wordcount=0) for store in Store.objects.filter(id__in=stores).iterator(): logger.debug("Updating stats for Store: %s" % store.pootle_path) StoreDataTool(store).update() for tp in TranslationProject.objects.filter(id__in=tps).iterator(): logger.debug("Set stats for TP: %s" % tp.pootle_path) TPDataTool(tp).update()
def test_data_store_updater(store0): data_tool = StoreDataTool(store0) updater = StoreDataUpdater(data_tool) assert updater.tool.context == store0 assert isinstance(store0.data_tool.updater, StoreDataUpdater)