• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

iplweb / bpp / 2b724de2-1695-4641-b404-67e99962861e

21 Mar 2025 09:22PM UTC coverage: 46.769% (-0.8%) from 47.561%
2b724de2-1695-4641-b404-67e99962861e

push

circleci

mpasternak
Merge branch 'release/v202503.1166'

267 of 392 new or added lines in 36 files covered. (68.11%)

613 existing lines in 45 files now uncovered.

17054 of 36464 relevant lines covered (46.77%)

1.21 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
src/bpp/models/cache/utils.py
NEW
1
from collections import defaultdict
×
NEW
2
from decimal import Decimal
×
3

NEW
4
from ewaluacja2021.models import (
×
5
    IloscUdzialowDlaAutora_2022_2025,
6
    LiczbaNDlaUczelni_2022_2025,
7
)
NEW
8
from .liczba_n import Cache_Liczba_N_Last_Updated
×
9

10

11
# @transaction.atomic
NEW
12
def oblicz_liczby_n_dla_ewaluacji_2022_2025(uczelnia, rok_min=2022, rok_max=2025):
×
13

NEW
14
    from bpp.models.dyscyplina_naukowa import Autor_Dyscyplina
×
15

NEW
16
    autor_rok_dyscyplina_na_udzial = defaultdict(lambda: defaultdict(dict))
×
NEW
17
    uczelnia_dyscyplina_udzial = defaultdict(list)
×
18

NEW
19
    for ad in Autor_Dyscyplina.objects.filter(rok__gte=rok_min, rok__lte=rok_max):
×
NEW
20
        for dyscyplina, slot in ad.policz_udzialy():
×
NEW
21
            autor_rok_dyscyplina_na_udzial[ad.autor_id][dyscyplina.pk][ad.rok] = slot
×
22

NEW
23
    for autor_id in autor_rok_dyscyplina_na_udzial:
×
NEW
24
        for dyscyplina_id in autor_rok_dyscyplina_na_udzial[autor_id]:
×
NEW
25
            latami = autor_rok_dyscyplina_na_udzial[autor_id][dyscyplina_id]
×
26

NEW
27
            suma = sum(latami.values())
×
NEW
28
            ilosc = len(latami.values())
×
29

NEW
30
            IloscUdzialowDlaAutora_2022_2025.objects.update_or_create(
×
31
                autor_id=autor_id,
32
                dyscyplina_naukowa_id=dyscyplina_id,
33
                defaults=dict(
34
                    ilosc_udzialow=suma, ilosc_udzialow_monografie=suma / Decimal("2.0")
35
                ),
36
            )
37

NEW
38
            uczelnia_dyscyplina_udzial[dyscyplina_id].append(suma / ilosc)
×
39

NEW
40
    LiczbaNDlaUczelni_2022_2025.objects.filter(uczelnia=uczelnia).delete()
×
41

NEW
42
    for dyscyplina_id, wartosci in uczelnia_dyscyplina_udzial.items():
×
NEW
43
        suma_srednich = sum(wartosci)
×
44

NEW
45
        LiczbaNDlaUczelni_2022_2025.objects.create(
×
46
            uczelnia_id=uczelnia.pk,
47
            dyscyplina_naukowa_id=dyscyplina_id,
48
            liczba_n=suma_srednich,
49
        )
50

NEW
51
    nie_raportowane = LiczbaNDlaUczelni_2022_2025.objects.filter(liczba_n__lt=12)
×
52

53
    # Dolicz +1 slot dla każdej nie-raportowanej dyscypliny
NEW
54
    for nie_raportowana in nie_raportowane:
×
NEW
55
        for elem in IloscUdzialowDlaAutora_2022_2025.objects.filter(
×
56
            dyscyplina_naukowa=nie_raportowana.dyscyplina_naukowa
57
        ):
NEW
58
            elem.ilosc_udzialow = min(4, elem.ilosc_udzialow + 1)
×
NEW
59
            elem.ilosc_udzialow_monografie = elem.ilosc_udzialow / Decimal("2.0")
×
NEW
60
            elem.save(update_fields=["ilosc_udzialow", "ilosc_udzialow_monografie"])
×
61

62
    # Usuń nie-raportowane dyscypliny z bazy
NEW
63
    nie_raportowane.delete()
×
64

65
    # Zaznacz, że policzone
NEW
66
    Cache_Liczba_N_Last_Updated.objects.update_or_create(
×
67
        pk=1, defaults=dict(wymaga_przeliczenia=False)
68
    )
69

NEW
70
    for elem in LiczbaNDlaUczelni_2022_2025.objects.all():
×
NEW
71
        print(elem)
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc