aa-ledger 1.0.3__tar.gz → 1.0.4__tar.gz

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 (237) hide show
  1. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/PKG-INFO +2 -1
  2. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/README.md +1 -0
  3. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/__init__.py +1 -1
  4. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/app_settings.py +8 -0
  5. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/helpers/data_exporter.py +8 -8
  6. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/django.pot +5 -16
  7. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/managers/character_journal_manager.py +2 -1
  8. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/managers/character_mining_manager.py +12 -4
  9. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/managers/character_planetary_manager.py +7 -2
  10. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/managers/corporation_journal_manager.py +2 -1
  11. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/managers/general_manager.py +4 -1
  12. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tasks.py +8 -13
  13. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/.gitignore +0 -0
  14. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/LICENSE +0 -0
  15. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/admin.py +0 -0
  16. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/api/__init__.py +0 -0
  17. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/api/api_helper/planetary_helper.py +0 -0
  18. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/api/helpers.py +0 -0
  19. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/api/ledger/__init__.py +0 -0
  20. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/api/ledger/admin.py +0 -0
  21. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/api/ledger/planetary.py +0 -0
  22. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/api/schema.py +0 -0
  23. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/apps.py +0 -0
  24. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/auth_hooks.py +0 -0
  25. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/checks.py +0 -0
  26. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/constants.py +0 -0
  27. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/decorators.py +0 -0
  28. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/docs/images/preview1.png +0 -0
  29. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/docs/images/preview2.png +0 -0
  30. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/docs/images/preview3.png +0 -0
  31. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/docs/images/preview4.png +0 -0
  32. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/docs/images/preview5.png +0 -0
  33. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/docs/images/preview6.png +0 -0
  34. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/docs/information.md +0 -0
  35. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/errors.py +0 -0
  36. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/forms.py +0 -0
  37. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/helpers/__init__.py +0 -0
  38. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/helpers/alliance.py +0 -0
  39. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/helpers/billboard.py +0 -0
  40. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/helpers/character.py +0 -0
  41. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/helpers/core.py +0 -0
  42. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/helpers/corporation.py +0 -0
  43. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/helpers/discord.py +0 -0
  44. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/helpers/ref_type.py +0 -0
  45. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/hooks.py +0 -0
  46. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/__init__.py +0 -0
  47. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  48. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/cs_CZ/LC_MESSAGES/django.po +0 -0
  49. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/de/LC_MESSAGES/django.mo +0 -0
  50. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/de/LC_MESSAGES/django.po +0 -0
  51. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/es/LC_MESSAGES/django.mo +0 -0
  52. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/es/LC_MESSAGES/django.po +0 -0
  53. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/fr_FR/LC_MESSAGES/django.mo +0 -0
  54. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/fr_FR/LC_MESSAGES/django.po +0 -0
  55. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/it_IT/LC_MESSAGES/django.mo +0 -0
  56. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/it_IT/LC_MESSAGES/django.po +0 -0
  57. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/ja/LC_MESSAGES/django.mo +0 -0
  58. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/ja/LC_MESSAGES/django.po +0 -0
  59. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/ko_KR/LC_MESSAGES/django.mo +0 -0
  60. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/ko_KR/LC_MESSAGES/django.po +0 -0
  61. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
  62. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/nl_NL/LC_MESSAGES/django.po +0 -0
  63. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
  64. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/pl_PL/LC_MESSAGES/django.po +0 -0
  65. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/ru/LC_MESSAGES/django.mo +0 -0
  66. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/ru/LC_MESSAGES/django.po +0 -0
  67. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/sk/LC_MESSAGES/django.mo +0 -0
  68. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/sk/LC_MESSAGES/django.po +0 -0
  69. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/uk/LC_MESSAGES/django.mo +0 -0
  70. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/uk/LC_MESSAGES/django.po +0 -0
  71. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
  72. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/locale/zh_Hans/LC_MESSAGES/django.po +0 -0
  73. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/managers/character_audit_manager.py +0 -0
  74. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/managers/corporation_audit_manager.py +0 -0
  75. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0001_initial.py +0 -0
  76. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0002_delete_corpsteuer_alter_characteraudit_options_and_more.py +0 -0
  77. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0003_alter_characteraudit_options_and_more.py +0 -0
  78. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0004_characteraudit_last_update_planetary_characterplanet_and_more.py +0 -0
  79. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0005_alter_corporationaudit_options_alter_general_options.py +0 -0
  80. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0006_characteraudit_character_name_and_more.py +0 -0
  81. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0007_characterplanetdetails_facilitys.py +0 -0
  82. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0008_alter_characterminingledger_date.py +0 -0
  83. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0009_remove_characteraudit_last_update_mining_and_more.py +0 -0
  84. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0010_fetch_planets_and_update_planetdetails.py +0 -0
  85. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0011_create_update_status_existings.py +0 -0
  86. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0012_alter_corporationwalletjournalentry_division.py +0 -0
  87. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0013_delete_events.py +0 -0
  88. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0014_alter_corporationaudit_options_alter_general_options_and_more.py +0 -0
  89. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0015_rename_character_characteraudit_eve_character.py +0 -0
  90. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0016_characterminingledger_price_per_unit.py +0 -0
  91. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/0017_alter_eveentity_category_alter_eveentity_eve_id_and_more.py +0 -0
  92. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/migrations/__init__.py +0 -0
  93. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/models/__init__.py +0 -0
  94. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/models/characteraudit.py +0 -0
  95. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/models/corporationaudit.py +0 -0
  96. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/models/general.py +0 -0
  97. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/models/planetary.py +0 -0
  98. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/providers.py +0 -0
  99. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/static/ledger/css/cards.css +0 -0
  100. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/static/ledger/css/ledger.css +0 -0
  101. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/static/ledger/css/planetary.css +0 -0
  102. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/static/ledger/css/table.css +0 -0
  103. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/static/ledger/images/Spinner-1s-64px-dark.gif +0 -0
  104. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/static/ledger/images/Spinner-1s-64px-light.gif +0 -0
  105. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/static/ledger/images/green.png +0 -0
  106. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/static/ledger/images/pi.png +0 -0
  107. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/static/ledger/images/portrait.jpg +0 -0
  108. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/static/ledger/images/red.png +0 -0
  109. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/static/ledger/js/charts.js +0 -0
  110. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/static/ledger/js/modal/delete-confirm.js +0 -0
  111. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/static/ledger/js/modal/modal-system.js +0 -0
  112. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/static/ledger/js/planetary-confirm.js +0 -0
  113. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/static/ledger/js/planetary.js +0 -0
  114. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/admin.html +0 -0
  115. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/allyledger/admin/alliance_administration.html +0 -0
  116. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/allyledger/admin/alliance_overview.html +0 -0
  117. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/allyledger/alliance_ledger.html +0 -0
  118. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/base.html +0 -0
  119. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/bundles/ally-administration-bundles.html +0 -0
  120. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/bundles/char-administration-bundles.html +0 -0
  121. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/bundles/character-ledger-bundles.html +0 -0
  122. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/bundles/corp-administration-bundles.html +0 -0
  123. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/bundles/corporation-ledger-bundles.html +0 -0
  124. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/bundles/ledger-bundles.html +0 -0
  125. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/bundles/ledger-css.html +0 -0
  126. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/bundles/planetary-bundles.html +0 -0
  127. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/bundles/table-css.html +0 -0
  128. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/charledger/admin/character_administration.html +0 -0
  129. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/charledger/admin/character_overview.html +0 -0
  130. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/charledger/character_ledger.html +0 -0
  131. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/charledger/planetary/admin/planetary_overview.html +0 -0
  132. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/charledger/planetary/planetary_ledger.html +0 -0
  133. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/corpledger/admin/corporation_administration.html +0 -0
  134. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/corpledger/admin/corporation_overview.html +0 -0
  135. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/corpledger/corporation_ledger.html +0 -0
  136. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/data-export.html +0 -0
  137. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/error.html +0 -0
  138. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/administration/alliance.html +0 -0
  139. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/administration/alliance_corporations.html +0 -0
  140. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/administration/character.html +0 -0
  141. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/administration/corporation.html +0 -0
  142. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/administration/corporation_characters.html +0 -0
  143. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/administration/dashboard.html +0 -0
  144. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/form/error-message.html +0 -0
  145. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/information/daily.html +0 -0
  146. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/information/day.html +0 -0
  147. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/information/error.html +0 -0
  148. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/information/hourly.html +0 -0
  149. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/information/summary.html +0 -0
  150. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/information/view_character_content.html +0 -0
  151. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/menu/administration.html +0 -0
  152. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/menu/navigation.html +0 -0
  153. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/modal/confirm.html +0 -0
  154. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/modal/modal.html +0 -0
  155. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/modal/switchalarm_confirm.html +0 -0
  156. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/modal/view_extractor.html +0 -0
  157. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/modal/view_factory.html +0 -0
  158. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/table/char-ledger.html +0 -0
  159. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/table/corp-ledger.html +0 -0
  160. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/table/planetary.html +0 -0
  161. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/thirdparty/billboard.html +0 -0
  162. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/partials/view/card.html +0 -0
  163. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templates/ledger/permission.html +0 -0
  164. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templatetags/__init__.py +0 -0
  165. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/templatetags/ledger.py +0 -0
  166. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/__init__.py +0 -0
  167. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_admin.py +0 -0
  168. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_auth_hook.py +0 -0
  169. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_decarators.py +0 -0
  170. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_discord_installed.py +0 -0
  171. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_helpers/__init__.py +0 -0
  172. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_helpers/test_billboard.py +0 -0
  173. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_helpers/test_data_exporter.py +0 -0
  174. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_managers/__init__.py +0 -0
  175. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_managers/test_character_audit_manager.py +0 -0
  176. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_managers/test_character_journal_manager.py +0 -0
  177. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_managers/test_character_mining_manager.py +0 -0
  178. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_managers/test_corporation_division_manager.py +0 -0
  179. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_managers/test_corporation_journal_manager.py +0 -0
  180. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_managers/test_general_manager.py +0 -0
  181. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_managers/test_planetary_manager.py +0 -0
  182. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_models/__init__.py +0 -0
  183. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_models/test_characteraudit.py +0 -0
  184. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_models/test_characterminingledger.py +0 -0
  185. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_models/test_characterwalletjournal.py +0 -0
  186. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_models/test_corporationaudit.py +0 -0
  187. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_models/test_corporationwalletjournal.py +0 -0
  188. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_models/test_general.py +0 -0
  189. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_models/test_planetary.py +0 -0
  190. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_tasks.py +0 -0
  191. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_templatetags.py +0 -0
  192. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_view_helpers/__init__.py +0 -0
  193. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_view_helpers/test_core.py +0 -0
  194. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_views/__init__.py +0 -0
  195. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_views/corporation/__init__.py +0 -0
  196. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_views/corporation/test_add_corp.py +0 -0
  197. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_views/corporation/test_corporation.py +0 -0
  198. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_views/corporation/test_delete_corporation.py +0 -0
  199. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_views/test_access.py +0 -0
  200. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_views/test_add_ally.py +0 -0
  201. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_views/test_add_char.py +0 -0
  202. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_views/test_delete_character.py +0 -0
  203. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/test_views/test_planetary.py +0 -0
  204. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/allianceauth.json +0 -0
  205. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/esi.json +0 -0
  206. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/esi_stub.py +0 -0
  207. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/esi_stub_migration.py +0 -0
  208. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/eveentity.json +0 -0
  209. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/eveuniverse.json +0 -0
  210. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/generate_characteraudit.py +0 -0
  211. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/generate_corporationaudit.py +0 -0
  212. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/generate_events.py +0 -0
  213. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/generate_miningledger.py +0 -0
  214. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/generate_planets.py +0 -0
  215. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/generate_walletjournal.py +0 -0
  216. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/json/czarno-pins.json +0 -0
  217. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/json/czarno-routes.json +0 -0
  218. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/json/pins.json +0 -0
  219. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/json/pins2.json +0 -0
  220. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/json/route.json +0 -0
  221. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/load_allianceauth.py +0 -0
  222. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/load_eveentity.py +0 -0
  223. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/load_eveuniverse.py +0 -0
  224. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/tests/testdata/planetary.json +0 -0
  225. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/thirdparty/__init__.py +0 -0
  226. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/thirdparty/charlink_hook.py +0 -0
  227. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/urls.py +0 -0
  228. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/views/__init__.py +0 -0
  229. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/views/alliance/add_ally.py +0 -0
  230. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/views/alliance/alliance_ledger.py +0 -0
  231. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/views/character/add_char.py +0 -0
  232. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/views/character/character_ledger.py +0 -0
  233. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/views/character/planetary.py +0 -0
  234. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/views/corporation/add_corp.py +0 -0
  235. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/views/corporation/corporation_ledger.py +0 -0
  236. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/ledger/views/index.py +0 -0
  237. {aa_ledger-1.0.3 → aa_ledger-1.0.4}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aa-ledger
