Skip to content

Commit

Permalink
Merge branch 'stable'
Browse files Browse the repository at this point in the history
  • Loading branch information
nijel committed Apr 26, 2021
2 parents 8303053 + d936178 commit b63547c
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
2 changes: 2 additions & 0 deletions weblate/formats/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -530,6 +530,8 @@ def delete_unit(self, ttkit_unit) -> Optional[str]:

def cleanup_unused(self) -> List[str]:
"""Removes unused strings, returning list of additional changed files."""
if not self.template_store:
return []
existing = {unit.context for unit in self.template_store.mono_units}
changed = False

Expand Down
48 changes: 48 additions & 0 deletions weblate/metrics/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,15 @@
from django.core.cache import cache
from django.db import models
from django.db.models import Count, Q
from django.db.models.signals import post_save
from django.dispatch import receiver

from weblate.auth.models import User
from weblate.lang.models import Language
from weblate.memory.models import Memory
from weblate.screenshots.models import Screenshot
from weblate.trans.models import Change, Component, ComponentList, Project, Translation
from weblate.utils.decorators import disable_for_loaddata
from weblate.utils.stats import GlobalStats, ProjectLanguage, prefetch_stats

BASIC_KEYS = {
Expand Down Expand Up @@ -135,6 +138,24 @@ def create_metrics(
ignore_conflicts=True,
)

def initialize_metrics(self, scope: int, relation: int, secondary: int = 0):
today = datetime.date.today()
# 2 years + one day for leap years
self.bulk_create(
[
Metric(
scope=scope,
relation=relation,
secondary=secondary,
name="changes",
value=0,
date=today - datetime.timedelta(days=day),
)
for day in range(2 * 365 + 1)
],
ignore_conflicts=True,
)

def calculate_changes(
self, date, obj, scope: int, relation: int, secondary: int = 0
):
Expand Down Expand Up @@ -413,3 +434,30 @@ class Meta:

def __str__(self):
return f"<{self.scope}.{self.relation}>:{self.date}:{self.name}={self.value}"


@receiver(post_save, sender=Project)
@disable_for_loaddata
def create_metrics_project(sender, instance, created=False, **kwargs):
if created:
Metric.objects.initialize_metrics(
scope=Metric.SCOPE_PROJECT, relation=instance.pk
)


@receiver(post_save, sender=Component)
@disable_for_loaddata
def create_metrics_component(sender, instance, created=False, **kwargs):
if created:
Metric.objects.initialize_metrics(
scope=Metric.SCOPE_COMPONENT, relation=instance.pk
)


@receiver(post_save, sender=Translation)
@disable_for_loaddata
def create_metrics_translation(sender, instance, created=False, **kwargs):
if created:
Metric.objects.initialize_metrics(
scope=Metric.SCOPE_TRANSLATION, relation=instance.pk
)

0 comments on commit b63547c

Please sign in to comment.