aa-bb 3.2.2__tar.gz → 3.2.3__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.
- {aa_bb-3.2.2 → aa_bb-3.2.3}/PKG-INFO +2 -2
- {aa_bb-3.2.2 → aa_bb-3.2.3}/README.md +1 -1
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/__init__.py +1 -1
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/admin.py +2 -2
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/app_settings.py +8 -6
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/auth_hooks.py +8 -5
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/clone_state.py +2 -2
- aa_bb-3.2.3/aa_bb/checks/coalition_blacklist.py +9 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/corp_blacklist.py +3 -3
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/hostile_assets.py +3 -7
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/urls.py +2 -2
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/urls_cb.py +1 -1
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/views.py +5 -4
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/views_paps.py +4 -0
- aa_bb-3.2.2/aa_bb/checks/coalition_blacklist.py +0 -42
- {aa_bb-3.2.2 → aa_bb-3.2.3}/.gitignore +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/LICENSE +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/apps.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/celery.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/__init__.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/alliance_blacklist.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/alpha_skills.json +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/awox.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/corp_changes.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/cyno.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/hostile_clones.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/roles_and_tokens.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/skills.json +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/skills.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/sus_contacts.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/sus_contracts.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/sus_mails.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks/sus_trans.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks_cb/__init__.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks_cb/hostile_assets.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks_cb/sus_contracts.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/checks_cb/sus_trans.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/esi_cache.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/esi_client.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/forms.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/locale/.gitkeep +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/management/__init__.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/management/commands/__init__.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/management/commands/manual_notif_test.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0001_initial.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0002_bigbrotherconfig_userstatus.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0003_alter_bigbrotherconfig_pingroleid.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0004_alter_bigbrotherconfig_is_active_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0005_alter_bigbrotherconfig_hostile_alliances.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0006_alter_bigbrotherconfig_pingroleid.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0007_alter_general_options.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0008_alliance_names_corporation_names.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0009_userstatus_sus_contacts_userstatus_sus_contracts_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0010_alter_userstatus_awox_kill_links_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0011_character_names.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0012_id_types.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0013_bigbrotherconfig_mail_keywords.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0014_processedcontract_processedmail_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0015_processedtransaction_sustransactionnote.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0016_warmprogress.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0017_entityinfocache.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0018_userstatus_cyno_userstatus_has_skills_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0019_bigbrotherconfig_whitelist_alliances_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0020_messages_bigbrotherconfig_are_daily_messages_active_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0021_alter_messages_id_alter_messages_text.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0022_messages_sent_in_cycle.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0023_optmessages1_optmessages2_optmessages3_optmessages4_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0024_bigbrotherconfig_dailyschedule_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0025_alter_messages_options_alter_optmessages1_options_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0026_alter_general_options_alter_bigbrotherconfig_id_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0027_alter_general_options_bigbrotherconfig_is_loa_active_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0028_alter_bigbrotherconfig_is_loa_active.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0029_leaverequest_main_character.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0030_alter_general_options.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0031_bigbrotherconfig_loa_max_logoff_days_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0032_alter_leaverequest_status.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0033_messagetype_bigbrotherconfig_pingroleid2_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0034_rename_last_updated_userstatus_updated.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0035_alter_userstatus_options.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0036_alter_general_options.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0037_corpstatus.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0038_bigbrotherconfig_ignored_corporations.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0039_alter_bigbrotherconfig_ignored_corporations.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0040_sovereigntymapcache_corporationinfocache_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0041_bigbrotherconfig_is_warmer_active.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0042_alter_general_options_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0043_bigbrotherconfig_bb_member_states_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0044_bigbrotherconfig_character_scopes_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0045_userstatus_sp_age_ratio_result.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0046_bigbrotherconfig_member_corporations.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0047_bigbrotherconfig_member_alliances.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0048_characteraccountstate.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0049_userstatus_clone_status.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0050_alter_general_options_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0051_monthlypapstats.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0052_papsconfig_delete_monthlypapstats.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0053_alter_papsconfig_corp_modifier_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0054_alter_general_options.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0055_papsconfig_group_paps_papsconfig_group_paps_modifier.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0056_alter_papsconfig_group_paps.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0057_papsconfig_excluded_groups_papsconfig_excluded_users_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0058_papsconfig_excluded_groups_get_paps_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0059_alter_papsconfig_excluded_groups_get_paps.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0060_papsconfig_cap_group_papsconfig_cap_group_paps_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0061_remove_papsconfig_cap_group_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0062_complianceticket.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0063_alter_complianceticket_user.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0064_alter_complianceticket_reason.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0065_alter_complianceticket_reason_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0066_tickettoolconfig_papcompliance.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0067_remove_tickettoolconfig_category_id_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0068_tickettoolconfig_category_id_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0069_tickettoolconfig_ticket_counter.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0070_remove_tickettoolconfig_role_id_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0071_tickettoolconfig_role_id.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0072_alter_complianceticket_reason.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0073_tickettoolconfig_starting_pap_compliance.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0074_alter_bigbrotherconfig_hostile_alliances.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0075_bbupdatestate_tickettoolconfig_afk_check_frequency_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0076_id_types_last_accessed_frequentcorpchangescache_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0077_complianceticket_ticket_id_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0078_tickettoolconfig_awox_monitor_enabled.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0079_helptext_guidance.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0080_bigbrotherconfig_dlc_flags.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0081_remove_papsconfig_imp_modifier_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0082_remove_bigbrotherconfig_token_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0083_alter_bigbrotherredditmessage_options_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0084_bigbrotherconfig_consider_all_structures_hostile_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0085_bigbrotherconfig_awox_notify_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0086_bigbrotherconfig_are_recurring_stats_active_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0087_bigbrotherconfig_dlc_are_recurring_stats_active.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0088_bigbrotherconfig_cyno_notify.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0089_bigbrotherconfig_asset_notify_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0090_alter_papsconfig_options_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0091_remove_bigbrotherconfig_dlc_are_recurring_stats_active_and_more.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0092_userstatus_baseline_initialized.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/__init__.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/models.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/reddit.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/signals.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/static/aa_bb/.gitkeep +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/tasks.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/tasks_bot.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/tasks_cb.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/tasks_ct.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/tasks_other.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/tasks_reddit.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/tasks_tickets.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/aa_bb/base.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/aa_bb/disabled.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/aa_bb/index.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/aa_cb/base.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/aa_cb/disabled.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/aa_cb/index.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/faq/base.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/faq/cards.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/faq/faq.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/faq/menu.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/faq/modules.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/faq/settings_bigbrother.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/faq/settings_nav.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/faq/settings_paps.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/faq/settings_tickets.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/loa/_loa_subtabs.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/loa/admin.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/loa/base.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/loa/disabled.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/loa/index.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/loa/menu.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/loa/request.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/paps/base.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/paps/disabled.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/paps/history.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/paps/index.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/templates/paps/menu.html +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/tests/__init__.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/tests/test_example.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/urls_loa.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/urls_paps.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/views_cb.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/views_faq.py +0 -0
- {aa_bb-3.2.2 → aa_bb-3.2.3}/pyproject.toml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aa_bb
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.3
|
|
4
4
|
Summary: BigBrother
|
|
5
5
|
Project-URL: Changelog, https://github.com/BroodLK/aa_bb/blob/main/CHANGELOG.md
|
|
6
6
|
Project-URL: Issue / Bug Reports, https://github.com/BroodLK/aa_bb/issues
|
|
@@ -98,7 +98,7 @@ After making sure to add the above prerequisite applications.
|
|
|
98
98
|
source /home/allianceserver/venv/auth/bin/activate && cd /home/allianceserver/myauth/
|
|
99
99
|
```
|
|
100
100
|
```bash
|
|
101
|
-
pip install aa-bb==3.2.
|
|
101
|
+
pip install aa-bb==3.2.2
|
|
102
102
|
```
|
|
103
103
|
```bash
|
|
104
104
|
vi myauth/settings/local.py
|
|
@@ -58,7 +58,7 @@ After making sure to add the above prerequisite applications.
|
|
|
58
58
|
source /home/allianceserver/venv/auth/bin/activate && cd /home/allianceserver/myauth/
|
|
59
59
|
```
|
|
60
60
|
```bash
|
|
61
|
-
pip install aa-bb==3.2.
|
|
61
|
+
pip install aa-bb==3.2.2
|
|
62
62
|
```
|
|
63
63
|
```bash
|
|
64
64
|
vi myauth/settings/local.py
|
|
@@ -424,11 +424,11 @@ def _filtered_get_app_list(request, app_label=None):
|
|
|
424
424
|
|
|
425
425
|
filtered = []
|
|
426
426
|
for app in app_list:
|
|
427
|
-
#
|
|
427
|
+
# Exclude AFAT's own admin section if present.
|
|
428
428
|
if app.get("app_label") == "afat":
|
|
429
429
|
continue
|
|
430
430
|
|
|
431
|
-
# PAP models (in this project)
|
|
431
|
+
# PAP models (in this project) are under aa_bb, so remove them when AFAT is not active.
|
|
432
432
|
if app.get("app_label") == "aa_bb":
|
|
433
433
|
models = app.get("models", [])
|
|
434
434
|
models = [m for m in models if m.get("object_name") not in _PAP_OBJECT_NAMES]
|
|
@@ -47,8 +47,8 @@ VERBOSE_WEBHOOK_LOGGING = True
|
|
|
47
47
|
|
|
48
48
|
def esi_tenant_kwargs(datasource: str | None):
|
|
49
49
|
"""
|
|
50
|
-
|
|
51
|
-
the
|
|
50
|
+
Translates the datasource argument into the X-Tenant header required by
|
|
51
|
+
the ESI client.
|
|
52
52
|
"""
|
|
53
53
|
tenant = datasource or DATASOURCE
|
|
54
54
|
return {"X_Tenant": tenant} if tenant else {}
|
|
@@ -192,7 +192,6 @@ def get_eve_entity_type(
|
|
|
192
192
|
# 1. Cache lookup
|
|
193
193
|
try:
|
|
194
194
|
record = id_types.objects.get(pk=eve_id)
|
|
195
|
-
# mark last access time without touching freshness timestamp
|
|
196
195
|
try:
|
|
197
196
|
record.last_accessed = timezone.now()
|
|
198
197
|
record.save(update_fields=["last_accessed"])
|
|
@@ -329,7 +328,8 @@ def get_entity_info(entity_id: int, as_of: timezone.datetime) -> Dict:
|
|
|
329
328
|
}
|
|
330
329
|
Caches the result in the DB for 2 hours.
|
|
331
330
|
"""
|
|
332
|
-
if entity_id is None:
|
|
331
|
+
if entity_id is None:
|
|
332
|
+
# Default placeholder ID if input is missing.
|
|
333
333
|
entity_id = 342545170
|
|
334
334
|
errent = True
|
|
335
335
|
else:
|
|
@@ -406,7 +406,8 @@ def get_entity_info(entity_id: int, as_of: timezone.datetime) -> Dict:
|
|
|
406
406
|
continue
|
|
407
407
|
raise
|
|
408
408
|
|
|
409
|
-
if errent:
|
|
409
|
+
if errent:
|
|
410
|
+
# Indicate lookup error for missing ID.
|
|
410
411
|
errmsg = "Error: entity id provided is None "
|
|
411
412
|
info = {
|
|
412
413
|
"name": errmsg,
|
|
@@ -1030,7 +1031,8 @@ def is_player_structure(location_id):
|
|
|
1030
1031
|
return location_id >= 1_000_000_000_000
|
|
1031
1032
|
|
|
1032
1033
|
def is_ship(type_id):
|
|
1033
|
-
|
|
1034
|
+
"""Checks if a type_id belongs to a ship."""
|
|
1035
|
+
return False
|
|
1034
1036
|
|
|
1035
1037
|
def get_safe_entities():
|
|
1036
1038
|
"""
|
|
@@ -165,15 +165,18 @@ class PapsMenuItem(MenuItemHook):
|
|
|
165
165
|
navactive=["paps:"],
|
|
166
166
|
)
|
|
167
167
|
def render(self, request):
|
|
168
|
-
"""Only show when users have permission."""
|
|
168
|
+
"""Only show when users have permission and AFAT is active."""
|
|
169
|
+
if not afat_active():
|
|
170
|
+
return ""
|
|
169
171
|
if request.user.has_perm("aa_bb.can_access_paps"): # Only show for PAP viewers.
|
|
170
172
|
return super().render(request)
|
|
171
173
|
return ""
|
|
172
174
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
175
|
+
if afat_active():
|
|
176
|
+
@hooks.register("menu_item_hook")
|
|
177
|
+
def register_paps_menu():
|
|
178
|
+
"""Register the PAP stats sidebar entry if AFAT is active."""
|
|
179
|
+
return PapsMenuItem()
|
|
177
180
|
|
|
178
181
|
if afat_active():
|
|
179
182
|
@hooks.register("url_hook")
|
|
@@ -84,7 +84,7 @@ def determine_character_state(user_id, save: bool = False):
|
|
|
84
84
|
all_char_ids = get_user_characters(user_id) # iterates keys if dict
|
|
85
85
|
result = {}
|
|
86
86
|
|
|
87
|
-
# If corptools
|
|
87
|
+
# If corptools is not available, default to unknown status.
|
|
88
88
|
if CharacterAudit is None or Skill is None:
|
|
89
89
|
for char_id in all_char_ids:
|
|
90
90
|
db_record = char_db_records.get(char_id)
|
|
@@ -115,7 +115,7 @@ def determine_character_state(user_id, save: bool = False):
|
|
|
115
115
|
for char_id in char_ids:
|
|
116
116
|
db_record = char_db_records.get(char_id)
|
|
117
117
|
|
|
118
|
-
#
|
|
118
|
+
# Use cached state if it's within 24 hours and inside the update window.
|
|
119
119
|
now = timezone.now()
|
|
120
120
|
if db_record and db_record.last_checked_at and (now - db_record.last_checked_at) < MAX_CACHE_AGE and in_utc_update_window(now):
|
|
121
121
|
result[char_id] = {
|
|
@@ -58,9 +58,9 @@ def get_corp_blacklist_html(
|
|
|
58
58
|
"allianceauth-blacklist/tree/main'>install blacklist</a> first"
|
|
59
59
|
)
|
|
60
60
|
|
|
61
|
-
#
|
|
62
|
-
action_url = reverse("
|
|
63
|
-
# Generate
|
|
61
|
+
# Determine the URL for the blacklist action:
|
|
62
|
+
action_url = reverse("aa_bb:add_blacklist")
|
|
63
|
+
# Generate CSRF token for the form:
|
|
64
64
|
token = get_token(request)
|
|
65
65
|
|
|
66
66
|
status_map = check_corp_bl(target_user_id)
|
|
@@ -68,13 +68,9 @@ def get_asset_locations(user_id: int) -> Dict[int, dict]:
|
|
|
68
68
|
key = getattr(system_obj, "pk", None)
|
|
69
69
|
sys_name = system_obj.name
|
|
70
70
|
elif location_id:
|
|
71
|
-
#
|
|
72
|
-
#
|
|
73
|
-
#
|
|
74
|
-
# Current logic requires key to be set.
|
|
75
|
-
# Use location_id as key if system unavailable?
|
|
76
|
-
# But return type says Dict[int, dict] where int is system ID.
|
|
77
|
-
# If we have no system, we can't check sovereignty easily.
|
|
71
|
+
# If the system ID is not available, we can't accurately check sovereignty
|
|
72
|
+
# or determine if the location is hostile based on system-level rules.
|
|
73
|
+
# We skip these records for now.
|
|
78
74
|
pass
|
|
79
75
|
|
|
80
76
|
if not key:
|
|
@@ -35,8 +35,8 @@ urlpatterns = [
|
|
|
35
35
|
), # Handle the Reddit OAuth callback and persist tokens.
|
|
36
36
|
path("manual/faq/", views_faq.manual_faq, name="manual_faq"), # General FAQ/guide landing page.
|
|
37
37
|
|
|
38
|
-
# Bulk loader
|
|
39
|
-
path("load_cards/", views.load_cards, name="load_cards"), # Legacy endpoint
|
|
38
|
+
# Bulk loader
|
|
39
|
+
path("load_cards/", views.load_cards, name="load_cards"), # Legacy endpoint.
|
|
40
40
|
|
|
41
41
|
# Single card AJAX fetch (all cards except paging for SUS_CONTR)
|
|
42
42
|
path("load_card/", views.load_card, name="load_card"), # Fetch one card’s HTML payload on-demand.
|
|
@@ -9,7 +9,7 @@ urlpatterns = [
|
|
|
9
9
|
# Main index view
|
|
10
10
|
path("", views.index, name="index"), # CorpBrother dashboard root.
|
|
11
11
|
|
|
12
|
-
# Bulk loader
|
|
12
|
+
# Bulk loader
|
|
13
13
|
path("load_cards/", views.load_cards, name="load_cards"), # Legacy full-card refresh endpoint.
|
|
14
14
|
|
|
15
15
|
# Single card AJAX fetch (all cards except paging for SUS_CONTR)
|
|
@@ -227,20 +227,21 @@ def warm_entity_cache_task(self, user_id):
|
|
|
227
227
|
except WarmProgress.DoesNotExist:
|
|
228
228
|
progress = None
|
|
229
229
|
|
|
230
|
-
|
|
230
|
+
# Determine if an existing warm job is currently making progress.
|
|
231
|
+
if progress and progress.total > 0:
|
|
231
232
|
first_current = progress.current
|
|
232
233
|
logger.info(f"[{user_main}] detected in-progress run (current={first_current}); probing…")
|
|
233
234
|
time.sleep(20)
|
|
234
235
|
|
|
235
|
-
#
|
|
236
|
+
# Re-fetch progress record to see if current count has increased.
|
|
236
237
|
try:
|
|
237
238
|
progress = WarmProgress.objects.get(user_main=user_main)
|
|
238
239
|
second_current = progress.current
|
|
239
240
|
except WarmProgress.DoesNotExist:
|
|
240
241
|
second_current = None
|
|
241
242
|
|
|
242
|
-
#
|
|
243
|
-
if second_current != first_current:
|
|
243
|
+
# Abort if progress was detected; otherwise continue with the new task.
|
|
244
|
+
if second_current != first_current:
|
|
244
245
|
logger.info(
|
|
245
246
|
f"[{user_main}] progress advanced from {first_current} to {second_current}; aborting new task."
|
|
246
247
|
)
|
|
@@ -167,6 +167,8 @@ def index(request):
|
|
|
167
167
|
@permission_required("aa_bb.can_access_paps")
|
|
168
168
|
def history(request):
|
|
169
169
|
"""Show previously generated PAP charts (if they exist)."""
|
|
170
|
+
if not afat_active():
|
|
171
|
+
return render(request, "paps/disabled.html")
|
|
170
172
|
cfg = BigBrotherConfig.get_solo()
|
|
171
173
|
if not cfg.is_paps_active: # Respect module toggle.
|
|
172
174
|
return render(request, "paps/disabled.html")
|
|
@@ -197,6 +199,8 @@ def history(request):
|
|
|
197
199
|
@permission_required("aa_bb.can_generate_paps")
|
|
198
200
|
def generate_pap_chart(request):
|
|
199
201
|
"""Process the submitted PAP form and produce a stacked contribution chart."""
|
|
202
|
+
if not afat_active():
|
|
203
|
+
return render(request, "paps/disabled.html")
|
|
200
204
|
month = int(request.POST.get("month"))
|
|
201
205
|
year = int(request.POST.get("year"))
|
|
202
206
|
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Helpers for constructing links against Imperium's shared blacklist tools.
|
|
3
|
-
"""
|
|
4
|
-
|
|
5
|
-
from allianceauth.authentication.models import CharacterOwnership
|
|
6
|
-
import urllib.parse
|
|
7
|
-
|
|
8
|
-
# def generate_blacklist_links(user_id, base_url="https://gice.goonfleet.com/Blacklist", max_url_length=2000):
|
|
9
|
-
# """
|
|
10
|
-
# Batch character names into multiple links to avoid exceeding the
|
|
11
|
-
# URL length limit enforced by the external blacklist service.
|
|
12
|
-
# """
|
|
13
|
-
# characters = CharacterOwnership.objects.filter(user__id=user_id)
|
|
14
|
-
# names = [str(char.character) for char in characters]
|
|
15
|
-
#
|
|
16
|
-
# links = []
|
|
17
|
-
# current_names = []
|
|
18
|
-
#
|
|
19
|
-
# for name in names:
|
|
20
|
-
# test_list = current_names + [name]
|
|
21
|
-
# query_string = urllib.parse.quote(",".join(test_list)) # URL-encode
|
|
22
|
-
# url = f"{base_url}?q={query_string}"
|
|
23
|
-
#
|
|
24
|
-
# if len(url) >= max_url_length: # Push current batch if adding name would exceed service limit.
|
|
25
|
-
# links.append(current_names)
|
|
26
|
-
# current_names = [name]
|
|
27
|
-
# else:
|
|
28
|
-
# current_names = test_list
|
|
29
|
-
#
|
|
30
|
-
# if current_names: # Append final batch after loop.
|
|
31
|
-
# links.append(current_names)
|
|
32
|
-
#
|
|
33
|
-
# formatted_links = []
|
|
34
|
-
# for i, chunk in enumerate(links):
|
|
35
|
-
# link_text = "Click here" if i == 0 else "and here"
|
|
36
|
-
# query = urllib.parse.quote(",".join(chunk)) # URL-encode
|
|
37
|
-
# formatted_links.append(f"<a href='{base_url}?q={query}'>{link_text}</a>")
|
|
38
|
-
#
|
|
39
|
-
# return formatted_links
|
|
40
|
-
|
|
41
|
-
def generate_blacklist_links():
|
|
42
|
-
return ""
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0004_alter_bigbrotherconfig_is_active_and_more.py
RENAMED
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0005_alter_bigbrotherconfig_hostile_alliances.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0010_alter_userstatus_awox_kill_links_and_more.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0014_processedcontract_processedmail_and_more.py
RENAMED
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0015_processedtransaction_sustransactionnote.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0018_userstatus_cyno_userstatus_has_skills_and_more.py
RENAMED
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0019_bigbrotherconfig_whitelist_alliances_and_more.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0024_bigbrotherconfig_dailyschedule_and_more.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0031_bigbrotherconfig_loa_max_logoff_days_and_more.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0039_alter_bigbrotherconfig_ignored_corporations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0043_bigbrotherconfig_bb_member_states_and_more.py
RENAMED
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0044_bigbrotherconfig_character_scopes_and_more.py
RENAMED
|
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
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0053_alter_papsconfig_corp_modifier_and_more.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0058_papsconfig_excluded_groups_get_paps_and_more.py
RENAMED
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0059_alter_papsconfig_excluded_groups_get_paps.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0067_remove_tickettoolconfig_category_id_and_more.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0070_remove_tickettoolconfig_role_id_and_more.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0073_tickettoolconfig_starting_pap_compliance.py
RENAMED
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0074_alter_bigbrotherconfig_hostile_alliances.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0081_remove_papsconfig_imp_modifier_and_more.py
RENAMED
|
File without changes
|
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0083_alter_bigbrotherredditmessage_options_and_more.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aa_bb-3.2.2 → aa_bb-3.2.3}/aa_bb/migrations/0087_bigbrotherconfig_dlc_are_recurring_stats_active.py
RENAMED
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|