aa-ledger 0.9.8__py3-none-any.whl → 0.9.9.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. {aa_ledger-0.9.8.dist-info → aa_ledger-0.9.9.1.dist-info}/METADATA +3 -1
  2. {aa_ledger-0.9.8.dist-info → aa_ledger-0.9.9.1.dist-info}/RECORD +78 -76
  3. ledger/__init__.py +9 -9
  4. ledger/api/api_helper/billboard_helper.py +55 -26
  5. ledger/api/ledger/admin.py +1 -1
  6. ledger/app_settings.py +18 -11
  7. ledger/constants.py +5 -0
  8. ledger/decorators.py +92 -11
  9. ledger/helpers/alliance.py +119 -91
  10. ledger/helpers/character.py +260 -252
  11. ledger/helpers/core.py +565 -565
  12. ledger/helpers/corporation.py +237 -187
  13. ledger/helpers/etag.py +2 -1
  14. ledger/helpers/ref_type.py +475 -475
  15. ledger/locale/cs_CZ/LC_MESSAGES/django.po +942 -932
  16. ledger/locale/de/LC_MESSAGES/django.mo +0 -0
  17. ledger/locale/de/LC_MESSAGES/django.po +961 -945
  18. ledger/locale/django.pot +942 -932
  19. ledger/locale/es/LC_MESSAGES/django.po +943 -933
  20. ledger/locale/fr_FR/LC_MESSAGES/django.po +942 -932
  21. ledger/locale/it_IT/LC_MESSAGES/django.po +942 -932
  22. ledger/locale/ja/LC_MESSAGES/django.po +943 -933
  23. ledger/locale/ko_KR/LC_MESSAGES/django.po +942 -932
  24. ledger/locale/nl_NL/LC_MESSAGES/django.po +942 -932
  25. ledger/locale/pl_PL/LC_MESSAGES/django.po +942 -932
  26. ledger/locale/ru/LC_MESSAGES/django.po +945 -935
  27. ledger/locale/sk/LC_MESSAGES/django.po +944 -934
  28. ledger/locale/uk/LC_MESSAGES/django.po +946 -936
  29. ledger/locale/zh_Hans/LC_MESSAGES/django.po +943 -933
  30. ledger/managers/character_mining_manager.py +66 -19
  31. ledger/managers/character_planetary_manager.py +1 -1
  32. ledger/migrations/0016_characterminingledger_price_per_unit.py +21 -0
  33. ledger/models/characteraudit.py +32 -1
  34. ledger/static/ledger/css/cards.css +1 -1
  35. ledger/static/ledger/css/table.css +1 -1
  36. ledger/static/ledger/js/charts.js +7 -227
  37. ledger/static/ledger/js/planetary.js +1 -0
  38. ledger/tasks.py +1 -8
  39. ledger/templates/ledger/allyledger/admin/alliance_administration.html +17 -8
  40. ledger/templates/ledger/allyledger/admin/alliance_overview.html +75 -89
  41. ledger/templates/ledger/allyledger/alliance_ledger.html +8 -10
  42. ledger/templates/ledger/bundles/ally-administration-bundles.html +2 -0
  43. ledger/templates/ledger/bundles/char-administration-bundles.html +2 -0
  44. ledger/templates/ledger/bundles/character-ledger-bundles.html +66 -64
  45. ledger/templates/ledger/bundles/corp-administration-bundles.html +2 -0
  46. ledger/templates/ledger/bundles/corporation-ledger-bundles.html +75 -73
  47. ledger/templates/ledger/charledger/admin/character_administration.html +10 -8
  48. ledger/templates/ledger/charledger/admin/character_overview.html +69 -86
  49. ledger/templates/ledger/charledger/character_ledger.html +11 -15
  50. ledger/templates/ledger/charledger/planetary/planetary_ledger.html +2 -6
  51. ledger/templates/ledger/corpledger/admin/corporation_administration.html +10 -8
  52. ledger/templates/ledger/corpledger/admin/corporation_overview.html +71 -83
  53. ledger/templates/ledger/corpledger/corporation_ledger.html +55 -14
  54. ledger/templates/ledger/partials/administration/alliance.html +28 -49
  55. ledger/templates/ledger/partials/administration/alliance_corporations.html +58 -0
  56. ledger/templates/ledger/partials/administration/corporation_characters.html +26 -28
  57. ledger/templates/ledger/partials/information/daily.html +1 -1
  58. ledger/templates/ledger/partials/information/day.html +1 -7
  59. ledger/templates/ledger/partials/information/hourly.html +1 -7
  60. ledger/templates/ledger/partials/information/summary.html +88 -84
  61. ledger/templates/ledger/partials/information/view_character_content.html +35 -35
  62. ledger/templates/ledger/partials/table/char-ledger.html +14 -5
  63. ledger/templates/ledger/partials/table/corp-ledger.html +3 -3
  64. ledger/templates/ledger/partials/view/card.html +2 -2
  65. ledger/tests/test_decarators.py +102 -17
  66. ledger/tests/test_helpers/test_etag.py +7 -6
  67. ledger/tests/test_managers/test_character_mining_manager.py +2 -1
  68. ledger/tests/test_models/test_characterminingledger.py +38 -2
  69. ledger/tests/test_tasks.py +4 -4
  70. ledger/tests/test_templatetags.py +5 -2
  71. ledger/tests/test_views/test_access.py +852 -852
  72. ledger/tests/testdata/esi.json +1 -2
  73. ledger/tests/testdata/eveuniverse.json +90 -48
  74. ledger/urls.py +66 -21
  75. ledger/views/alliance/alliance_ledger.py +4 -3
  76. ledger/views/corporation/corporation_ledger.py +25 -9
  77. {aa_ledger-0.9.8.dist-info → aa_ledger-0.9.9.1.dist-info}/WHEEL +0 -0
  78. {aa_ledger-0.9.8.dist-info → aa_ledger-0.9.9.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aa-ledger
3
- Version: 0.9.8
3
+ Version: 0.9.9.1
4
4
  Summary: Character and Corporation statistics, including detailed information on ESS, Ratting, Trading, Mining, and other activities.
5
5
  Project-URL: Changelog, https://github.com/Geuthur/aa-ledger/blob/master/CHANGELOG.md
6
6
  Project-URL: Documentation, https://github.com/Geuthur/aa-ledger/blob/master/README.md
@@ -874,6 +874,8 @@ The Following Settings can be setting up in the `local.py`
874
874
 
875
875
  - LEDGER_APP_NAME: `"YOURNAME"` - Set the name of the APP
876
876
  - LEDGER_TASKS_TIME_LIMIT: `7200` - Defines the time (in seconds) a task will timeout
877
+ - LEDGER_USE_COMPRESSED: `True` - Defines if Mining Ledger use Compressed Price or Raw
878
+ - LEDGER_PRICE_PERCENTAGE: `0.9`- Defines Mining Price multiplier
877
879
 
878
880
  Advanced Settings: Stale Status for Each Section
879
881
 
@@ -1,24 +1,24 @@
1
- ledger/__init__.py,sha256=OBjH31b409PxHO3tdpHCi2-I3W0AResLjXNf9of_Zac,214
1
+ ledger/__init__.py,sha256=pCFd5DKZRKm4BXylGLIBFX8IdVyRwApROtVLFesfMzQ,207
2
2
  ledger/admin.py,sha256=wp6nLps1tTGHznyHBLMoRnwjnYZW1RfXOnw4TfwRWhM,9408
3
- ledger/app_settings.py,sha256=jqPSkWEG6Edrs8Y1Dr9z_baAYajumGAhtZbrQhA7hKU,1122
3
+ ledger/app_settings.py,sha256=r9CcNaBDo6kFOlYXXlRx3aTq1xErDz_JwJy7vM-mJNk,1363
4
4
  ledger/apps.py,sha256=XQxXGP-1xvmQqTRJYrVIuUgCwUPOdEW3iSZaxTOYvT0,442
5
5
  ledger/auth_hooks.py,sha256=yaOoOqfHqKoqcDm4eA-_wejIxvNIEcGa_glwHK-Sul0,1454
6
6
  ledger/checks.py,sha256=Sq-tfUyc_OElBi9Xj71DuJXBbRU0Zqu1XDSbEtp3bPI,1474
7
- ledger/constants.py,sha256=jNxSIe6jCOKFktbSAzszf5h_qduCW7iXmkY3Z4pOAFM,3472
8
- ledger/decorators.py,sha256=qWOHKFa2a5W7IcTi_yaLmaGZGA8k5cmJCYaeCWpjoQw,1654
7
+ ledger/constants.py,sha256=WBS7yuhBcEW9nWdj4Ieit-PolUQP_Uz393QBZFNUmvs,3662
8
+ ledger/decorators.py,sha256=ka3LJ1XFiIsiWqex5i0qiO80UH0NICshLfft3sy9ceU,4924
9
9
  ledger/errors.py,sha256=8VMvWzlpjilvC6h9WSUhBtz19oN_shRoradq5sp-G-8,495
10
10
  ledger/forms.py,sha256=DUVd2s6D9rdyhYxoM0VXlA5PODywmpKUw5FfTBJft-w,269
11
11
  ledger/hooks.py,sha256=ofua_eHg_ikCxaql8O7c3itSx2FyUhpeXJNH39asncA,15
12
12
  ledger/providers.py,sha256=Ggmna3W-izQdB0AwcTkJ6tijoFFHJt-VFRwT-n1Pvhw,303
13
- ledger/tasks.py,sha256=dzgov2NOYMLMhVrZ1qcc9bmszZvNfwTYawlyRNWkUZU,14868
14
- ledger/urls.py,sha256=5hD0BdyL9OiWo7q3KA-lXZOBRgQaWCE1uDt_t9dNF1w,6774
13
+ ledger/tasks.py,sha256=FO1Oy458GaA9g2dbXrCvmL3u_d-T7tyOWW7O-qOpQl0,14733
14
+ ledger/urls.py,sha256=Zs6kkBmEdsVC7ZA2rOYjTtnfT6etQu_d4pZmPyUQg08,8419
15
15
  ledger/api/__init__.py,sha256=GtiQ3H7rMKu_i63rp5GpHieHzVH-fWtFRHnZ6s9wS_k,655
16
16
  ledger/api/helpers.py,sha256=SyoARfjY3hxlhbnXbVKmpbMsFXvH6k1lF2QiBmynaP0,4199
17
17
  ledger/api/schema.py,sha256=aoiceIxsJo49OYI5FK8CX8jBC_HcQmllr37bO5GWDMU,788
18
- ledger/api/api_helper/billboard_helper.py,sha256=vjRyLXXfVZ69Q1KFkmvQ8qV8KyVnQG0b3Ss8Sqbe2oc,8061
18
+ ledger/api/api_helper/billboard_helper.py,sha256=VMylYIE-AwRViKtWrXBrCvaw75zTZx2fKOPXM4hr7sE,9117
19
19
  ledger/api/api_helper/planetary_helper.py,sha256=Mbv1YLbkrJyx5iwT1jN3REHJiDTNSLwkpD52DeQduhc,3412
20
20
  ledger/api/ledger/__init__.py,sha256=afoB9VRZj50m-UlMxlTN7HkThKH8Nly6nmkifG82vN8,182
21
- ledger/api/ledger/admin.py,sha256=ZBeCIG32ClebYbwxMvY8h2GRgqoiwuZzm7DaNzrkQjA,10324
21
+ ledger/api/ledger/admin.py,sha256=dDRIFpRxasjKKYLRyxkic5ddxNH3E7PaATgTQqOsDek,10325
22
22
  ledger/api/ledger/planetary.py,sha256=sN7WBn-X0udfvwxe0j2-sOew1n7OIayTlCZ9xcnbLWk,8323
23
23
  ledger/docs/information.md,sha256=gs66TkiGNpbPsaftcLURwKmm9b2OxXFazD1AF8g4fwE,1485
24
24
  ledger/docs/images/preview1.png,sha256=haynE8BA9RbwpucJPvpvx-_A3CF5gE4za4EoQHrRyCc,433487
@@ -28,45 +28,45 @@ ledger/docs/images/preview4.png,sha256=h4nY8Ezx6Jef0uCd201tpoIxEn3B0X8zkgn68hYFW
28
28
  ledger/docs/images/preview5.png,sha256=ufKWWxZLPAu6XvQDmV0dc0pS61WglXFGfGMlUkLW5UA,131063
29
29
  ledger/docs/images/preview6.png,sha256=JDePXNyMVIn64Lv879HUKI_KgbjWzjbxrQrMhqPHA7c,61867
30
30
  ledger/helpers/__init__.py,sha256=yppp0m8TIYARQJLk_cpEjIQYZeFVIcA-V3NdUD6QeVQ,21
31
- ledger/helpers/alliance.py,sha256=Hn_TPhV5tJ2tbhwxPWS-JuwfqVQBN8aaiNcSa_Lkx8U,11267
32
- ledger/helpers/character.py,sha256=h9Ts6H72CB4GBzKWBJXmAjP-BM61T6SyS1WS2dLRKsE,9015
33
- ledger/helpers/core.py,sha256=93EU8IzW5aQjBGdQ95W8MWYSKNWPMcQmWW3b628-j4k,20440
34
- ledger/helpers/corporation.py,sha256=_EyUO0Vf5wh0TtEiDnNMRKUOADDznWsRLAzuZm2G_2c,15417
31
+ ledger/helpers/alliance.py,sha256=wQFxDVcAmfcq5kN48p6w3xVK40U-El7Wl0L1GYzPXhw,12677
32
+ ledger/helpers/character.py,sha256=XhZKYFOXcvcs4RqauVS0zwsn4v_zWlI7bRhWKs2kKgQ,9158
33
+ ledger/helpers/core.py,sha256=ZtML2hTFGahc7L8A_XX4I0RgJpVZkdQkkIno8rg8I-s,19679
34
+ ledger/helpers/corporation.py,sha256=2lR7L5GAK0L791QAEp-AlvphFDST-rLdYH3XTEGt8nk,17117
35
35
  ledger/helpers/discord.py,sha256=D59TBtPHAldCCWi2j_z1CzuW6140aP2kHYvgzgYwuP0,4427
36
- ledger/helpers/etag.py,sha256=xMMQXyTGLN1OvxDESqldD7jlHGP3w-dDHGlnZLQItVc,7360
37
- ledger/helpers/ref_type.py,sha256=Cyc0qZ7u_2gyrY6_IjSf_ol_Z2uTsb38VSACnPQ2IuM,16888
36
+ ledger/helpers/etag.py,sha256=7x4balvYOypaC0jKlBbjRuETn6ol3gMBTL_363b7iVA,7421
37
+ ledger/helpers/ref_type.py,sha256=BnRypVpSZmBaJbULWh9URJDlHrDnqRDoynd_nDSmdCo,16413
38
38
  ledger/locale/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- ledger/locale/django.pot,sha256=MHrMuQz1paYjCfwV2oE0EGDcL_x1-T7xNetVb9MngrY,24735
39
+ ledger/locale/django.pot,sha256=XKNnc2EkU5ouwBHWLvLfCvBAJRXc7KTmNHDWj_4AswY,24140
40
40
  ledger/locale/cs_CZ/LC_MESSAGES/django.mo,sha256=UXCQbz2AxBvh-IQ7bGgjoBnijo8h9DfE9107A-2Mgkk,337
41
- ledger/locale/cs_CZ/LC_MESSAGES/django.po,sha256=MHrMuQz1paYjCfwV2oE0EGDcL_x1-T7xNetVb9MngrY,24735
42
- ledger/locale/de/LC_MESSAGES/django.mo,sha256=36AcIqwzodSiXG0EDosnoKDBdy0NxDYn8ul-CJbFDDs,11579
43
- ledger/locale/de/LC_MESSAGES/django.po,sha256=OAv4XfzeIjoEQT8EcitGB_iAqvFiwcGkTaTyYiHuXH4,28906
41
+ ledger/locale/cs_CZ/LC_MESSAGES/django.po,sha256=katvJhTP3EEHgVBjlHrborUJJUDZEbpNtAtK8GKhltk,24141
42
+ ledger/locale/de/LC_MESSAGES/django.mo,sha256=hvb1lwwhCusnivkWXcisch2Oy47GDNONmifk3ng0YJ4,11746
43
+ ledger/locale/de/LC_MESSAGES/django.po,sha256=ZqapwCcafOjdfzQkLcDzQjLoS1W_ksBNdQnkmzQauIo,28447
44
44
  ledger/locale/es/LC_MESSAGES/django.mo,sha256=N1pb17IfLd0ASiKO8d68-B4ygSpDkhKOCs8YTzMXQo0,380
45
- ledger/locale/es/LC_MESSAGES/django.po,sha256=f3tHXQaf5pQPxBXWxQcRejnkhZAbdO-fcbuCidVrZ8M,24783
45
+ ledger/locale/es/LC_MESSAGES/django.po,sha256=r4PCLW8rMmzWyov4Z5saatMbcGKEyYoYcUwYnDz8aUc,24188
46
46
  ledger/locale/fr_FR/LC_MESSAGES/django.mo,sha256=UXCQbz2AxBvh-IQ7bGgjoBnijo8h9DfE9107A-2Mgkk,337
47
- ledger/locale/fr_FR/LC_MESSAGES/django.po,sha256=MHrMuQz1paYjCfwV2oE0EGDcL_x1-T7xNetVb9MngrY,24735
47
+ ledger/locale/fr_FR/LC_MESSAGES/django.po,sha256=katvJhTP3EEHgVBjlHrborUJJUDZEbpNtAtK8GKhltk,24141
48
48
  ledger/locale/it_IT/LC_MESSAGES/django.mo,sha256=UXCQbz2AxBvh-IQ7bGgjoBnijo8h9DfE9107A-2Mgkk,337
49
- ledger/locale/it_IT/LC_MESSAGES/django.po,sha256=MHrMuQz1paYjCfwV2oE0EGDcL_x1-T7xNetVb9MngrY,24735
49
+ ledger/locale/it_IT/LC_MESSAGES/django.po,sha256=katvJhTP3EEHgVBjlHrborUJJUDZEbpNtAtK8GKhltk,24141
50
50
  ledger/locale/ja/LC_MESSAGES/django.mo,sha256=XMj5I8Aah7EGpU-KfFOr25hoOxxLT5dfmjror1-uc8g,373
51
- ledger/locale/ja/LC_MESSAGES/django.po,sha256=ScELr73RNeRZ-nYZqz8N92Jl2vQ0x0nruaJKyFjUwG8,24776
51
+ ledger/locale/ja/LC_MESSAGES/django.po,sha256=_IGQgNKM5yvWdEuxQWK4tU39W2R-b1GrVYGyy371KJQ,24181
52
52
  ledger/locale/ko_KR/LC_MESSAGES/django.mo,sha256=UXCQbz2AxBvh-IQ7bGgjoBnijo8h9DfE9107A-2Mgkk,337
53
- ledger/locale/ko_KR/LC_MESSAGES/django.po,sha256=MHrMuQz1paYjCfwV2oE0EGDcL_x1-T7xNetVb9MngrY,24735
53
+ ledger/locale/ko_KR/LC_MESSAGES/django.po,sha256=katvJhTP3EEHgVBjlHrborUJJUDZEbpNtAtK8GKhltk,24141
54
54
  ledger/locale/nl_NL/LC_MESSAGES/django.mo,sha256=UXCQbz2AxBvh-IQ7bGgjoBnijo8h9DfE9107A-2Mgkk,337
55
- ledger/locale/nl_NL/LC_MESSAGES/django.po,sha256=MHrMuQz1paYjCfwV2oE0EGDcL_x1-T7xNetVb9MngrY,24735
55
+ ledger/locale/nl_NL/LC_MESSAGES/django.po,sha256=katvJhTP3EEHgVBjlHrborUJJUDZEbpNtAtK8GKhltk,24141
56
56
  ledger/locale/pl_PL/LC_MESSAGES/django.mo,sha256=UXCQbz2AxBvh-IQ7bGgjoBnijo8h9DfE9107A-2Mgkk,337
57
- ledger/locale/pl_PL/LC_MESSAGES/django.po,sha256=MHrMuQz1paYjCfwV2oE0EGDcL_x1-T7xNetVb9MngrY,24735
57
+ ledger/locale/pl_PL/LC_MESSAGES/django.po,sha256=katvJhTP3EEHgVBjlHrborUJJUDZEbpNtAtK8GKhltk,24141
58
58
  ledger/locale/ru/LC_MESSAGES/django.mo,sha256=hs3OUHIMDSoIE9PjzkBNf97lqqo84dp6fQ_nZOMq2us,518
59
- ledger/locale/ru/LC_MESSAGES/django.po,sha256=GxCg2K3bzMKePJUIaJj1vPNEHouM7vhhGqV8EhjevXs,24929
59
+ ledger/locale/ru/LC_MESSAGES/django.po,sha256=bwxi1iqISdMlTq26xi0H6l5W8CewtF2MWs3NcLWAWug,24332
60
60
  ledger/locale/sk/LC_MESSAGES/django.mo,sha256=TRRRHrYeiLCvDNFGFTmkHmuh25TerdFy4jNVwPsWkzA,455
61
- ledger/locale/sk/LC_MESSAGES/django.po,sha256=fywzdPBeG6QgO1ZdcqdbjfGX1fhd0bSbJg4-o1lkNv0,24862
61
+ ledger/locale/sk/LC_MESSAGES/django.po,sha256=y6ZJSEiAAoEyiXm6NFAOHDaIpdM5ltQDCBZTgQH8vV4,24266
62
62
  ledger/locale/uk/LC_MESSAGES/django.mo,sha256=db3vApZ7nY3-IsGkDVAV5ckHkmwj9XGdsaB-jj90uLE,602
63
- ledger/locale/uk/LC_MESSAGES/django.po,sha256=yWDJqNgZgMWrNzckwXLUQiNBmgJa_fqrMfHIH_IlU04,25017
63
+ ledger/locale/uk/LC_MESSAGES/django.po,sha256=b4NDbUVjmBtgEspucudT8lAHdng8AHfj-7yZLsY8hFA,24419
64
64
  ledger/locale/zh_Hans/LC_MESSAGES/django.mo,sha256=XMj5I8Aah7EGpU-KfFOr25hoOxxLT5dfmjror1-uc8g,373
65
- ledger/locale/zh_Hans/LC_MESSAGES/django.po,sha256=ScELr73RNeRZ-nYZqz8N92Jl2vQ0x0nruaJKyFjUwG8,24776
65
+ ledger/locale/zh_Hans/LC_MESSAGES/django.po,sha256=_IGQgNKM5yvWdEuxQWK4tU39W2R-b1GrVYGyy371KJQ,24181
66
66
  ledger/managers/character_audit_manager.py,sha256=UoI1aeyLLkEDo9KBgtgYYmJXtPXmxld9ARDQlcNk6Bg,6797
67
67
  ledger/managers/character_journal_manager.py,sha256=2uEkVZ_Sp-iP68rL8s7Ia0uiT-UXHNQslxF3RfqWPdY,17482
68
- ledger/managers/character_mining_manager.py,sha256=De2AzFR32baAUqdzddG1BrFq2xIgjM-FDarzy_gcZxM,6665
69
- ledger/managers/character_planetary_manager.py,sha256=Evo0yO70RpaXnDgKpJu4jbCeKTPLpx1Vf0wrpoMwvyQ,13704
68
+ ledger/managers/character_mining_manager.py,sha256=zh5wFs4RnhOTfua5AmgVeGuZFvl4pU7VuEAcaUilUGI,8182
69
+ ledger/managers/character_planetary_manager.py,sha256=ClnRkXObob72aH0xoTY2g7JgRoufzyh-QptRtzwGVyY,13706
70
70
  ledger/managers/corporation_audit_manager.py,sha256=dP9F3qwIC5JZES8BzlztmrzBOmtId5M9RuU_X_u_TuA,3409
71
71
  ledger/managers/corporation_journal_manager.py,sha256=6NI_E3Zr2RM6LvhBEZkJUxWjTo4dWDfbMZI9sNCXWxs,14663
72
72
  ledger/managers/general_manager.py,sha256=8x65fgjoB3H8cfHc76PKgkKc63wbqEXiDVSJQ8Zpfi8,2689
@@ -85,63 +85,65 @@ ledger/migrations/0012_alter_corporationwalletjournalentry_division.py,sha256=le
85
85
  ledger/migrations/0013_delete_events.py,sha256=BR2PfSF0dHOe3is4eKvhNlqCxjez83PXJARMK-o5Pqk,330
86
86
  ledger/migrations/0014_alter_corporationaudit_options_alter_general_options_and_more.py,sha256=K7JMWeE4akYlkST7oQX_ssZeZ9ysRYKFVqBZ6a7mViM,1537
87
87
  ledger/migrations/0015_rename_character_characteraudit_eve_character.py,sha256=oGYc79nssnwQ1f-bCoxY7sIuWELoEewBQSWjxH2l-vc,468
88
+ ledger/migrations/0016_characterminingledger_price_per_unit.py,sha256=THcwqd372z0hch68hYLsy0kzA0fae6Cz4PpVaXWyEuQ,519
88
89
  ledger/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
90
  ledger/models/__init__.py,sha256=iXAtnde1Znz1dGaFv6fAHM1bB8Ky3IuoU_U2VZoaIVc,274
90
- ledger/models/characteraudit.py,sha256=44EN7sPG8UM1GOzag3vXcAzzDJ_NLJq2-8YADiBG468,16400
91
+ ledger/models/characteraudit.py,sha256=4bbu9QuP8WTwxq-AZYHgi1I5OU_KjQV-1IqOQ5pOvsk,17683
91
92
  ledger/models/corporationaudit.py,sha256=T1rleBk4cVEEj9rjrhZBn4KTsZGqIWdrhyTmZ1fm_qQ,11377
92
93
  ledger/models/general.py,sha256=O3byPkQrYKjPdqqcdiiK7owu9OaEsnktgxyR5t0p3YI,6660
93
94
  ledger/models/planetary.py,sha256=XFgMYJXsYK5DBmcB7mRINP3mRD54BxTvtCLH8uCZmAA,10538
94
- ledger/static/ledger/css/cards.css,sha256=8NQx4TExuaufhSD90Bt_9K3CsQV1sZbJCeSSJLe4lYs,2992
95
+ ledger/static/ledger/css/cards.css,sha256=eOCl9XDNJLgnXE5a84SJveu2Q5T_ZjCHD9sqhbxOxyI,2996
95
96
  ledger/static/ledger/css/ledger.css,sha256=KA1RtKb45Q7cvzI5l0kKWm9Y4ZBizJBq69o8BEHsUZc,2056
96
97
  ledger/static/ledger/css/planetary.css,sha256=frXKv4u--szpWYdJS5UtrL9VeNGNaySDGilWuvUx0pw,870
97
- ledger/static/ledger/css/table.css,sha256=fuSla1aJTzbmUXjRDT38a6qlSpqX3UxfYZmrKFLPvsE,819
98
+ ledger/static/ledger/css/table.css,sha256=06gvS8i-xLTM5lvC-gD5y1PraUIJuBuM0pw5s7qwf6o,823
98
99
  ledger/static/ledger/images/Spinner-1s-64px-dark.gif,sha256=OdxGxhSy4z8UaLMdiKmXPL8yLmRWeqgAbyTxhw5U3bI,43262
99
100
  ledger/static/ledger/images/Spinner-1s-64px-light.gif,sha256=1DYm3EiQLwLqOoum31gQdK0A5reR1vFaWjEYGDLqUqY,43381
100
101
  ledger/static/ledger/images/green.png,sha256=ZEPpW4mjSfG_QPTLThfgSXm-9rWPlhRqK0OW_RA0Rsw,566059
101
102
  ledger/static/ledger/images/pi.png,sha256=sZK6FwyfUgt09Zqj1BVJcJ8Tp-WMP_IWe7JZlPIbinw,245423
102
103
  ledger/static/ledger/images/portrait.jpg,sha256=dls4maAquZEQfUe8nFVqoxQ0Lrp2rwrRWBSMUCeyuKw,938
103
104
  ledger/static/ledger/images/red.png,sha256=VYZ7bRRkgTCtDwh2_y7NusKZBCHTpetaeEuCPIt7x10,419918
104
- ledger/static/ledger/js/charts.js,sha256=Pd7En21XeSgmcoPbukimknE4ncyJ5E72sU80IkV57wU,13863
105
+ ledger/static/ledger/js/charts.js,sha256=doULNZjyp07zubz7WhQ-Jw8jTldk-aTjqoG9IbfHInk,6799
105
106
  ledger/static/ledger/js/planetary-confirm.js,sha256=-qJK2nuohgadb0KYb-R9TYSUMjLXtmd3WbLDPAtw8v4,2632
106
- ledger/static/ledger/js/planetary.js,sha256=t-6l7c_2N4zsfmCEjpLJmFvoiCru3ROP0srtRfhMuh4,6118
107
+ ledger/static/ledger/js/planetary.js,sha256=k4jFAIlG19P2qYuPzxKY8-f3d0WQhYdOGqxAvhgdgMs,6167
107
108
  ledger/static/ledger/js/modal/delete-confirm.js,sha256=sMj9XNTZtBH2YVKJliex5ZdqG4JhWk11sdwRmyuSH5c,2131
108
109
  ledger/static/ledger/js/modal/modal-system.js,sha256=O9o6jU9aGWsqDmNexy8kviDp_5qLlJM-ANnxZJqPHds,2207
109
110
  ledger/templates/ledger/admin.html,sha256=c9-sa1vkVS2usZ86iRep-CdwYSdEIhORTIj6-mtbzN8,2161
110
111
  ledger/templates/ledger/base.html,sha256=RetrZFfTzGRPTppor1TgGcGGT2ctfrp1aAahtpYwRlM,1119
111
112
  ledger/templates/ledger/error.html,sha256=YRSXA3d7FgdiY8bkz4VbBwEkA4kuQxYSzyBO1lTlTHU,669
112
113
  ledger/templates/ledger/permission.html,sha256=as9L3DlTs3g6VxO3sEzxXM9y1sEZaIEJxxdJ7l76rPM,78
113
- ledger/templates/ledger/allyledger/alliance_ledger.html,sha256=YwKxnYBjqqPs6s_I2OK9DAyP36okK94iC5VUo9Wn-1w,4408
114
- ledger/templates/ledger/allyledger/admin/alliance_administration.html,sha256=HN97oPQI3W-4sF5r90NJSIBtszlGkhCdM2Ttpod59U4,1211
115
- ledger/templates/ledger/allyledger/admin/alliance_overview.html,sha256=MNeR2RgBh-yn97wBm2ne4Blm4qLFwpwGhgYwxjpyUmg,4059
116
- ledger/templates/ledger/bundles/ally-administration-bundles.html,sha256=LnNXReMzxiOz8p0rD6zIFafKrYH2f5ADHzEnsUabLnU,1998
117
- ledger/templates/ledger/bundles/char-administration-bundles.html,sha256=GcPrxGUxAYrncf5V7ioH917ZwqcrcpOhcG-qxhtjBdk,2304
118
- ledger/templates/ledger/bundles/character-ledger-bundles.html,sha256=XKYblqKZWKoOYoyopcWe-ctHYxqsIdImTKCNtRacx68,2926
119
- ledger/templates/ledger/bundles/corp-administration-bundles.html,sha256=CqgDy8ClOLyJ4iP1_BVTyVSQWYyYZkox-2v04_38--4,2286
120
- ledger/templates/ledger/bundles/corporation-ledger-bundles.html,sha256=mtv7AsTjH6VyJI-aZEEEsFtmcfmKLlbG2Y548iryZhU,3265
114
+ ledger/templates/ledger/allyledger/alliance_ledger.html,sha256=jEHTr7Fx0iGyB9lbC8uviTZXX_SZEGelKRpkGp_VbA0,4282
115
+ ledger/templates/ledger/allyledger/admin/alliance_administration.html,sha256=AmNLYoTC_D2bn_MNaZa4lMXSmdgF28iXf_C2WNuA9AU,1663
116
+ ledger/templates/ledger/allyledger/admin/alliance_overview.html,sha256=Vfjj1v8UNtlIYXt7jaDmGYc668yVXxP9hdEKthzIt60,4075
117
+ ledger/templates/ledger/bundles/ally-administration-bundles.html,sha256=8Ymz7WpxarJKRYkbhLqUy0AzN7lN6-3AlG51pOLSfuU,2115
118
+ ledger/templates/ledger/bundles/char-administration-bundles.html,sha256=G_9NotUgTf0-FWtQFYIpLBPu6rRVuXgpCEmvAOLyDt0,2421
119
+ ledger/templates/ledger/bundles/character-ledger-bundles.html,sha256=HHLGZUvj_Wtr1NVCb3ER2u_ImtJqsfDaeDsUg4L_yAY,2832
120
+ ledger/templates/ledger/bundles/corp-administration-bundles.html,sha256=EkIEGi0VAUonho1j70wVBZFNL1NM6hn-wWkO9wCzX0o,2403
121
+ ledger/templates/ledger/bundles/corporation-ledger-bundles.html,sha256=QV2YCxde8dU-cKKWiv4H6Q8Y4Ucy1SXLLQkGWuD9b3U,3261
121
122
  ledger/templates/ledger/bundles/ledger-bundles.html,sha256=VN9aNqveRBeHH0AGcqUnnAv2TOm2HX-ApeOntw4zU2c,1077
122
123
  ledger/templates/ledger/bundles/ledger-css.html,sha256=Rhi4WqL7SIwjKAs3Q03ScS-FEHCdXHxhFqZ6KyodP2I,57
123
124
  ledger/templates/ledger/bundles/planetary-bundles.html,sha256=gr-PwoRgsDxtJ2Nf9l5o64kUuRXVDPPdNRvhhMyIh7Y,2151
124
125
  ledger/templates/ledger/bundles/table-css.html,sha256=BFl2fFUzc7gp_uMA7Cv9UbevJMr6sGqdMIT6LinIwl4,56
125
- ledger/templates/ledger/charledger/character_ledger.html,sha256=N7TpRZHkmYx1T-_SCmDiHLA2eucwPV4r0PFh-pX2fzE,4895
126
- ledger/templates/ledger/charledger/admin/character_administration.html,sha256=8Iv6eUbhlycGp92NkiOJs1g5x-7ns60V6YcYs4J0dUc,1212
127
- ledger/templates/ledger/charledger/admin/character_overview.html,sha256=sq4XSeN3FPWTDpV33ffmJINTjmGw7h7MMfe0gB0fWr0,4328
128
- ledger/templates/ledger/charledger/planetary/planetary_ledger.html,sha256=XKkNm2hhLBFxTbHkOnjhVwFhXBn-aziwiDNsF3ArVng,2117
126
+ ledger/templates/ledger/charledger/character_ledger.html,sha256=WB41tA0zIp230CcBgbdw3MQalePi2Rnz5ezeBo5MXoQ,4751
127
+ ledger/templates/ledger/charledger/admin/character_administration.html,sha256=MmyxqZiQiCDpDY6NM6Jc4PHtOz7VTyt1RB5cJAOz3LI,1341
128
+ ledger/templates/ledger/charledger/admin/character_overview.html,sha256=4mXk0OJAaAJaKE80a07iRJIPgmtDU-sUcRaUKNi1EfQ,4148
129
+ ledger/templates/ledger/charledger/planetary/planetary_ledger.html,sha256=LarUQ2Gm8NiJDfMnwP4RKvAjvMZpn4d4LtHcwolPWRg,1995
129
130
  ledger/templates/ledger/charledger/planetary/admin/planetary_overview.html,sha256=_TjqX1dDqjb6yGGbHJYX0_SDnpq1yQkzhbkMtf3xXLA,4338
130
- ledger/templates/ledger/corpledger/corporation_ledger.html,sha256=x-cs9dA8DoKChYEtWhLSepTdV9zlPgVLbkhD26Yiu9k,4453
131
- ledger/templates/ledger/corpledger/admin/corporation_administration.html,sha256=gRPbkgdxYzmDgcjET7hYEWNv3EvIZeKRUNcK4Ni68IQ,1208
132
- ledger/templates/ledger/corpledger/admin/corporation_overview.html,sha256=nMiMsa2Y5zH8avf1jzAHM9_AdlWUvm7uECtdRfEKELM,4177
133
- ledger/templates/ledger/partials/administration/alliance.html,sha256=q3OvqUqkjtDd0Iem7eWa3r8KzLAoebCV89huPgQVMh4,2716
131
+ ledger/templates/ledger/corpledger/corporation_ledger.html,sha256=LAy5HE48tPuzr2ntYDlV1ceYpK65BVwjNzpzH3iSRLU,8546
132
+ ledger/templates/ledger/corpledger/admin/corporation_administration.html,sha256=QHlZGu04yKqjLRLRAtcNww5tEbJhwkkp1l0kNYHNbn8,1337
133
+ ledger/templates/ledger/corpledger/admin/corporation_overview.html,sha256=smCtnW2ccYvQAwdfyCFEXWTV583j7_VwfVAjWcKNG4M,4102
134
+ ledger/templates/ledger/partials/administration/alliance.html,sha256=AoesbBRNphJh2OSE3sUjatYG6slBaseE6NW-ipLLR0w,1537
135
+ ledger/templates/ledger/partials/administration/alliance_corporations.html,sha256=q3OvqUqkjtDd0Iem7eWa3r8KzLAoebCV89huPgQVMh4,2716
134
136
  ledger/templates/ledger/partials/administration/character.html,sha256=2UqJiVSsgyB2K462moha2yCIzCyoyk-uXHZ1uh2AxIM,3436
135
137
  ledger/templates/ledger/partials/administration/corporation.html,sha256=KAVytUrTiTENb4_Sdu0RcUrtMsFXnlu5u1T7Oapr4Qc,2344
136
- ledger/templates/ledger/partials/administration/corporation_characters.html,sha256=6RyYbNnFHq0GkkIAfOc3CZ1YRGHyRfPqaGG66hOVhk8,1463
138
+ ledger/templates/ledger/partials/administration/corporation_characters.html,sha256=rRAGIhRQFt_4COK8BvgrA1vuf-GJZglOgDiQm-iOMkY,1316
137
139
  ledger/templates/ledger/partials/administration/dashboard.html,sha256=bhqq2FkWO4E_HeJxtNHP200eOs_skTOfDXAv79zdUN4,5819
138
140
  ledger/templates/ledger/partials/form/error-message.html,sha256=MZjUpSpAVwgfxXga1PTP0DVb8jr8m8qTEb9br2qux_c,68
139
- ledger/templates/ledger/partials/information/daily.html,sha256=k2zVOt9yD8UVscidDJwsuP_I00Yywlk6o3JzUXPDDyY,2451
140
- ledger/templates/ledger/partials/information/day.html,sha256=k-N7sWaf0bUkdvlFk5p-EwirFMKM14hNycXSu6Puu2M,1970
141
+ ledger/templates/ledger/partials/information/daily.html,sha256=jc_kSNOUVCodDP3Eab-hHUwkFGdiHnVDSK1NDRQz2vs,2516
142
+ ledger/templates/ledger/partials/information/day.html,sha256=DaM4niPNXSDcVBwOD0JMv2P6tiZTVetYLe6W_wBej_w,1912
141
143
  ledger/templates/ledger/partials/information/error.html,sha256=tvub29HT8Wht3XvbeaHQrGb9L8OQ4CUjFRAFjVlOkM8,112
142
- ledger/templates/ledger/partials/information/hourly.html,sha256=kKN-Eq4Us3_zKfy8154e2f9jZKlqBdwvk4eK_aV_al0,2504
143
- ledger/templates/ledger/partials/information/summary.html,sha256=XuZTxDpArnhKjA1HVL28gWGvl_ZZCMou254-jmc_Fxs,3686
144
- ledger/templates/ledger/partials/information/view_character_content.html,sha256=OTYp800gKWscdYkIf_QZi21TNflnXny__u8aa3dOiow,1545
144
+ ledger/templates/ledger/partials/information/hourly.html,sha256=z6H2excmtYyhF9mtX90aG2cp-2MbSoYyRotx_PbacdM,2446
145
+ ledger/templates/ledger/partials/information/summary.html,sha256=CnRm21imQkTRUgHDMQS-EmkoT2X0ERzDLgExmk9urL4,4086
146
+ ledger/templates/ledger/partials/information/view_character_content.html,sha256=6HWIYrQYpvZxFGZsvBxArF-bEuO6gc06gNlr41KzXx4,1510
145
147
  ledger/templates/ledger/partials/menu/administration.html,sha256=HnLtcriPqoGWb5kt3aAE2dOLL-gwEpgZJNXW4_AiOJM,666
146
148
  ledger/templates/ledger/partials/menu/navigation.html,sha256=zu5ATUIflX1m3F42YMgKO_N0k6wnvJk5nYDxiLJez2s,811
147
149
  ledger/templates/ledger/partials/modal/confirm.html,sha256=CqnvG2SGF23fy0Y5CbnUcE1ebaV3mgldYXNz9BF7uKc,1478
@@ -149,33 +151,33 @@ ledger/templates/ledger/partials/modal/modal.html,sha256=r1k1qZ4jLQomA2ZEJwGe3IX
149
151
  ledger/templates/ledger/partials/modal/switchalarm_confirm.html,sha256=yXTOg0wjAJ9t07wtuyK0HMZvxXv2gMkFTODt0e1moz8,1651
150
152
  ledger/templates/ledger/partials/modal/view_extractor.html,sha256=KE43150q4lJymxZjgrNmG1Z0HkPBT-M4Hd0Fa7USP3g,2408
151
153
  ledger/templates/ledger/partials/modal/view_factory.html,sha256=INV5MGAjUGU2zhhkpsGmIa2g1QjSe1CwqpQdr8fX8u8,5185
152
- ledger/templates/ledger/partials/table/char-ledger.html,sha256=XLrp-ekTWFVmGWT5J5C2cFnxnRY4u-bvvR-dsUTNFhU,6567
153
- ledger/templates/ledger/partials/table/corp-ledger.html,sha256=My6NlppnR0F1BiwEzCwIWS8oEwDC9EYeipSOMjjzhhg,5466
154
+ ledger/templates/ledger/partials/table/char-ledger.html,sha256=tNiH859leDRxzUzmj2GiItkb6-REdc_Nb--ZfiNMQKs,6844
155
+ ledger/templates/ledger/partials/table/corp-ledger.html,sha256=1MMET2Rjq7_ogpiwVI-73GIeYV_3FCCgJov-l8xM5Tw,5458
154
156
  ledger/templates/ledger/partials/table/planetary.html,sha256=EWQMqPCj3w_WfbQ9CIMcgYFHsWwPu4ERvBGNFBGJYEA,860
155
157
  ledger/templates/ledger/partials/thirdparty/billboard.html,sha256=l2XyQSAXDG75g1-STJo01eVYGu5FHTP2KxZvQlMCOes,869
156
- ledger/templates/ledger/partials/view/card.html,sha256=xxPHBQiKMSjTacV7DcCMrdqvXQSAxwW-ZnMsM8butjQ,7743
158
+ ledger/templates/ledger/partials/view/card.html,sha256=XBNs4YDOXNfXUV3Gwrea3N6Jzq6cwkOPx0LtLZFIDMQ,7742
157
159
  ledger/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
160
  ledger/templatetags/ledger.py,sha256=TRpJjT0YnLDzHkwf0aMKYKl9EwxJK-1QH32OKyyhtMQ,2098
159
161
  ledger/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
160
162
  ledger/tests/test_admin.py,sha256=URLocRx_WiF1_DQwcba4EB6Qu18sfl2-gpZS1HZnvAU,8843
161
163
  ledger/tests/test_auth_hook.py,sha256=QTheohS7syk-Hs7FZmCK4emIZhH68TfuOpLrJ1mV0LM,2007
162
- ledger/tests/test_decarators.py,sha256=meQ6ECnUPn2CY39VQ1lg4pC5FH_FPLi7e-aU4s25PHI,2218
164
+ ledger/tests/test_decarators.py,sha256=51XvZEYzeVrUM-Q-V6tzGvzQ4TVG84uTiJwS6ryWwTA,5592
163
165
  ledger/tests/test_discord_installed.py,sha256=Tf-y1-RduOcxpgLNu4dDOBQKmRwJWkwx3I6JVh51Pyo,1001
164
- ledger/tests/test_tasks.py,sha256=NSsLNwymnvaUfosyAlnXfxNda8Gxnc9ZKSqH3QwcKHs,8549
165
- ledger/tests/test_templatetags.py,sha256=4T_k4Co3urfqztj5NtD3i43COnGjTxxPEOYNRuNTl8s,1735
166
+ ledger/tests/test_tasks.py,sha256=YDcklSh_QrlVaoR9CtjLM6j-241uGFXa37BizSoktd4,8576
167
+ ledger/tests/test_templatetags.py,sha256=KfKF1DGU8e9QofeQwai69xIvRYiaI7cEdiNrnvflUz0,1881
166
168
  ledger/tests/test_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
- ledger/tests/test_helpers/test_etag.py,sha256=bmENkMO6BU23N1zkXxmGWtRhF5OmTNysFalUg65zPCA,4668
169
+ ledger/tests/test_helpers/test_etag.py,sha256=DnWftq5lUdHvgpwHm79liJE6fFbzJJh_YAQ0xL0nKd4,4795
168
170
  ledger/tests/test_managers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
169
171
  ledger/tests/test_managers/test_character_audit_manager.py,sha256=6PzMs5RQCD1bnV9Z2fdoG6fXVN-NKke91tF6rRfx-cY,6934
170
172
  ledger/tests/test_managers/test_character_journal_manager.py,sha256=GUzTowAc6dBTakbhviLXKqBXnGmwOviQmwvj99FQW6U,13367
171
- ledger/tests/test_managers/test_character_mining_manager.py,sha256=8HvSyGR-Utr0LtMo5tzlXw7Q5I4-Z5JVF2UtiQDbcwA,1922
173
+ ledger/tests/test_managers/test_character_mining_manager.py,sha256=ca9QRNdV6ZO9gAZgx0_ApbnUCHdNqXNHu2Ylsa2hkpY,2010
172
174
  ledger/tests/test_managers/test_corporation_division_manager.py,sha256=p6IWAQpCyiYeA9rBWWC7KcvPSThDOgJrXoOTIRDnO_Q,2842
173
175
  ledger/tests/test_managers/test_corporation_journal_manager.py,sha256=QdmV5qoWAOHBglXkyZL9qtBhJrCFX5SnPT-fy7qUQPY,8583
174
176
  ledger/tests/test_managers/test_general_manager.py,sha256=Ft2fVOpdrqH6yIdHzXgXwFBPlHdlXZ8CLHrx2NZgiRo,2179
175
177
  ledger/tests/test_managers/test_planetary_manager.py,sha256=FsecM9pkmzZS9Z9mrr8XhgA1XPJLOhYXo17qusRpX-E,3107
176
178
  ledger/tests/test_models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
177
179
  ledger/tests/test_models/test_characteraudit.py,sha256=zeeehm8B3CrdMV2277b-sbJ7bmkawQP9MmG1UzcNP7o,4572
178
- ledger/tests/test_models/test_characterminingledger.py,sha256=vLCdBGjUoMLxXUfA70aI3OLyHw3cYQhdG2Qxl4Krb0w,2262
180
+ ledger/tests/test_models/test_characterminingledger.py,sha256=qOC0tcx_W3Olq1_E7OsagkmCuVz7KGJqPEhIXVQ1v70,3469
179
181
  ledger/tests/test_models/test_characterwalletjournal.py,sha256=PAtCIpHSvau67jdSHMOcoS8nmGMG-0USjUoCyvenS14,2572
180
182
  ledger/tests/test_models/test_corporationaudit.py,sha256=nTBJBgxWiLbmj2HXNpQ-ecVxh8mYotO2wVqrXEY8Tfc,2431
181
183
  ledger/tests/test_models/test_corporationwalletjournal.py,sha256=xyre6mdKyhMkfuwmsy6tYMtbMfcfrScNENaXzkVTHjM,2709
@@ -184,7 +186,7 @@ ledger/tests/test_models/test_planetary.py,sha256=-DOz5rg4hwSAxk5FInHcsuMXPCWmhH
184
186
  ledger/tests/test_view_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
187
  ledger/tests/test_view_helpers/test_core.py,sha256=dwb87A8PutSkLwm-LfLcCGt9WZf0cPLC4R-l5rAjxnM,1368
186
188
  ledger/tests/test_views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
187
- ledger/tests/test_views/test_access.py,sha256=dC8_F15tLRTrdfe_pIz1GzLYNtcdzJ8VQUlXaGS7A2I,31426
189
+ ledger/tests/test_views/test_access.py,sha256=kVPDZpav6EveicC2kG71b-79FLhhp-Eg9xHlPthcGjM,30536
188
190
  ledger/tests/test_views/test_add_ally.py,sha256=brleeqUiZ6pONGTFVkKBpfpSsYuAYSsaV4SC31LAzA4,4511
189
191
  ledger/tests/test_views/test_add_char.py,sha256=ZhJp1Zf0ozZV76LA5XgdhHSEzv1FxfWFunugidlQBMw,2159
190
192
  ledger/tests/test_views/test_add_corp.py,sha256=i6r-6EA23fOBFUvWLyi0UJWQ5MrTV0VafKcLPAcVc0g,2300
@@ -192,10 +194,10 @@ ledger/tests/test_views/test_delete_character.py,sha256=DEv1QSI_1MP2Gdi4typaddhr
192
194
  ledger/tests/test_views/test_delete_corporation.py,sha256=7ZFFjktxP03vQBro-V4K53PrwIaxKiA1pTl5VuD4Re0,3125
193
195
  ledger/tests/test_views/test_planetary.py,sha256=KWyhhvDEDgr8jmNu1okSF84RkgfICu_DblYWok6wQJw,4081
194
196
  ledger/tests/testdata/allianceauth.json,sha256=5WSxh0fL693yDQ-LqqU3X39bVxJU6eqNSdC8DkgDDgM,6970
195
- ledger/tests/testdata/esi.json,sha256=DkkvKka37IJjaEqIemLmcCkfOVSVat7mpk3M3LtNz1Q,13675
197
+ ledger/tests/testdata/esi.json,sha256=kLatXNG-kWeePnGwChKaKmRbSdumnDZn5HYwEErN9zg,13646
196
198
  ledger/tests/testdata/esi_stub.py,sha256=ck-PxzI3p81POfSgvB_xlMiSJtiVKe4FRQkFxHm_n_Y,1992
197
199
  ledger/tests/testdata/eveentity.json,sha256=smrjDGZlxadtI_Rg3JQb3MmeeFuc5cMu_eMwQsl6jpI,3198
198
- ledger/tests/testdata/eveuniverse.json,sha256=wVrQzps2IaD4TosiW0_YNPbLiW8XEZbZTQI8_YvK37c,12787
200
+ ledger/tests/testdata/eveuniverse.json,sha256=N-ahXuBO1YetAVPDTL8beKgC0EUXZ_J_p6fefCPZvN4,14693
199
201
  ledger/tests/testdata/generate_characteraudit.py,sha256=QcxX_qwswfrhWoYNVttVz4OIccfhWjmDLGeuiMtbXNU,3583
200
202
  ledger/tests/testdata/generate_corporationaudit.py,sha256=c-kGVlARTAJcn030nsaWa9eb8tSMAr5Fx13AZeKTpGc,2336
201
203
  ledger/tests/testdata/generate_events.py,sha256=0XcuPquFaHQR0dALKJSNjZ-L9QdPaaayZ7-_m9RLFtE,736
@@ -216,13 +218,13 @@ ledger/thirdparty/charlink_hook.py,sha256=q0-vCgPJk7koR5ZlDbomSvFlC_qaRu2pwFD7X3
216
218
  ledger/views/__init__.py,sha256=uCQVEhylCAIgHm6C92esI9hI_o19A02kZPwxWqbwdao,13
217
219
  ledger/views/index.py,sha256=_d6Zk-WtEMQeQEQFODznlapiTi08pxzigvDvXJICPqI,2094
218
220
  ledger/views/alliance/add_ally.py,sha256=5NFYtxYphWO-jBYgqCmjLgDK_LHVtCdCGsCgY9iVHsw,2681
219
- ledger/views/alliance/alliance_ledger.py,sha256=UztCRnXjEo1GqvsoGEO1mnpCO-qOhetmy1ghMJPHuGw,6161
221
+ ledger/views/alliance/alliance_ledger.py,sha256=1KEc0fL5CZFZ0R5b5F8V3BoX1akLqwUJd0OVbQRajrY,6194
220
222
  ledger/views/character/add_char.py,sha256=UcrgzpUXS0lpTQ_Pz6T7s4-goW1VtnjrfMVuW9pOjGI,1469
221
223
  ledger/views/character/character_ledger.py,sha256=A8n3ela-Yv4PicXwR8c_YUpIn81WNwKrCr4XEBSY5Ws,6153
222
224
  ledger/views/character/planetary.py,sha256=zfcyxfs8x7B6DTZ4tViI8aO8fty94JhphTb9bd73Xr8,4459
223
225
  ledger/views/corporation/add_corp.py,sha256=1SLMITOZ5GdBuk4VSkduaxiS5mNgP9aObsJ1SwYMUOQ,1837
224
- ledger/views/corporation/corporation_ledger.py,sha256=MU_ulgBH1JP4HAYJYt4-Mhn514ZhJrXBGDXdUZK9suQ,7046
225
- aa_ledger-0.9.8.dist-info/METADATA,sha256=yAllMCKBzjL87lBvpFm4Gceu0oRKUDDALIdVA04jHBI,50086
226
- aa_ledger-0.9.8.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
227
- aa_ledger-0.9.8.dist-info/licenses/LICENSE,sha256=2oHuqnDfrjCrYAM1--Wyhv8jO3VBpnrq8zkABGzB8N8,35109
228
- aa_ledger-0.9.8.dist-info/RECORD,,
226
+ ledger/views/corporation/corporation_ledger.py,sha256=CcRg1B1-GilF4M-6b_xlY2Qmufutoy5HRLOZgmlePzU,7357
227
+ aa_ledger-0.9.9.1.dist-info/METADATA,sha256=_-Vy1KvQNEoRK-BqlZoM5Ic9v-AEdcL9piCsy0dHWjc,50241
228
+ aa_ledger-0.9.9.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
229
+ aa_ledger-0.9.9.1.dist-info/licenses/LICENSE,sha256=2oHuqnDfrjCrYAM1--Wyhv8jO3VBpnrq8zkABGzB8N8,35109
230
+ aa_ledger-0.9.9.1.dist-info/RECORD,,
ledger/__init__.py CHANGED
@@ -1,9 +1,9 @@
1
- """Initialize the app"""
2
-
3
- __version__ = "0.9.8"
4
- __title__ = "Ledger"
5
-
6
- __package_name__ = "aa-ledger"
7
-
8
- __app_name_useragent__ = "AA-Ledger"
9
- __github_url__ = f"https://github.com/Geuthur/{__package_name__}"
1
+ """Initialize the app"""
2
+
3
+ __version__ = "0.9.9.1"
4
+ __title__ = "Ledger"
5
+
6
+ __package_name__ = "aa-ledger"
7
+
8
+ __app_name_useragent__ = "AA-Ledger"
9
+ __github_url__ = f"https://github.com/Geuthur/{__package_name__}"
@@ -5,8 +5,9 @@ from decimal import Decimal
5
5
  from typing import Any
6
6
 
7
7
  # Django
8
- from django.db.models import QuerySet
8
+ from django.db.models import QuerySet, TextChoices
9
9
  from django.db.models.functions import TruncDay, TruncHour, TruncMonth
10
+ from django.utils.translation import gettext_lazy as _
10
11
 
11
12
  # Alliance Auth
12
13
  from allianceauth.services.hooks import get_extension_logger
@@ -44,22 +45,28 @@ class ChartData:
44
45
  class BillboardSystem:
45
46
  """BillboardSystem class to process billboard data."""
46
47
 
48
+ class Categories(TextChoices):
49
+ """Translation Helper"""
50
+
51
+ BOUNTY = "Bounty", _("Bounty")
52
+ ESS = "ESS", _("ESS")
53
+ MINING = "Mining", _("Mining")
54
+ MISCELLANEOUS = "Miscellaneous", _("Miscellaneous")
55
+ COSTS = "Costs", _("Costs")
56
+ UNKNOWN = "Unknown", _("Unknown")
57
+
47
58
  @dataclass
48
59
  class BillboardDict:
49
60
  """BillboardDict class to store the billboard data."""
50
61
 
51
62
  charts: ChartData = None
52
63
  rattingbar: ChartData = None
53
- workflowgauge: ChartData = None
54
64
 
55
65
  def asdict(self) -> dict:
56
66
  """Return this object as dict."""
57
67
  return {
58
68
  "charts": self.charts.asdict() if self.charts else None,
59
69
  "rattingbar": self.rattingbar.asdict() if self.rattingbar else None,
60
- "workflowgauge": (
61
- self.workflowgauge.asdict() if self.workflowgauge else None
62
- ),
63
70
  }
64
71
 
65
72
  def __init__(
@@ -68,7 +75,7 @@ class BillboardSystem:
68
75
  ):
69
76
  self.view = view
70
77
  self.dict = self.BillboardDict()
71
- self.results = {}
78
+ self.results = defaultdict(lambda: defaultdict(Decimal))
72
79
 
73
80
  def _get_formatted_date(self, date, view):
74
81
  if view == "year":
@@ -180,7 +187,6 @@ class BillboardSystem:
180
187
 
181
188
  self.dict.charts.series.sort(key=lambda x: (x["from"], x["to"]))
182
189
 
183
- # TODO Add Mining to the billboard
184
190
  def create_timeline(self, journal: QuerySet):
185
191
  """Create the timeline data for the billboard"""
186
192
  qs = journal
@@ -197,7 +203,11 @@ class BillboardSystem:
197
203
  qs = qs.values("period").order_by("period")
198
204
  return qs
199
205
 
200
- def create_or_update_results(self, qs: QuerySet[dict], is_old_ess: bool = False):
206
+ def create_or_update_results(
207
+ self,
208
+ qs: QuerySet[dict],
209
+ is_old_ess: bool = False,
210
+ ):
201
211
  """Create or update the results for the billboard"""
202
212
  for entry in qs:
203
213
  date = entry["period"]
@@ -205,28 +215,35 @@ class BillboardSystem:
205
215
  ess = entry.get("ess_income", 0)
206
216
  miscellaneous = entry.get("miscellaneous", 0)
207
217
 
208
- # Store the results in a dictionary
209
- if date not in self.results:
210
- self.results[date] = {
211
- "bounty": 0,
212
- "ess": 0,
213
- "miscellaneous": 0,
214
- }
215
- self.results[date]["bounty"] += bounty
216
- self.results[date]["ess"] += (
218
+ self.results[date][self.Categories.BOUNTY] += bounty
219
+ self.results[date][self.Categories.ESS] += (
217
220
  ess if not is_old_ess else bounty * Decimal("0.667")
218
221
  )
219
- self.results[date]["miscellaneous"] += miscellaneous
222
+ self.results[date][self.Categories.MISCELLANEOUS] += miscellaneous
220
223
 
221
224
  return self.results
222
225
 
223
- def create_ratting_bar(self):
224
- """Create the ratting bar data for the billboard"""
226
+ def add_category(self, qs: QuerySet[dict], category: str):
227
+ """Add category data to the results
228
+
229
+ **the annotation must be have _income as ending
230
+ """
231
+ for entry in qs:
232
+ date = entry["period"]
233
+ category_value = entry.get(f"{category}_income", 0)
234
+ try:
235
+ self.results[date][self.Categories[category.upper()]] += category_value
236
+ except KeyError:
237
+ self.results[date][self.Categories.UNKNOWN] += category_value
238
+
239
+ def generate_xy_series(self):
240
+ """Create the ratting bar amounts and categories for the billboard"""
225
241
  formatted_results = []
242
+ category_set = set()
226
243
 
227
244
  for date, values in self.results.items():
228
245
  # Remove categories with value 0
229
- filtered_values = {k: v for k, v in values.items() if v != 0}
246
+ filtered_values = {str(k): v for k, v in values.items() if v != 0}
230
247
  if not filtered_values:
231
248
  continue # Skip if all categories are 0
232
249
 
@@ -236,13 +253,25 @@ class BillboardSystem:
236
253
  **{k: int(v) for k, v in filtered_values.items()},
237
254
  }
238
255
  )