3
- Version: 1.0.3
3
+ Version: 1.0.4
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
@@ -880,6 +880,7 @@ The Following Settings can be setting up in the `local.py`
880
880
  - LEDGER_TASKS_TIME_LIMIT: `7200` - Defines the time (in seconds) a task will timeout
881
881
  - LEDGER_USE_COMPRESSED: `True` - Defines if Mining Ledger use Compressed Price or Raw
882
882
  - LEDGER_PRICE_PERCENTAGE: `0.9`- Defines Mining Price multiplier
883
+ - LEDGER_BULK_BATCH_SIZE: `500` - Maximum database batch size per operation. Reduce (e.g., 250) if encountering 'max_allowed_packet' errors, increase for better performance if MySQL is configured with higher limits
883
884
 
884
885
  Advanced Settings: Stale Status for Each Section
885
886
 
@@ -165,6 +165,7 @@ The Following Settings can be setting up in the `local.py`
165
165
  - LEDGER_TASKS_TIME_LIMIT: `7200` - Defines the time (in seconds) a task will timeout
166
166
  - LEDGER_USE_COMPRESSED: `True` - Defines if Mining Ledger use Compressed Price or Raw
167
167
  - LEDGER_PRICE_PERCENTAGE: `0.9`- Defines Mining Price multiplier
