django-restit 4.1.61__tar.gz → 4.1.62__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.
- {django_restit-4.1.61 → django_restit-4.1.62}/PKG-INFO +1 -1
- {django_restit-4.1.61 → django_restit-4.1.62}/account/rpc/group.py +1 -0
- django_restit-4.1.62/incident/migrations/0010_incident_category_incident_component_id.py +23 -0
- django_restit-4.1.62/incident/migrations/0011_ticket.py +38 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/models/__init__.py +1 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/models/event.py +4 -1
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/models/incident.py +26 -13
- django_restit-4.1.62/incident/models/ticket.py +65 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/rpc.py +6 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/pyproject.toml +1 -1
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/__init__.py +1 -1
- {django_restit-4.1.61 → django_restit-4.1.62}/LICENSE.md +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/README.md +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/admin.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/fcm/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0001_initial.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0003_member_phone_number.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0004_group_modified_alter_group_created.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0005_member_auth_code_expires.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0006_member_security_token.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0007_authtoken_signature_authsession.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0008_memberdevice_memberdevicemetadata.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0009_alter_member_phone_number.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0010_delete_authtoken.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0011_authtoken.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0012_settings_settingsmetadata.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0013_memberdevice_ip.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0014_alter_notificationmemberrecord_member.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0015_memberdevice_buid.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0016_authsession_buid.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/models/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/models/device.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/models/feeds.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/models/group.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/models/legacy.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/models/member.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/models/membership.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/models/notify.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/models/session.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/models/settings.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/oauth/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/oauth/google.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/periodic.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/rpc/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/rpc/auth.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/rpc/device.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/rpc/member.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/rpc/notify.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/rpc/oauth.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/rpc/settings.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/settings.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/templates/email/base.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/templates/email/invite.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/templates/email/plain/base.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/templates/email/plain/invite.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/templates/email/plain/reset_code.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/templates/email/reset_code.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/templates/email/simple/invite.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/account/templates/email/simple/reset_code.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/auditlog/README +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/auditlog/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/auditlog/admin.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/auditlog/decorators.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/auditlog/middleware.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/auditlog/migrations/0001_initial.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/auditlog/migrations/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/auditlog/models.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/auditlog/periodic.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/auditlog/rpc.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/auditlog/tq.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/auditlog/urls.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/README.md +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/admin.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/handlers.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/migrations/0001_initial.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/migrations/0002_alter_message_cc.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/migrations/0003_attachment_content_type.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/migrations/0004_mailtemplate.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/migrations/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/models/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/models/bounce.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/models/complaint.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/models/message.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/models/template.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/rpc.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/utils/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/utils/parsing.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/utils/render.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/inbox/utils/sending.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/README.md +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/migrations/0001_initial.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/migrations/0002_event_component_event_component_id.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/migrations/0003_rule_action.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/migrations/0004_serverossecalert_ssh_sig_alter_rulecheck_parent.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/migrations/0005_incident_component_alter_incident_state.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/migrations/0006_delete_eventmetadata.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/migrations/0007_event_metadata.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/migrations/0008_incident_action_sent_incident_hostname_and_more.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/migrations/0009_incident_reporter_ip.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/migrations/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/models/ossec.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/models/rules.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/parsers/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/parsers/ossec.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/periodic.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/templates/email/incident_change.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/templates/email/incident_new.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/templates/email/incident_plain.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/incident/tq.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/admin.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/geolocate.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/migrations/0001_initial.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/migrations/0002_geoip_subnet_alter_geoip_ip.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/migrations/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/models/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/models/address.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/models/ip.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/models/legacy.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/models/location.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/models/track.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/providers/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/providers/iplookup/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/providers/iplookup/abstractapi.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/providers/iplookup/extremeip.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/providers/iplookup/geoplugin.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/providers/iplookup/ipapi.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/providers/iplookup/ipinfo.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/providers/iplookup/restit.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/providers/location/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/providers/location/google.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/providers/timezones/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/providers/timezones/google.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/providers/zillow.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/rpc/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/rpc/ip.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/rpc/location.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/location/rpc/track.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/admin.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/cvutil/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/cvutil/contours.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/cvutil/images.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/cvutil/misc.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/cvutil/text.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/fixtures/initial_data.json +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/fixtures/medialib.json +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/fixtures/medialib_test_fixture.json +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/forms.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/migrations/0001_initial.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/migrations/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/models.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/ocr.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/pdf.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/qrcode.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/engines/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/engines/anigif.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/engines/ffmpeg.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/engines/gifsicle.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/engines/hls.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/engines/mp4box.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/engines/rtmp/Makefile +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/engines/rtmp/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/engines/rtmp/rtmp.i +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/engines/rtmpdump.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/engines/rtmpsink.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/engines/video_getinfo.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/engines/websnap.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/exceptions.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/presets/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/presets/akamai.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/presets/animated_thumbnail.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/presets/ffmpeg.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/presets/flv.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/presets/hls.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/presets/image_transcode.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/presets/image_validate.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/presets/mp4.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/presets/video_still.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/presets/video_validate.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/presets/websnap.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/presets/youtube.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/render_utils.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/render/schedule.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/rpc/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/rpc/legacy.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/rpc/media.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/rpc/tools.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/scripts/init_config +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/css/base_medialibui.css +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/css/base_widgets.css +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/css/jquery.jcrop.css +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/img/arrow-down-white.png +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/img/bg-body.gif +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/img/cancel.gif +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/img/icon-generic.gif +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/img/icon-image.gif +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/img/icon-media.gif +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/img/icon-zip.gif +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/img/loading.gif +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/img/noimage.gif +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/img/render_err.gif +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/img/rendering.gif +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/img/star_off.png +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/img/star_on.png +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/img/unknown.gif +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/lib/caman.full.js +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/lib/hammer.min.js +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/lib/jquery.Jcrop.js +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/lib/jquery.hammer.js +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/lib/load-image.min.js +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/lib/swiper.js +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/lib/tinymce/plugins/medialib/editor_plugin.js +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/lib/tinymce/plugins/medialib/editor_plugin_src.js +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/lib/tinymce/plugins/medialib/js/dialog.js +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/static/lib/tinymce/plugins/medialib/medialib.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/apiclient/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/apiclient/channel.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/apiclient/discovery.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/apiclient/errors.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/apiclient/http.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/apiclient/mimeparse.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/apiclient/model.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/apiclient/sample_tools.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/apiclient/schema.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/filestore.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/httplib2/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/httplib2/cacerts.txt +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/httplib2/iri2uri.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/httplib2/socks.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/httpstore.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/nullstore.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/anyjson.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/appengine.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/client.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/clientsecrets.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/crypt.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/django_orm.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/file.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/gce.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/keyring_storage.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/locked_file.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/multistore_file.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/old_run.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/tools.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/util.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/oauth2client/xsrfutil.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/rtmpstore.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/s3store.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/uritemplate/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/stores/youtubestore.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/base.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/instances.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/items.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/library.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/notify_error.subject +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/notify_error.to +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/notify_error.txt +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/notify_ready.subject +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/notify_ready.to +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/notify_ready.txt +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/notify_render_error.subject +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/notify_render_error.to +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/notify_render_error.txt +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/notify_validate_error.subject +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/notify_validate_error.to +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/notify_validate_error.txt +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/smil +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/test.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/templates/medialib/testpicker.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/tests.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/tq.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/urls.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/utils.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/views.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/apiclient/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/apiclient/channel.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/apiclient/discovery.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/apiclient/errors.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/apiclient/http.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/apiclient/mimeparse.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/apiclient/model.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/apiclient/sample_tools.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/apiclient/schema.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/httplib2/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/httplib2/cacerts.txt +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/httplib2/iri2uri.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/httplib2/socks.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/anyjson.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/appengine.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/client.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/clientsecrets.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/crypt.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/django_orm.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/file.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/gce.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/keyring_storage.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/locked_file.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/multistore_file.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/old_run.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/tools.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/util.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/oauth2client/xsrfutil.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/upload.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/medialib/youtube/uritemplate/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/README.md +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/client.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/eod.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/examples/eod_example.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/management/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/management/commands/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/management/commands/delete_gauge.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/management/commands/delete_metric.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/management/commands/fix_redis_metrics_keys.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/management/commands/generate_test_metrics.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/management/commands/redis_metrics_send_mail.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/management/commands/reset_weekly_metrics.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/management/commands/system_metric.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/migrations/0001_initial.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/migrations/0002_metrics_k11_metrics_k12_metrics_k13_metrics_k14_and_more.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/migrations/0003_metrics_expires.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/migrations/0004_eodmetrics.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/migrations/0005_alter_metrics_v1_alter_metrics_v10_alter_metrics_v11_and_more.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/migrations/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/models.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/periodic.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/providers/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/providers/aws.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/rpc.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/settings.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/tq.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/metrics/utils.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/pushit/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/pushit/admin.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/pushit/migrations/0001_initial.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/pushit/migrations/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/pushit/models.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/pushit/rpc/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/pushit/rpc/githooks.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/pushit/rpc/legacy.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/pushit/rpc/products.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/pushit/static/js/models_pushit.js +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/pushit/tq.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/pushit/utils.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/.gitignore +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/README.md +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/RemoteEvents.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/arc4.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/cache.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/crypto/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/crypto/aes.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/crypto/privpub.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/crypto/util.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/datem.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/decorators.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/encryption.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/errors.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/extra/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/extra/json_metadata.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/fields.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/forms.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/helpers.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/joke.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/jwtoken.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/log.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/mail.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/mailman.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/management/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/management/commands/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/management/commands/rpc.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/middleware/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/middleware/cors.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/middleware/db_router.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/middleware/jwt.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/middleware/request.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/middleware/session.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/middleware/session_store.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/models/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/models/base.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/models/cacher.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/models/metadata.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/net.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/regexes.yaml +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/requestex.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/rpc.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/search.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/serializers/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/serializers/collection.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/serializers/csv.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/serializers/excel.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/serializers/json.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/serializers/legacy.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/serializers/model.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/serializers/profiler.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/serializers/response.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/serializers/util.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/settings_helper.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/ssl_check.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/static/lib/jquery.js +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/static/rest/app.css +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/static/rest/app.js +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/static/rest/rest.js +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/static/rest/rest.scss +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/templates/email/error.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/templates/email/error.subject +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/templates/rest_docs.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/templates/rest_html.html +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/ua.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/uberdict.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/url_docs.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/urls.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/rest/views.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/sessionlog/.gitignore +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/sessionlog/README.md +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/sessionlog/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/sessionlog/admin.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/sessionlog/migrations/0001_initial.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/sessionlog/migrations/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/sessionlog/models.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/sessionlog/tests.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/sessionlog/views.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/README.md +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/admin.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/migrations/0001_initial.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/migrations/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/models.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/periodic.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/rpc.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/tq.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/transports/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/transports/email.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/transports/http.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/transports/s3.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/transports/sftp.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/transports/sms.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/taskqueue/worker.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/telephony/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/telephony/admin.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/telephony/decorators.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/telephony/migrations/0001_initial.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/telephony/migrations/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/telephony/models.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/telephony/phone_util.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/telephony/rpc.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/migrations/0001_initial.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/migrations/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/models/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/models/faq.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/models/page.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/models/revision.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/periodic.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/renderers/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/renderers/mistune/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/renderers/mistune/highlight.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/renderers/mistune/math.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/renderers/mistune/media.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/renderers/mistune/meta.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/renderers/mistune/task_list.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/renderers/mistune/toc.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/rpc/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/rpc/wiki.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/wiki/tq.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/ws4redis/README.md +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/ws4redis/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/ws4redis/client.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/ws4redis/connection.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/ws4redis/exceptions.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/ws4redis/redis.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/ws4redis/servers/__init__.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/ws4redis/servers/base.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/ws4redis/servers/django.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/ws4redis/servers/uwsgi.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/ws4redis/settings.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/ws4redis/utf8validator.py +0 -0
- {django_restit-4.1.61 → django_restit-4.1.62}/ws4redis/websocket.py +0 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
# Generated by Django 4.1.4 on 2023-11-20 03:38
|
2
|
+
|
3
|
+
from django.db import migrations, models
|
4
|
+
|
5
|
+
|
6
|
+
class Migration(migrations.Migration):
|
7
|
+
|
8
|
+
dependencies = [
|
9
|
+
('incident', '0009_incident_reporter_ip'),
|
10
|
+
]
|
11
|
+
|
12
|
+
operations = [
|
13
|
+
migrations.AddField(
|
14
|
+
model_name='incident',
|
15
|
+
name='category',
|
16
|
+
field=models.CharField(db_index=True, default=None, max_length=124, null=True),
|
17
|
+
),
|
18
|
+
migrations.AddField(
|
19
|
+
model_name='incident',
|
20
|
+
name='component_id',
|
21
|
+
field=models.IntegerField(blank=True, db_index=True, default=None, null=True),
|
22
|
+
),
|
23
|
+
]
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# Generated by Django 4.1.4 on 2023-11-20 03:51
|
2
|
+
|
3
|
+
from django.db import migrations, models
|
4
|
+
import django.db.models.deletion
|
5
|
+
import rest.models.base
|
6
|
+
import rest.models.metadata
|
7
|
+
|
8
|
+
|
9
|
+
class Migration(migrations.Migration):
|
10
|
+
|
11
|
+
dependencies = [
|
12
|
+
('account', '0016_authsession_buid'),
|
13
|
+
('incident', '0010_incident_category_incident_component_id'),
|
14
|
+
]
|
15
|
+
|
16
|
+
operations = [
|
17
|
+
migrations.CreateModel(
|
18
|
+
name='Ticket',
|
19
|
+
fields=[
|
20
|
+
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
21
|
+
('created', models.DateTimeField(auto_now_add=True)),
|
22
|
+
('modified', models.DateTimeField(auto_now=True)),
|
23
|
+
('category', models.CharField(db_index=True, max_length=200)),
|
24
|
+
('priority', models.IntegerField(db_index=True, default=10)),
|
25
|
+
('title', models.CharField(max_length=200)),
|
26
|
+
('description', models.TextField()),
|
27
|
+
('status', models.CharField(db_index=True, default=None, max_length=32, null=True)),
|
28
|
+
('state', models.IntegerField(default=0)),
|
29
|
+
('component', models.CharField(db_index=True, default=None, max_length=200, null=True)),
|
30
|
+
('component_id', models.IntegerField(blank=True, db_index=True, default=None, null=True)),
|
31
|
+
('assigned_to', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='tickets', to='account.member')),
|
32
|
+
('created_by', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to='account.member')),
|
33
|
+
('group', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='tickets', to='account.group')),
|
34
|
+
('incident', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='tickets', to='incident.incident')),
|
35
|
+
],
|
36
|
+
bases=(models.Model, rest.models.base.RestModel, rest.models.metadata.MetaDataModel),
|
37
|
+
),
|
38
|
+
]
|
@@ -161,7 +161,10 @@ class Event(JSONMetaData, rm.RestModel):
|
|
161
161
|
incident = Incident(
|
162
162
|
rule=hit_rule, priority=priority,
|
163
163
|
reporter_ip=self.reporter_ip,
|
164
|
-
|
164
|
+
category=self.category,
|
165
|
+
component=self.component,
|
166
|
+
component_id=self.component_id,
|
167
|
+
hostname=self.hostname)
|
165
168
|
if hit_rule is not None:
|
166
169
|
incident.group = hit_rule.group
|
167
170
|
# TODO possibly make this smarter?
|
@@ -52,7 +52,12 @@ class Incident(models.Model, rm.RestModel, rm.MetaDataModel):
|
|
52
52
|
modified = models.DateTimeField(auto_now=True)
|
53
53
|
|
54
54
|
description = models.CharField(max_length=200)
|
55
|
+
|
56
|
+
category = models.CharField(max_length=124, null=True, default=None, db_index=True)
|
57
|
+
|
55
58
|
component = models.CharField(max_length=200, null=True, default=None, db_index=True)
|
59
|
+
component_id = models.IntegerField(null=True, blank=True, default=None, db_index=True)
|
60
|
+
|
56
61
|
hostname = models.CharField(max_length=200, null=True, default=None, db_index=True)
|
57
62
|
reporter_ip = models.CharField(max_length=16, blank=True, null=True, default=None, db_index=True)
|
58
63
|
|
@@ -68,7 +73,15 @@ class Incident(models.Model, rm.RestModel, rm.MetaDataModel):
|
|
68
73
|
@property
|
69
74
|
def first_event(self):
|
70
75
|
return self.events.first()
|
71
|
-
|
76
|
+
|
77
|
+
def shouldTriggerAction(self):
|
78
|
+
count = self.events.all().count()
|
79
|
+
aa = self.rule.action_after
|
80
|
+
if aa>= 0:
|
81
|
+
return aa == count-1
|
82
|
+
aa = abs(self.rule.action_after)
|
83
|
+
return (count % aa) == 0
|
84
|
+
|
72
85
|
def triggerAction(self, force=False):
|
73
86
|
if self.rule is None:
|
74
87
|
if self.action_sent is None:
|
@@ -82,7 +95,7 @@ class Incident(models.Model, rm.RestModel, rm.MetaDataModel):
|
|
82
95
|
# return
|
83
96
|
# only do query if not 0
|
84
97
|
logger.info("triggerAction", self.rule.action)
|
85
|
-
if force or self.
|
98
|
+
if force or self.shouldTriggerAction():
|
86
99
|
logger.info(f"triggering incident action: {self.rule.action}")
|
87
100
|
self.triggerAsyncNotify()
|
88
101
|
if self.rule.action is None or self.rule.action == "notify":
|
@@ -99,7 +112,9 @@ class Incident(models.Model, rm.RestModel, rm.MetaDataModel):
|
|
99
112
|
pk=self.pk,
|
100
113
|
created=time.mktime(self.created.timetuple()),
|
101
114
|
description=self.description,
|
115
|
+
category=self.category,
|
102
116
|
component=self.component,
|
117
|
+
component_id=self.component_id,
|
103
118
|
hostname=self.hostname)
|
104
119
|
if self.rule is not None:
|
105
120
|
msg["rule"] = self.rule.name
|
@@ -188,7 +203,7 @@ class Incident(models.Model, rm.RestModel, rm.MetaDataModel):
|
|
188
203
|
for k, v in self._changed__.items():
|
189
204
|
nv = self.getFieldValue(k)
|
190
205
|
notes.append(f"{k} changed from {v} to {nv}")
|
191
|
-
note = "\n".join(notes)
|
206
|
+
note = "\n<br>".join(notes)
|
192
207
|
|
193
208
|
h = IncidentHistory(
|
194
209
|
parent=self,
|
@@ -260,18 +275,16 @@ class Incident(models.Model, rm.RestModel, rm.MetaDataModel):
|
|
260
275
|
# calculate our bundle start time
|
261
276
|
when = datetime.now() - timedelta(minutes=rule.bundle)
|
262
277
|
q = objict(rule=rule, created__gte=when)
|
263
|
-
if rule.bundle_by
|
278
|
+
if rule.bundle_by in [2, 3, 5]:
|
279
|
+
if event.component_id:
|
280
|
+
q.component = event.component
|
281
|
+
q.component_id = event.component_id
|
282
|
+
if rule.bundle_by in [1, 3, 7]:
|
264
283
|
q.hostname = event.hostname
|
265
|
-
elif rule.bundle_by
|
266
|
-
q.component = event.category
|
267
|
-
elif rule.bundle_by == 3:
|
268
|
-
q.hostname = event.hostname
|
269
|
-
q.component = event.category
|
270
|
-
elif rule.bundle_by == 4:
|
271
|
-
q.reporter_ip = event.reporter_ip
|
272
|
-
elif rule.bundle_by == 5:
|
284
|
+
elif rule.bundle_by in [4, 5, 8]:
|
273
285
|
q.reporter_ip = event.reporter_ip
|
274
|
-
|
286
|
+
elif rule.bundle_by in [6, 7, 8]:
|
287
|
+
q.category = event.category
|
275
288
|
return Incident.objects.filter(**q).last()
|
276
289
|
|
277
290
|
@classmethod
|
@@ -0,0 +1,65 @@
|
|
1
|
+
from django.db import models
|
2
|
+
from django.conf import settings
|
3
|
+
|
4
|
+
from rest import models as rm
|
5
|
+
from rest import helpers as rh
|
6
|
+
|
7
|
+
|
8
|
+
class Ticket(models.Model, rm.RestModel, rm.MetaDataModel):
|
9
|
+
class RestMeta:
|
10
|
+
SEARCH_FIELDS = ["title", "description"]
|
11
|
+
CAN_DELETE = True
|
12
|
+
VIEW_PERMS = ["view_tickets"]
|
13
|
+
GRAPHS = {
|
14
|
+
"default": {
|
15
|
+
"extra": ["metadata"],
|
16
|
+
"graphs": {
|
17
|
+
"group": "basic",
|
18
|
+
"created_by": "basic",
|
19
|
+
"assigned_to": "basic",
|
20
|
+
"incident": "basic"
|
21
|
+
},
|
22
|
+
},
|
23
|
+
"detailed": {
|
24
|
+
"graphs": {
|
25
|
+
"group": "basic",
|
26
|
+
"created_by": "basic",
|
27
|
+
"assigned_to": "basic",
|
28
|
+
"incident": "basic",
|
29
|
+
"generic__component": "basic"
|
30
|
+
},
|
31
|
+
},
|
32
|
+
}
|
33
|
+
|
34
|
+
created = models.DateTimeField(auto_now_add=True)
|
35
|
+
modified = models.DateTimeField(auto_now=True)
|
36
|
+
|
37
|
+
group = models.ForeignKey(
|
38
|
+
"account.Group", on_delete=models.SET_NULL,
|
39
|
+
related_name="tickets",
|
40
|
+
null=True, default=None)
|
41
|
+
assigned_to = models.ForeignKey(
|
42
|
+
"account.Member", on_delete=models.SET_NULL,
|
43
|
+
related_name="tickets",
|
44
|
+
null=True, default=None)
|
45
|
+
created_by = models.ForeignKey(
|
46
|
+
"account.Member", on_delete=models.CASCADE,
|
47
|
+
related_name="+",
|
48
|
+
null=True, default=None)
|
49
|
+
|
50
|
+
# if category is null then this will run on all events?
|
51
|
+
category = models.CharField(max_length=200, db_index=True)
|
52
|
+
priority = models.IntegerField(default=10, db_index=True) # 1-10, 1 being the highest
|
53
|
+
|
54
|
+
title = models.CharField(max_length=200)
|
55
|
+
description = models.TextField()
|
56
|
+
|
57
|
+
status = models.CharField(max_length=32, default=None, null=True, db_index=True)
|
58
|
+
state = models.IntegerField(default=0) # how many incidents before firing action
|
59
|
+
|
60
|
+
incident = models.ForeignKey(
|
61
|
+
"incident.Incident", null=True, default=None,
|
62
|
+
related_name="tickets", on_delete=models.SET_NULL)
|
63
|
+
|
64
|
+
component = models.CharField(max_length=200, null=True, default=None, db_index=True)
|
65
|
+
component_id = models.IntegerField(null=True, blank=True, default=None, db_index=True)
|
@@ -158,3 +158,9 @@ def rest_firewall_block(request):
|
|
158
158
|
return rv.restPermissionDenied(request)
|
159
159
|
Task.Publish("incident", f"firewall_{action}", dict(ip=ip), channel="tq_broadcast")
|
160
160
|
return rv.restStatus(request, True)
|
161
|
+
|
162
|
+
|
163
|
+
@rd.url('ticket')
|
164
|
+
@rd.url('ticket/<int:pk>')
|
165
|
+
def rest_on_ticket(request, pk=None):
|
166
|
+
return am.Ticket.on_rest_request(request, pk)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0003_member_phone_number.py
RENAMED
File without changes
|
File without changes
|
{django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0005_member_auth_code_expires.py
RENAMED
File without changes
|
{django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0006_member_security_token.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0009_alter_member_phone_number.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.1.61 → django_restit-4.1.62}/account/migrations/0012_settings_settingsmetadata.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
|
{django_restit-4.1.61 → django_restit-4.1.62}/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
|
{django_restit-4.1.61 → django_restit-4.1.62}/inbox/migrations/0003_attachment_content_type.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
|
{django_restit-4.1.61 → django_restit-4.1.62}/incident/migrations/0006_delete_eventmetadata.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.1.61 → django_restit-4.1.62}/incident/migrations/0009_incident_reporter_ip.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
|