django-restit 4.2.142__tar.gz → 4.2.144__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {django_restit-4.2.142 → django_restit-4.2.144}/PKG-INFO +1 -1
- django_restit-4.2.144/incident/extra/abuse.py +125 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/models/event.py +1 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/models/incident.py +14 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/rpc.py +18 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/utils.py +3 -3
- {django_restit-4.2.142 → django_restit-4.2.144}/pyproject.toml +1 -1
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/__init__.py +1 -1
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/rpc.py +1 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/ws4redis/connection.py +1 -1
- {django_restit-4.2.142 → django_restit-4.2.144}/ws4redis/redis.py +1 -0
- django_restit-4.2.144/ws4redis/servers/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/LICENSE.md +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/README.md +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/admin.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/fcm/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/fcm/legacy.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/fcm/v1.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0001_initial.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0003_member_phone_number.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0004_group_modified_alter_group_created.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0005_member_auth_code_expires.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0006_member_security_token.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0007_authtoken_signature_authsession.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0008_memberdevice_memberdevicemetadata.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0009_alter_member_phone_number.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0010_delete_authtoken.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0011_authtoken.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0012_settings_settingsmetadata.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0013_memberdevice_ip.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0014_alter_notificationmemberrecord_member.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0015_memberdevice_buid.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0016_authsession_buid.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0017_rename_requires_topt_member_requires_totp.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0018_userpasskey.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0019_group_location.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0020_cloudcredentials_cloudcredentialsmetadata.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0021_alter_cloudcredentials_group.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0022_alter_memberdevice_modified.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/models/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/models/device.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/models/feeds.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/models/group.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/models/legacy.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/models/member.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/models/membership.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/models/notify.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/models/passkeys.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/models/session.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/models/settings.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/oauth/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/oauth/google.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/passkeys/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/passkeys/core.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/periodic.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/rpc/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/rpc/auth.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/rpc/device.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/rpc/group.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/rpc/member.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/rpc/notify.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/rpc/oauth.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/rpc/passkeys.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/rpc/settings.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/settings.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/templates/email/base.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/templates/email/invite.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/templates/email/plain/base.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/templates/email/plain/invite.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/templates/email/plain/reset_code.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/templates/email/reset_code.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/templates/email/simple/invite.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/templates/email/simple/reset_code.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/account/templates/unsubscribed.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/auditlog/README +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/auditlog/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/auditlog/admin.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/auditlog/cloudwatch.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/auditlog/decorators.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/auditlog/middleware.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/auditlog/migrations/0001_initial.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/auditlog/migrations/0002_alter_persistentlog_session.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/auditlog/migrations/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/auditlog/models.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/auditlog/periodic.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/auditlog/rpc.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/auditlog/tq.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/auditlog/urls.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/README.md +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/admin.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/handlers.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/migrations/0001_initial.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/migrations/0002_alter_message_cc.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/migrations/0003_attachment_content_type.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/migrations/0004_mailtemplate.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/migrations/0005_alter_mailbox_state.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/migrations/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/models/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/models/bounce.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/models/complaint.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/models/message.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/models/template.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/rpc.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/utils/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/utils/parsing.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/utils/render.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/inbox/utils/sending.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/README.md +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/__init__.py +0 -0
- {django_restit-4.2.142/incident/migrations → django_restit-4.2.144/incident/extra}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0001_initial.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0002_event_component_event_component_id.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0003_rule_action.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0004_serverossecalert_ssh_sig_alter_rulecheck_parent.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0005_incident_component_alter_incident_state.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0006_delete_eventmetadata.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0007_event_metadata.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0008_incident_action_sent_incident_hostname_and_more.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0009_incident_reporter_ip.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0010_incident_category_incident_component_id.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0011_ticket.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0012_rule_match_by.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0013_rulecheck_is_required.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0014_event_group_alter_rulecheck_index.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0015_rule_title_template_alter_incident_state.py +0 -0
- {django_restit-4.2.142/incident/parsers → django_restit-4.2.144/incident/migrations}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/models/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/models/ossec.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/models/rules.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/models/ticket.py +0 -0
- {django_restit-4.2.142/location → django_restit-4.2.144/incident/parsers}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/parsers/ossec.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/periodic.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/templates/email/incident_change.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/templates/email/incident_msg.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/templates/email/incident_new.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/templates/email/incident_plain.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/incident/tq.py +0 -0
- {django_restit-4.2.142/location/migrations → django_restit-4.2.144/location}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/admin.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/geolocate.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/migrations/0001_initial.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/migrations/0002_geoip_subnet_alter_geoip_ip.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/migrations/0003_address_postalcode_suffix.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/migrations/0004_remove_address_modified_by_address_group_and_more.py +0 -0
- {django_restit-4.2.142/location/providers → django_restit-4.2.144/location/migrations}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/models/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/models/address.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/models/ip.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/models/legacy.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/models/location.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/models/track.py +0 -0
- {django_restit-4.2.142/medialib → django_restit-4.2.144/location/providers}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/providers/iplookup/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/providers/iplookup/abstractapi.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/providers/iplookup/extremeip.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/providers/iplookup/geoplugin.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/providers/iplookup/ipapi.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/providers/iplookup/ipinfo.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/providers/iplookup/restit.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/providers/location/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/providers/location/google.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/providers/timezones/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/providers/timezones/google.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/providers/zillow.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/rpc/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/rpc/address.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/rpc/ip.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/rpc/location.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/location/rpc/track.py +0 -0
- {django_restit-4.2.142/medialib/migrations → django_restit-4.2.144/medialib}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/admin.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/caching.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/cvutil/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/cvutil/contours.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/cvutil/images.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/cvutil/misc.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/cvutil/text.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/fixtures/initial_data.json +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/fixtures/medialib.json +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/fixtures/medialib_test_fixture.json +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/forms.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/migrations/0001_initial.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/migrations/0002_alter_mediaitemrendition_bytes.py +0 -0
- {django_restit-4.2.142/medialib/render/engines → django_restit-4.2.144/medialib/migrations}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/models.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/ocr.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/pdf.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/qrcode.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/__init__.py +0 -0
- {django_restit-4.2.142/medialib/render/engines/rtmp → django_restit-4.2.144/medialib/render/engines}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/engines/anigif.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/engines/ffmpeg.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/engines/gifsicle.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/engines/hls.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/engines/mp4box.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/engines/rtmp/Makefile +0 -0
- {django_restit-4.2.142/medialib/render/presets → django_restit-4.2.144/medialib/render/engines/rtmp}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/engines/rtmp/rtmp.i +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/engines/rtmpdump.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/engines/rtmpsink.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/engines/video_getinfo.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/engines/websnap.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/exceptions.py +0 -0
- {django_restit-4.2.142/metrics/management → django_restit-4.2.144/medialib/render/presets}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/presets/akamai.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/presets/animated_thumbnail.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/presets/ffmpeg.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/presets/flv.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/presets/hls.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/presets/image_transcode.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/presets/image_validate.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/presets/mp4.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/presets/video_still.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/presets/video_validate.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/presets/websnap.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/presets/youtube.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/render_utils.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/render/schedule.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/rpc/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/rpc/legacy.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/rpc/media.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/rpc/tools.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/scripts/init_config +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/css/base_medialibui.css +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/css/base_widgets.css +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/css/jquery.jcrop.css +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/img/arrow-down-white.png +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/img/bg-body.gif +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/img/cancel.gif +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/img/icon-generic.gif +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/img/icon-image.gif +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/img/icon-media.gif +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/img/icon-zip.gif +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/img/loading.gif +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/img/noimage.gif +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/img/render_err.gif +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/img/rendering.gif +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/img/star_off.png +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/img/star_on.png +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/img/unknown.gif +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/lib/caman.full.js +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/lib/hammer.min.js +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/lib/jquery.Jcrop.js +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/lib/jquery.hammer.js +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/lib/load-image.min.js +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/lib/swiper.js +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/lib/tinymce/plugins/medialib/editor_plugin.js +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/lib/tinymce/plugins/medialib/editor_plugin_src.js +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/lib/tinymce/plugins/medialib/js/dialog.js +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/static/lib/tinymce/plugins/medialib/medialib.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/apiclient/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/apiclient/channel.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/apiclient/discovery.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/apiclient/errors.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/apiclient/http.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/apiclient/mimeparse.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/apiclient/model.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/apiclient/sample_tools.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/apiclient/schema.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/filestore.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/httplib2/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/httplib2/cacerts.txt +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/httplib2/iri2uri.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/httplib2/socks.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/httpstore.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/nullstore.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/anyjson.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/appengine.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/client.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/clientsecrets.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/crypt.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/django_orm.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/file.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/gce.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/keyring_storage.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/locked_file.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/multistore_file.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/old_run.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/tools.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/util.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/oauth2client/xsrfutil.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/rtmpstore.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/s3.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/s3store.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/uritemplate/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/stores/youtubestore.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/base.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/instances.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/items.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/library.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/notify_error.subject +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/notify_error.to +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/notify_error.txt +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/notify_ready.subject +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/notify_ready.to +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/notify_ready.txt +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/notify_render_error.subject +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/notify_render_error.to +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/notify_render_error.txt +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/notify_validate_error.subject +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/notify_validate_error.to +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/notify_validate_error.txt +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/smil +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/test.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/templates/medialib/testpicker.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/tests.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/tq.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/urls.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/views.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/apiclient/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/apiclient/channel.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/apiclient/discovery.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/apiclient/errors.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/apiclient/http.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/apiclient/mimeparse.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/apiclient/model.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/apiclient/sample_tools.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/apiclient/schema.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/httplib2/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/httplib2/cacerts.txt +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/httplib2/iri2uri.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/httplib2/socks.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/anyjson.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/appengine.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/client.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/clientsecrets.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/crypt.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/django_orm.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/file.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/gce.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/keyring_storage.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/locked_file.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/multistore_file.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/old_run.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/tools.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/util.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/oauth2client/xsrfutil.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/upload.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/medialib/youtube/uritemplate/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/README.md +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/client.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/eod.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/examples/eod_example.py +0 -0
- {django_restit-4.2.142/metrics/management/commands → django_restit-4.2.144/metrics/management}/__init__.py +0 -0
- {django_restit-4.2.142/metrics/migrations → django_restit-4.2.144/metrics/management/commands}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/management/commands/delete_gauge.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/management/commands/delete_metric.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/management/commands/fix_redis_metrics_keys.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/management/commands/generate_test_metrics.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/management/commands/redis_metrics_send_mail.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/management/commands/reset_weekly_metrics.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/management/commands/system_metric.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/migrations/0001_initial.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/migrations/0002_metrics_k11_metrics_k12_metrics_k13_metrics_k14_and_more.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/migrations/0003_metrics_expires.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/migrations/0004_eodmetrics.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/migrations/0005_alter_metrics_v1_alter_metrics_v10_alter_metrics_v11_and_more.py +0 -0
- {django_restit-4.2.142/metrics/providers → django_restit-4.2.144/metrics/migrations}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/models.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/periodic.py +0 -0
- {django_restit-4.2.142/pushit → django_restit-4.2.144/metrics/providers}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/providers/aws.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/rpc.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/settings.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/tq.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/metrics/utils.py +0 -0
- {django_restit-4.2.142/pushit/migrations → django_restit-4.2.144/pushit}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/pushit/admin.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/pushit/migrations/0001_initial.py +0 -0
- {django_restit-4.2.142/rest/management → django_restit-4.2.144/pushit/migrations}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/pushit/models.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/pushit/rpc/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/pushit/rpc/githooks.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/pushit/rpc/legacy.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/pushit/rpc/products.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/pushit/static/js/models_pushit.js +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/pushit/tq.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/pushit/utils.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/.gitignore +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/README.md +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/RemoteEvents.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/arc4.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/cache.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/crypto/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/crypto/aes.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/crypto/privpub.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/crypto/util.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/datem.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/decorators.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/encryption.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/errors.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/extra/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/extra/hostinfo.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/extra/json_metadata.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/fields.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/forms.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/helpers.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/joke.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/jwtoken.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/log.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/mail.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/mailman.py +0 -0
- {django_restit-4.2.142/rest/management/commands → django_restit-4.2.144/rest/management}/__init__.py +0 -0
- {django_restit-4.2.142/rest/serializers → django_restit-4.2.144/rest/management/commands}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/management/commands/rpc.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/middleware/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/middleware/cors.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/middleware/db_router.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/middleware/jwt.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/middleware/request.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/middleware/session.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/middleware/session_store.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/models/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/models/base.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/models/cacher.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/models/metadata.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/net.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/regexes.yaml +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/requestex.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/search.py +0 -0
- {django_restit-4.2.142/sessionlog → django_restit-4.2.144/rest/serializers}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/serializers/collection.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/serializers/csv.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/serializers/excel.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/serializers/json.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/serializers/legacy.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/serializers/localizers.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/serializers/model.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/serializers/profiler.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/serializers/response.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/serializers/util.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/settings_helper.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/ssl_check.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/static/lib/jquery.js +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/static/rest/app.css +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/static/rest/app.js +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/static/rest/rest.js +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/static/rest/rest.scss +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/templates/email/error.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/templates/email/error.subject +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/templates/rest_docs.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/templates/rest_html.html +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/ua.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/uberdict.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/url_docs.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/urls.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/rest/views.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/sessionlog/.gitignore +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/sessionlog/README.md +0 -0
- {django_restit-4.2.142/sessionlog/migrations → django_restit-4.2.144/sessionlog}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/sessionlog/admin.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/sessionlog/migrations/0001_initial.py +0 -0
- {django_restit-4.2.142/taskqueue → django_restit-4.2.144/sessionlog/migrations}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/sessionlog/models.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/sessionlog/tests.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/sessionlog/views.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/taskqueue/README.md +0 -0
- {django_restit-4.2.142/taskqueue/migrations → django_restit-4.2.144/taskqueue}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/taskqueue/admin.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/taskqueue/migrations/0001_initial.py +0 -0
- {django_restit-4.2.142/taskqueue/transports → django_restit-4.2.144/taskqueue/migrations}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/taskqueue/models.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/taskqueue/periodic.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/taskqueue/rpc.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/taskqueue/tq.py +0 -0
- {django_restit-4.2.142/telephony → django_restit-4.2.144/taskqueue/transports}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/taskqueue/transports/email.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/taskqueue/transports/http.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/taskqueue/transports/s3.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/taskqueue/transports/sftp.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/taskqueue/transports/sms.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/taskqueue/worker.py +0 -0
- {django_restit-4.2.142/telephony/migrations → django_restit-4.2.144/telephony}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/telephony/admin.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/telephony/decorators.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/telephony/migrations/0001_initial.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/telephony/migrations/0002_alter_sms_sid.py +0 -0
- {django_restit-4.2.142/wiki → django_restit-4.2.144/telephony}/migrations/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/telephony/models.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/telephony/phone_util.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/telephony/rpc.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/migrations/0001_initial.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/migrations/0002_alter_pagemedia_entry.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/migrations/0003_page_perms.py +0 -0
- {django_restit-4.2.142/ws4redis/servers → django_restit-4.2.144/wiki/migrations}/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/models/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/models/faq.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/models/page.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/models/revision.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/periodic.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/renderers/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/renderers/mistune/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/renderers/mistune/highlight.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/renderers/mistune/math.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/renderers/mistune/media.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/renderers/mistune/meta.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/renderers/mistune/task_list.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/renderers/mistune/toc.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/rpc/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/rpc/wiki.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/wiki/tq.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/ws4redis/README.md +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/ws4redis/__init__.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/ws4redis/client.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/ws4redis/exceptions.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/ws4redis/servers/base.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/ws4redis/servers/django.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/ws4redis/servers/uwsgi.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/ws4redis/settings.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/ws4redis/utf8validator.py +0 -0
- {django_restit-4.2.142 → django_restit-4.2.144}/ws4redis/websocket.py +0 -0
@@ -0,0 +1,125 @@
|
|
1
|
+
import requests
|
2
|
+
import ipaddress
|
3
|
+
from objict import objict
|
4
|
+
from rest import settings
|
5
|
+
from datetime import datetime
|
6
|
+
from enum import Enum
|
7
|
+
|
8
|
+
API_KEY = settings.get("ABUSEIPDB_KEY", "")
|
9
|
+
|
10
|
+
DEFAULT_HEADERS = {
|
11
|
+
'Accept': 'application/json',
|
12
|
+
'Key': API_KEY
|
13
|
+
}
|
14
|
+
|
15
|
+
|
16
|
+
class AbuseCategory(Enum):
|
17
|
+
DNS_COMPROMISE = (1, "Altering DNS records resulting in improper redirection.")
|
18
|
+
DNS_POISONING = (2, "Falsifying domain server cache (cache poisoning).")
|
19
|
+
FRAUD_ORDERS = (3, "Fraudulent orders.")
|
20
|
+
DDOS_ATTACK = (4, "Participating in distributed denial-of-service (usually part of botnet).")
|
21
|
+
FTP_BRUTE_FORCE = (5, "FTP Brute-Force")
|
22
|
+
PING_OF_DEATH = (6, "Oversized IP packet.")
|
23
|
+
PHISHING = (7, "Phishing websites and/or email.")
|
24
|
+
FRAUD_VOIP = (8, "Fraud VoIP")
|
25
|
+
OPEN_PROXY = (9, "Open proxy, open relay, or Tor exit node.")
|
26
|
+
WEB_SPAM = (10, "Comment/forum spam, HTTP referer spam, or other CMS spam.")
|
27
|
+
EMAIL_SPAM = (11, "Spam email content, infected attachments, and phishing emails.")
|
28
|
+
BLOG_SPAM = (12, "CMS blog comment spam.")
|
29
|
+
VPN_IP = (13, "Conjunctive category.")
|
30
|
+
PORT_SCAN = (14, "Scanning for open ports and vulnerable services.")
|
31
|
+
HACKING = (15, "Hacking")
|
32
|
+
SQL_INJECTION = (16, "Attempts at SQL injection.")
|
33
|
+
SPOOFING = (17, "Email sender spoofing.")
|
34
|
+
BRUTE_FORCE = (18, "Credential brute-force attacks on webpage logins and services.")
|
35
|
+
BAD_WEB_BOT = (19, "Webpage scraping and crawlers that do not honor robots.txt.")
|
36
|
+
EXPLOITED_HOST = (20, "Host is likely infected with malware and being used for other attacks.")
|
37
|
+
WEB_APP_ATTACK = (21, "Attempts to probe for or exploit installed web applications.")
|
38
|
+
SSH = (22, "Secure Shell (SSH) abuse.")
|
39
|
+
IOT_TARGETED = (23, "Abuse targeted at an 'Internet of Things' type device.")
|
40
|
+
|
41
|
+
def __init__(self, code, description):
|
42
|
+
self.code = code
|
43
|
+
self.description = description
|
44
|
+
|
45
|
+
def __str__(self):
|
46
|
+
return f"{self.name} ({self.code}): {self.description}"
|
47
|
+
|
48
|
+
|
49
|
+
def lookup(ip, max_days=0):
|
50
|
+
"""
|
51
|
+
{
|
52
|
+
"data": {
|
53
|
+
"ipAddress": "118.25.6.39",
|
54
|
+
"isPublic": true,
|
55
|
+
"ipVersion": 4,
|
56
|
+
"isWhitelisted": false,
|
57
|
+
"abuseConfidenceScore": 100,
|
58
|
+
"countryCode": "CN",
|
59
|
+
"countryName": "China",
|
60
|
+
"usageType": "Data Center/Web Hosting/Transit",
|
61
|
+
"isp": "Tencent Cloud Computing (Beijing) Co. Ltd",
|
62
|
+
"domain": "tencent.com",
|
63
|
+
"hostnames": [],
|
64
|
+
"isTor": false,
|
65
|
+
"totalReports": 1,
|
66
|
+
"numDistinctUsers": 1,
|
67
|
+
"lastReportedAt": "2018-12-20T20:55:14+00:00",
|
68
|
+
"reports": [
|
69
|
+
{
|
70
|
+
"reportedAt": "2018-12-20T20:55:14+00:00",
|
71
|
+
"comment": "Dec 20 20:55:14 srv206 sshd[13937]: Invalid user oracle from 118.25.6.39",
|
72
|
+
"categories": [
|
73
|
+
18,
|
74
|
+
22
|
75
|
+
],
|
76
|
+
"reporterId": 1,
|
77
|
+
"reporterCountryCode": "US",
|
78
|
+
"reporterCountryName": "United States"
|
79
|
+
}
|
80
|
+
]
|
81
|
+
}
|
82
|
+
}
|
83
|
+
"""
|
84
|
+
if not API_KEY:
|
85
|
+
return objict(errors=[{"detail": "Missing API KEY", "status": 401}])
|
86
|
+
url = 'https://api.abuseipdb.com/api/v2/check'
|
87
|
+
params = dict(ipAddress=ip)
|
88
|
+
if max_days:
|
89
|
+
params["maxAgeInDays"] = max_days
|
90
|
+
response = requests.request(
|
91
|
+
method='GET', url=url, headers=DEFAULT_HEADERS,
|
92
|
+
params=params)
|
93
|
+
return objict.fromJSON(response.text)
|
94
|
+
|
95
|
+
|
96
|
+
def reportAbuse(ip, comment, categories):
|
97
|
+
"""
|
98
|
+
{
|
99
|
+
"data": {
|
100
|
+
"ipAddress": "127.0.0.1",
|
101
|
+
"abuseConfidenceScore": 52
|
102
|
+
}
|
103
|
+
}
|
104
|
+
"""
|
105
|
+
if not API_KEY:
|
106
|
+
return objict(errors=[{"detail": "Missing API KEY", "status": 401}])
|
107
|
+
url = 'https://api.abuseipdb.com/api/v2/report'
|
108
|
+
now_str = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
|
109
|
+
params = dict(ip=ip, comment=comment, timestamp=now_str, categories=categories)
|
110
|
+
response = requests.request(
|
111
|
+
method='POST', url=url,
|
112
|
+
headers=DEFAULT_HEADERS, params=params)
|
113
|
+
return objict.fromJSON(response.text)
|
114
|
+
|
115
|
+
|
116
|
+
def isPrivate(ip, ignore_errors=False):
|
117
|
+
if not ignore_errors:
|
118
|
+
ip_obj = ipaddress.ip_address(ip)
|
119
|
+
return ip_obj.is_private
|
120
|
+
try:
|
121
|
+
ip_obj = ipaddress.ip_address(ip)
|
122
|
+
return ip_obj.is_private
|
123
|
+
except Exception:
|
124
|
+
pass
|
125
|
+
return None
|
@@ -193,6 +193,7 @@ class Event(JSONMetaData, rm.RestModel):
|
|
193
193
|
incident.description = self.description
|
194
194
|
elif self.category == "ossec":
|
195
195
|
incident.description = f"{self.hostname}: {self.description}"
|
196
|
+
incident.updateAbuseInfo()
|
196
197
|
else:
|
197
198
|
incident.description = self.description
|
198
199
|
incident.save()
|
@@ -10,6 +10,7 @@ from datetime import datetime, timedelta
|
|
10
10
|
from rest import log
|
11
11
|
from ws4redis import client as ws4redis
|
12
12
|
import time
|
13
|
+
from incident.extra import abuse
|
13
14
|
|
14
15
|
logger = log.getLogger("incident", filename="incident.log")
|
15
16
|
|
@@ -483,6 +484,19 @@ class Incident(models.Model, rm.RestModel, rm.MetaDataModel):
|
|
483
484
|
email_only=True,
|
484
485
|
from_email=INCIDENT_EMAIL_FROM)
|
485
486
|
|
487
|
+
def updateAbuseInfo(self, ip=None):
|
488
|
+
# for now we just check if this ip is in the abuse ip db
|
489
|
+
if ip is None:
|
490
|
+
ip = self.reporter_ip
|
491
|
+
is_priv = abuse.isPrivate(ip, ignore_errors=True)
|
492
|
+
if is_priv is not None:
|
493
|
+
self.setProperty("is_private_ip", is_priv)
|
494
|
+
if is_priv:
|
495
|
+
return
|
496
|
+
info = abuse.lookup(ip, 0)
|
497
|
+
if "errors" not in info:
|
498
|
+
self.setProperty("abuse_info", info)
|
499
|
+
|
486
500
|
@classmethod
|
487
501
|
def getBundled(cls, rule, event):
|
488
502
|
# calculate our bundle start time
|
@@ -3,6 +3,7 @@ from rest import views as rv
|
|
3
3
|
from rest import helpers as rh
|
4
4
|
from rest import settings
|
5
5
|
from . import models as am
|
6
|
+
from .extra import abuse
|
6
7
|
from .parsers import ossec
|
7
8
|
from taskqueue.models import Task
|
8
9
|
import incident
|
@@ -234,3 +235,20 @@ def rest_firewall_block(request):
|
|
234
235
|
@rd.url('ticket/<int:pk>')
|
235
236
|
def rest_on_ticket(request, pk=None):
|
236
237
|
return am.Ticket.on_rest_request(request, pk)
|
238
|
+
|
239
|
+
|
240
|
+
@rd.urlGET('abuse/lookup')
|
241
|
+
@rd.requires_params(["ip"])
|
242
|
+
def rest_on_abuse_ip_lookup(request):
|
243
|
+
resp = abuse.lookup(request.DATA.get("ip"), request.DATA.get("max_age", 0))
|
244
|
+
return rv.restReturn(request, resp)
|
245
|
+
|
246
|
+
|
247
|
+
@rd.urlPOST('abuse/report')
|
248
|
+
@rd.requires_params(["ip", "comment", "categories"])
|
249
|
+
def rest_on_report_abuse(request):
|
250
|
+
resp = abuse.reportAbuse(
|
251
|
+
ip=request.DATA.get("ip"),
|
252
|
+
comment=request.DATA.get("comment"),
|
253
|
+
categories=request.DATA.get("categories"))
|
254
|
+
return rv.restReturn(request, resp)
|
@@ -7,8 +7,8 @@ import hashlib
|
|
7
7
|
|
8
8
|
EXT_MAP = {
|
9
9
|
"V":['mpg', 'mpeg', 'mpe', 'mp4', 'm4v', 'mov', 'qt', '3gp', 'ogv', 'webm', 'flv', 'asf', 'asx', 'wmv', 'mpv', 'mkv', 'avi', 'dat', 'swf'],
|
10
|
-
"I":['jpg', 'jpg', 'jpeg', 'gif', 'png', 'bmp', 'tif', 'tiff'],
|
11
|
-
"T":['txt', 'html'],
|
10
|
+
"I":['jpg', 'jpg', 'jpeg', 'gif', 'png', 'bmp', 'tif', 'tiff', 'webp', 'ico'],
|
11
|
+
"T":['txt', 'html', 'csv', 'md'],
|
12
12
|
}
|
13
13
|
|
14
14
|
KIND_MAP = {
|
@@ -27,7 +27,7 @@ def guessBase64Kind(data):
|
|
27
27
|
# look at first 16 bytes for ext
|
28
28
|
sample = fromBase64ToBytes(data[:16]).lower() # data[:16]
|
29
29
|
# sample = self.base64_data[:16].decode('base64').lower()
|
30
|
-
for ext in ["png", "jpg", "jpeg", "jfif", "bmp", "gif", "tif"]:
|
30
|
+
for ext in ["png", "jpg", "jpeg", "jfif", "bmp", "gif", "tif", "webp"]:
|
31
31
|
if toBytes(ext) in sample:
|
32
32
|
if ext == "jfif":
|
33
33
|
ext = "jpg"
|
@@ -81,6 +81,7 @@ def on_get_system_info(request):
|
|
81
81
|
out = hostinfo.getHostInfo(
|
82
82
|
include_versions=request.DATA.get("versions") and SOFTWARE_VERSIONS,
|
83
83
|
include_blocked=request.DATA.get("blocked"))
|
84
|
+
out["redist_pool"] = redis.getPoolStatus()
|
84
85
|
return views.restGet(request, out)
|
85
86
|
|
86
87
|
|
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
|
{django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0003_member_phone_number.py
RENAMED
File without changes
|
File without changes
|
{django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0005_member_auth_code_expires.py
RENAMED
File without changes
|
{django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0006_member_security_token.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0009_alter_member_phone_number.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0012_settings_settingsmetadata.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.142 → django_restit-4.2.144}/account/migrations/0015_memberdevice_buid.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
|
{django_restit-4.2.142 → django_restit-4.2.144}/account/templates/email/plain/reset_code.html
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.142 → django_restit-4.2.144}/account/templates/email/simple/reset_code.html
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
|
{django_restit-4.2.142 → django_restit-4.2.144}/inbox/migrations/0003_attachment_content_type.py
RENAMED
File without changes
|
File without changes
|
{django_restit-4.2.142 → django_restit-4.2.144}/inbox/migrations/0005_alter_mailbox_state.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
|
{django_restit-4.2.142/incident/migrations → django_restit-4.2.144/incident/extra}/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0006_delete_eventmetadata.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0009_incident_reporter_ip.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.142 → django_restit-4.2.144}/incident/migrations/0013_rulecheck_is_required.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.142/incident/parsers → django_restit-4.2.144/incident/migrations}/__init__.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
|
{django_restit-4.2.142 → django_restit-4.2.144}/incident/templates/email/incident_change.html
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.142 → django_restit-4.2.144}/incident/templates/email/incident_plain.html
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|