168
+ - LEDGER_BULK_BATCH_SIZE: `500` - Maximum database batch size per operation. Reduce (e.g., 250) if encountering 'max_allowed_packet' errors, increase for better performance if MySQL is configured with higher limits
168
169
 
169
170
  Advanced Settings: Stale Status for Each Section
170
171
 
@@ -1,6 +1,6 @@
1
1
  """Initialize the app"""
2
2
 
3
- __version__ = "1.0.3"
3
+ __version__ = "1.0.4"
4
4
  __title__ = "Ledger"
5
5
 
6
6
  __package_name__ = "aa-ledger"
@@ -48,3 +48,11 @@ LEDGER_PRICE_PERCENTAGE = clean_setting("LEDGER_PRICE_PERCENTAGE", 0.9)
48
48
  LEDGER_CACHE_STALE = 60 * 60 * 168 # 168 hours
49
49
  LEDGER_CACHE_KEY = "LEDGER"
50
50
  LEDGER_CACHE_ENABLED = True
51
+
52
+ # Maximum Number of Objects processed per run of DJANGO Batch Method
53
+ # Controls how many database records are inserted in a single batch operation.
54
+ # If you encounter "Got a packet bigger than 'max_allowed_packet' bytes" errors,
55
+ # reduce this value (e.g., to 250 or 100).
56
+ # Can be increased for better performance if your MySQL max_allowed_packet setting
57
+ # is configured higher (default is usually 16-64MB).
58
+ LEDGER_BULK_BATCH_SIZE = clean_setting("LEDGER_BULK_BATCH_SIZE", 500)
@@ -66,14 +66,14 @@ def export_ledger_to_archive(
66
66
  exporter = LedgerCSVExporter.create_exporter(
67
67
  ledger_type, entity_id, division_id, year, month
68
68
  )
69
- try:
70
- with tempfile.TemporaryDirectory() as temp_dirname:
71
- csv_file = exporter.write_to_file(temp_dirname)
72
- destination = default_destination()
73
- zip_file_path = file_to_zip(csv_file, destination)
74
- except ValueError as ve:
75
- logger.debug("Error exporting ledger to archive: %s", ve)
76
- return f"{ve}"
69
+ if not exporter.has_data:
70
+ return None
71
+ logger.info("Exporting %s", exporter.output_basename)
72
+ # Create File
73
+ with tempfile.TemporaryDirectory() as temp_dirname:
74
+ csv_file = exporter.write_to_file(temp_dirname)
75
+ destination = default_destination()
76
+ zip_file_path = file_to_zip(csv_file, destination)
77
77
  gc.collect()
78
78
  return str(zip_file_path)
79
79
 
@@ -6,9 +6,9 @@
6
6
  #, fuzzy
7
7
  msgid ""
8
8
  msgstr ""
9
- "Project-Id-Version: AA Ledger 1.0.3\n"
9
+ "Project-Id-Version: AA Ledger 1.0.4\n"
10
10
  "Report-Msgid-Bugs-To: https://github.com/Geuthur/aa-ledger/issues\n"
11
- "POT-Creation-Date: 2025-11-16 18:48+0100\n"
11
+ "POT-Creation-Date: 2025-12-03 07:19+0100\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -201,8 +201,8 @@ msgid "Costs"
201
201
  msgstr ""
202
202
 
203
203
  #: ledger/helpers/billboard.py:56
204
- #: ledger/managers/corporation_journal_manager.py:362
205
- #: ledger/managers/corporation_journal_manager.py:386
204
+ #: ledger/managers/corporation_journal_manager.py:363
205
+ #: ledger/managers/corporation_journal_manager.py:387
206
206
  msgid "Unknown"
207
207
  msgstr ""
208
208
 
@@ -241,7 +241,7 @@ msgstr ""
241
241
  msgid "Structure Rental"
242
242
  msgstr ""
243
243
 
244
- #: ledger/managers/corporation_journal_manager.py:360
244
+ #: ledger/managers/corporation_journal_manager.py:361
245
245
  msgid "Master Wallet"
246
246
  msgstr ""
247
247
 
@@ -360,17 +360,6 @@ msgid ""
360
360
  "the Data Export page."
361
361
  msgstr ""
362
362
 
363
- #: ledger/tasks.py:478
364
- msgid "{ledger_type.capitalize()} Data Export Failed"
365
- msgstr ""
366
-
367
- #: ledger/tasks.py:480
368
- #, python-brace-format
369
- msgid ""
370
- "Your data export for topic {ledger_type} has failed with following error: "
371
- "{msg}"
372
- msgstr ""
373
-
374
363
  #: ledger/templates/ledger/admin.html:17
375
364
  #: ledger/templates/ledger/allyledger/admin/alliance_administration.html:17
376
365
  #: ledger/templates/ledger/allyledger/alliance_ledger.html:61
@@ -15,6 +15,7 @@ from app_utils.logging import LoggerAddTag
15
15
 
16
16
  # AA Ledger
17
17
  from ledger import __title__
18
+ from ledger.app_settings import LEDGER_BULK_BATCH_SIZE
18
19
  from ledger.decorators import log_timing
19
20
  from ledger.helpers.ref_type import RefTypeManager
20
21
  from ledger.providers import esi
@@ -421,7 +422,7 @@ class CharWalletQuerySet(CharWalletCostQueryFilter):
421
422
  created_names = EveEntity.objects.create_bulk_from_esi(_new_names)
422
423
 
423
424
  if created_names:
424
- self.bulk_create(items)
425
+ self.bulk_create(items, batch_size=LEDGER_BULK_BATCH_SIZE)
425
426
  else:
426
427
  raise TokenError("ESI Fail")
427
428
 
@@ -24,7 +24,7 @@ from eveuniverse.models import EveSolarSystem, EveType
24
24
 
25
25
  # AA Ledger
26
26
  from ledger import __title__
27
- from ledger.app_settings import LEDGER_PRICE_PERCENTAGE
27
+ from ledger.app_settings import LEDGER_BULK_BATCH_SIZE, LEDGER_PRICE_PERCENTAGE
28
28
  from ledger.decorators import log_timing
29
29
  from ledger.providers import esi
30
30
 
@@ -213,10 +213,14 @@ class CharacterMiningLedgerEntryManagerBase(models.Manager):
213
213
  EveSolarSystem.objects.bulk_get_or_create_esi(ids=list(system_ids))
214
214
 
215
215
  if new_events:
216
- self.bulk_create(new_events, ignore_conflicts=True)
216
+ self.bulk_create(
217
+ new_events, batch_size=LEDGER_BULK_BATCH_SIZE, ignore_conflicts=True
218
+ )
217
219
 
218
220
  if old_events:
219
- self.bulk_update(old_events, fields=["quantity"])
221
+ self.bulk_update(
222
+ old_events, fields=["quantity"], batch_size=LEDGER_BULK_BATCH_SIZE
223
+ )
220
224
 
221
225
  self._update_mining_price(character)
222
226
 
@@ -238,7 +242,11 @@ class CharacterMiningLedgerEntryManagerBase(models.Manager):
238
242
  updated_entries.append(entry)
239
243
 
240
244
  if updated_entries:
241
- self.bulk_update(updated_entries, fields=["price_per_unit"])
245
+ self.bulk_update(
246
+ updated_entries,
247
+ fields=["price_per_unit"],
248
+ batch_size=LEDGER_BULK_BATCH_SIZE,
249
+ )
242
250
 
243
251
  logger.debug(
244
252
  f"Updated prices for {len(updated_entries)}({character.character_name}) mining ledger entries."
@@ -15,6 +15,7 @@ from eveuniverse.models import EvePlanet, EveType
15
15
 
16
16
  # AA Ledger
17
17
  from ledger import __title__
18
+ from ledger.app_settings import LEDGER_BULK_BATCH_SIZE
18
19
  from ledger.constants import COMMAND_CENTER, EXTRACTOR_CONTROL_UNIT, SPACEPORTS
19
20
  from ledger.decorators import log_timing
20
21
  from ledger.models.characteraudit import CharacterAudit
@@ -119,9 +120,13 @@ class PlanetaryManagerBase(models.Manager):
119
120
  _planets_update.append(planet)
120
121
 
121
122
  if _planets_new:
122
- self.bulk_create(_planets_new)
123
+ self.bulk_create(_planets_new, batch_size=LEDGER_BULK_BATCH_SIZE)
123
124
  if _planets_update:
124
- self.bulk_update(_planets_update, fields=["upgrade_level", "num_pins"])
125
+ self.bulk_update(
126
+ _planets_update,
127
+ fields=["upgrade_level", "num_pins"],
128
+ batch_size=LEDGER_BULK_BATCH_SIZE,
129
+ )
125
130
 
126
131
  # Delete Planets that are no longer in the list
127
132
  obsolete_planets = set(_current_planets) - set(_planets_ids)
@@ -16,6 +16,7 @@ from app_utils.logging import LoggerAddTag
16
16
 
17
17
  # AA Ledger
18
18
  from ledger import __title__
19
+ from ledger.app_settings import LEDGER_BULK_BATCH_SIZE
19
20
  from ledger.decorators import log_timing
20
21
  from ledger.errors import DatabaseError
21
22
  from ledger.helpers.ref_type import RefTypeManager
@@ -264,7 +265,7 @@ class CorporationWalletManagerBase(models.Manager):
264
265
  created_names = EveEntity.objects.create_bulk_from_esi(_new_names)
265
266
 
266
267
  if created_names:
267
- self.bulk_create(items)
268
+ self.bulk_create(items, batch_size=LEDGER_BULK_BATCH_SIZE)
268
269
  else:
269
270
  raise DatabaseError("DB Fail")
270
271
 
@@ -13,6 +13,7 @@ from app_utils.logging import LoggerAddTag
13
13
 
14
14
  # AA Ledger
15
15
  from ledger import __title__
16
+ from ledger.app_settings import LEDGER_BULK_BATCH_SIZE
16
17
  from ledger.providers import esi
17
18
 
18
19
  logger = LoggerAddTag(get_extension_logger(__name__), __title__)
@@ -58,7 +59,9 @@ class EveEntityManager(models.Manager):
58
59
  category=entity.category,
59
60
  )
60
61
  )