256
+ category_set.update(filtered_values.keys())
257
+
258
+ # Create categories
259
+ categories = []
260
+ for cat in sorted(category_set):
261
+ try:
262
+ label = self.Categories(cat).label
263
+ except Exception: # pylint: disable=broad-except
264
+ label = cat
265
+ categories.append({"name": cat, "label": str(label)})
239
266
 
240
267
  if not formatted_results:
241
- return []
268
+ return [], []
269
+ return formatted_results, categories
242
270
 
271
+ def create_xy_chart(self, title, categories, series):
272
+ """Create the XY chart for the billboard"""
243
273
  self.dict.rattingbar = ChartData(
244
- title="Ratting Bar",
245
- categories=["Bounty", "ESS", "Miscellaneous"],
246
- series=formatted_results,
274
+ title=title,
275
+ categories=categories,
276
+ series=series,
247
277
  )
248
- return formatted_results
@@ -264,7 +264,7 @@ class LedgerAdminApiEndpoints:
264
264
  if not perm:
265
265
  return 403, "Permission Denied"
266
266
  if perm is None:
267
- return 403, "Alliance not found"
267
+ return 403, "Alliance not found."
268
268
 
269
269
  all_corporations = EveCorporationInfo.objects.filter(
270
270
  alliance__alliance_id=alliance_id
ledger/app_settings.py CHANGED
@@ -26,18 +26,25 @@ FUZZ_API_URL = "https://www.fuzzwork.co.uk/api/"
26
26
  FUZZ_BASE_URL_REGEX = r"^http[s]?:\/\/(www\.)?fuzzwork\.co\.uk\/"
27
27
 
28
28
  # Global timeout for tasks in seconds to reduce task accumulation during outages.
29
- LEDGER_TASKS_TIME_LIMIT = clean_setting("LEDGER_TASKS_TIME_LIMIT", 7200)
30
-
31
- LEDGER_STALE_TYPES = {
32
- "wallet_journal": 30,
33
- "wallet_division_names": 30,
34
- "wallet_division": 30,
35
- "mining_ledger": 30,
36
- "planets": 30,
37
- "planets_details": 30,
38
- }
29
+ LEDGER_TASKS_TIME_LIMIT = clean_setting("LEDGER_TASKS_TIME_LIMIT", 600)
30
+
31
+ LEDGER_STALE_TYPES = clean_setting(
32
+ "LEDGER_STALE_TYPES",
33
+ {
34
+ "wallet_journal": 30,
35
+ "wallet_division_names": 30,
36
+ "wallet_division": 30,
37
+ "mining_ledger": 30,
38
+ "planets": 30,
39
+ "planets_details": 30,
40
+ },
41
+ )
42
+
43
+ # Mining Price Calculation
44
+ LEDGER_USE_COMPRESSED = clean_setting("LEDGER_USE_COMPRESSED", True)
45
+ LEDGER_PRICE_PERCENTAGE = clean_setting("LEDGER_PRICE_PERCENTAGE", 0.9)
39
46
 
40
47
  # Ledger Cache System
41
48
  LEDGER_CACHE_STALE = 60 * 60 * 168 # 168 hours
42
- LEDGER_CACHE_KEY = "LEDGER_{}"
49
+ LEDGER_CACHE_KEY = "LEDGER"
43
50
  LEDGER_CACHE_ENABLED = True
ledger/constants.py CHANGED
@@ -139,6 +139,11 @@ P3_PRODUCTS = [
139
139
  P4_PRODUCTS = [2867, 2868, 2869, 2870, 2871, 2872, 2875, 2876]
140
140
  P5_PRODUCTS = []
141
141
 
142
+ NPC_ENTITIES = [
143
+ 1000125, # Concord Bounties (Bounty Prizes, ESS
144
+ 1000132, # Secure Commerce Commission (Market Fees)
145
+ 1000413, # Air Laboratories (Daily Login Rewards, etc.)
146
+ ]
142
147
 
143
148
  BOUNTY_PRIZES = ["bounty_prizes"]
144
149
  ESS_TRANSFER = ["ess_escrow_transfer"]