61
- EveEntity.objects.bulk_create(new_names, ignore_conflicts=True)
62
+ EveEntity.objects.bulk_create(
63
+ new_names, batch_size=LEDGER_BULK_BATCH_SIZE, ignore_conflicts=True
64
+ )
62
65
  return True
63
66
  return True
64
67
 
@@ -469,21 +469,16 @@ def export_data_ledger(
469
469
  logger.debug("User with pk %s does not exist", user_pk)
470
470
  return
471
471
 
472
- if not msg:
472
+ if msg is not None:
473
473
  title = _(f"{ledger_type.capitalize()} Data Export Ready")
474
474
  message = _(
475
475
  f"Your data export for topic {ledger_type} is ready. You can download it from the Data Export page.",
476
476
  )
477
- else:
478
- title = _(f"{ledger_type.capitalize()} Data Export Failed")
479
- message = _(
480
- f"Your data export for topic {ledger_type} has failed with following error: {msg}",
481
- )
482
477
 
483
- send_user_notification.delay(
484
- user_id=user.pk,
485
- title=title,
486
- message=message,
487
- embed_message=True,
488
- level="info",
489
- )
478
+ send_user_notification.delay(
479
+ user_id=user.pk,
480
+ title=title,
481
+ message=message,
482
+ embed_message=True,
483
+ level="info",
484
+ )
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes