django-restit 4.2.137__tar.gz → 4.2.138__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {django_restit-4.2.137 → django_restit-4.2.138}/PKG-INFO +1 -1
- {django_restit-4.2.137 → django_restit-4.2.138}/pushit/models.py +21 -36
- django_restit-4.2.138/pushit/rpc/products.py +23 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/pyproject.toml +1 -1
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/__init__.py +1 -1
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/models.py +6 -2
- {django_restit-4.2.137 → django_restit-4.2.138}/ws4redis/connection.py +12 -6
- {django_restit-4.2.137 → django_restit-4.2.138}/ws4redis/servers/django.py +1 -1
- {django_restit-4.2.137 → django_restit-4.2.138}/ws4redis/settings.py +1 -0
- django_restit-4.2.137/pushit/rpc/products.py +0 -15
- {django_restit-4.2.137 → django_restit-4.2.138}/LICENSE.md +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/README.md +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/admin.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/fcm/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/fcm/legacy.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/fcm/v1.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0001_initial.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0003_member_phone_number.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0004_group_modified_alter_group_created.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0005_member_auth_code_expires.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0006_member_security_token.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0007_authtoken_signature_authsession.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0008_memberdevice_memberdevicemetadata.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0009_alter_member_phone_number.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0010_delete_authtoken.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0011_authtoken.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0012_settings_settingsmetadata.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0013_memberdevice_ip.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0014_alter_notificationmemberrecord_member.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0015_memberdevice_buid.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0016_authsession_buid.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0017_rename_requires_topt_member_requires_totp.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0018_userpasskey.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0019_group_location.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0020_cloudcredentials_cloudcredentialsmetadata.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0021_alter_cloudcredentials_group.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0022_alter_memberdevice_modified.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/models/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/models/device.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/models/feeds.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/models/group.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/models/legacy.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/models/member.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/models/membership.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/models/notify.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/models/passkeys.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/models/session.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/models/settings.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/oauth/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/oauth/google.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/passkeys/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/passkeys/core.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/periodic.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/rpc/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/rpc/auth.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/rpc/device.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/rpc/group.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/rpc/member.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/rpc/notify.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/rpc/oauth.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/rpc/passkeys.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/rpc/settings.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/settings.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/templates/email/base.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/templates/email/invite.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/templates/email/plain/base.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/templates/email/plain/invite.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/templates/email/plain/reset_code.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/templates/email/reset_code.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/templates/email/simple/invite.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/templates/email/simple/reset_code.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/account/templates/unsubscribed.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/auditlog/README +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/auditlog/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/auditlog/admin.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/auditlog/cloudwatch.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/auditlog/decorators.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/auditlog/middleware.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/auditlog/migrations/0001_initial.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/auditlog/migrations/0002_alter_persistentlog_session.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/auditlog/migrations/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/auditlog/models.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/auditlog/periodic.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/auditlog/rpc.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/auditlog/tq.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/auditlog/urls.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/README.md +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/admin.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/handlers.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/migrations/0001_initial.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/migrations/0002_alter_message_cc.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/migrations/0003_attachment_content_type.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/migrations/0004_mailtemplate.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/migrations/0005_alter_mailbox_state.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/migrations/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/models/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/models/bounce.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/models/complaint.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/models/message.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/models/template.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/rpc.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/utils/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/utils/parsing.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/utils/render.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/inbox/utils/sending.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/README.md +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0001_initial.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0002_event_component_event_component_id.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0003_rule_action.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0004_serverossecalert_ssh_sig_alter_rulecheck_parent.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0005_incident_component_alter_incident_state.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0006_delete_eventmetadata.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0007_event_metadata.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0008_incident_action_sent_incident_hostname_and_more.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0009_incident_reporter_ip.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0010_incident_category_incident_component_id.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0011_ticket.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0012_rule_match_by.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0013_rulecheck_is_required.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0014_event_group_alter_rulecheck_index.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0015_rule_title_template_alter_incident_state.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/models/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/models/event.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/models/incident.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/models/ossec.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/models/rules.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/models/ticket.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/parsers/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/parsers/ossec.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/periodic.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/rpc.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/templates/email/incident_change.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/templates/email/incident_msg.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/templates/email/incident_new.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/templates/email/incident_plain.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/incident/tq.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/admin.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/geolocate.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/migrations/0001_initial.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/migrations/0002_geoip_subnet_alter_geoip_ip.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/migrations/0003_address_postalcode_suffix.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/migrations/0004_remove_address_modified_by_address_group_and_more.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/migrations/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/models/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/models/address.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/models/ip.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/models/legacy.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/models/location.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/models/track.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/providers/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/providers/iplookup/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/providers/iplookup/abstractapi.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/providers/iplookup/extremeip.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/providers/iplookup/geoplugin.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/providers/iplookup/ipapi.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/providers/iplookup/ipinfo.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/providers/iplookup/restit.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/providers/location/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/providers/location/google.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/providers/timezones/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/providers/timezones/google.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/providers/zillow.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/rpc/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/rpc/address.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/rpc/ip.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/rpc/location.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/location/rpc/track.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/admin.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/caching.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/cvutil/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/cvutil/contours.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/cvutil/images.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/cvutil/misc.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/cvutil/text.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/fixtures/initial_data.json +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/fixtures/medialib.json +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/fixtures/medialib_test_fixture.json +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/forms.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/migrations/0001_initial.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/migrations/0002_alter_mediaitemrendition_bytes.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/migrations/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/models.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/ocr.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/pdf.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/qrcode.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/engines/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/engines/anigif.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/engines/ffmpeg.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/engines/gifsicle.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/engines/hls.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/engines/mp4box.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/engines/rtmp/Makefile +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/engines/rtmp/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/engines/rtmp/rtmp.i +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/engines/rtmpdump.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/engines/rtmpsink.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/engines/video_getinfo.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/engines/websnap.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/exceptions.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/presets/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/presets/akamai.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/presets/animated_thumbnail.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/presets/ffmpeg.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/presets/flv.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/presets/hls.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/presets/image_transcode.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/presets/image_validate.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/presets/mp4.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/presets/video_still.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/presets/video_validate.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/presets/websnap.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/presets/youtube.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/render_utils.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/render/schedule.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/rpc/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/rpc/legacy.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/rpc/media.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/rpc/tools.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/scripts/init_config +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/css/base_medialibui.css +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/css/base_widgets.css +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/css/jquery.jcrop.css +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/img/arrow-down-white.png +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/img/bg-body.gif +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/img/cancel.gif +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/img/icon-generic.gif +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/img/icon-image.gif +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/img/icon-media.gif +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/img/icon-zip.gif +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/img/loading.gif +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/img/noimage.gif +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/img/render_err.gif +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/img/rendering.gif +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/img/star_off.png +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/img/star_on.png +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/img/unknown.gif +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/lib/caman.full.js +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/lib/hammer.min.js +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/lib/jquery.Jcrop.js +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/lib/jquery.hammer.js +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/lib/load-image.min.js +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/lib/swiper.js +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/lib/tinymce/plugins/medialib/editor_plugin.js +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/lib/tinymce/plugins/medialib/editor_plugin_src.js +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/lib/tinymce/plugins/medialib/js/dialog.js +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/static/lib/tinymce/plugins/medialib/medialib.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/apiclient/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/apiclient/channel.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/apiclient/discovery.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/apiclient/errors.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/apiclient/http.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/apiclient/mimeparse.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/apiclient/model.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/apiclient/sample_tools.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/apiclient/schema.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/filestore.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/httplib2/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/httplib2/cacerts.txt +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/httplib2/iri2uri.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/httplib2/socks.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/httpstore.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/nullstore.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/anyjson.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/appengine.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/client.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/clientsecrets.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/crypt.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/django_orm.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/file.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/gce.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/keyring_storage.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/locked_file.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/multistore_file.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/old_run.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/tools.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/util.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/oauth2client/xsrfutil.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/rtmpstore.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/s3.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/s3store.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/uritemplate/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/stores/youtubestore.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/base.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/instances.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/items.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/library.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/notify_error.subject +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/notify_error.to +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/notify_error.txt +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/notify_ready.subject +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/notify_ready.to +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/notify_ready.txt +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/notify_render_error.subject +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/notify_render_error.to +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/notify_render_error.txt +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/notify_validate_error.subject +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/notify_validate_error.to +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/notify_validate_error.txt +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/smil +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/test.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/templates/medialib/testpicker.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/tests.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/tq.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/urls.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/utils.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/views.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/apiclient/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/apiclient/channel.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/apiclient/discovery.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/apiclient/errors.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/apiclient/http.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/apiclient/mimeparse.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/apiclient/model.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/apiclient/sample_tools.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/apiclient/schema.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/httplib2/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/httplib2/cacerts.txt +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/httplib2/iri2uri.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/httplib2/socks.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/anyjson.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/appengine.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/client.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/clientsecrets.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/crypt.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/django_orm.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/file.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/gce.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/keyring_storage.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/locked_file.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/multistore_file.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/old_run.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/tools.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/util.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/oauth2client/xsrfutil.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/upload.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/medialib/youtube/uritemplate/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/README.md +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/client.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/eod.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/examples/eod_example.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/management/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/management/commands/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/management/commands/delete_gauge.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/management/commands/delete_metric.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/management/commands/fix_redis_metrics_keys.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/management/commands/generate_test_metrics.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/management/commands/redis_metrics_send_mail.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/management/commands/reset_weekly_metrics.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/management/commands/system_metric.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/migrations/0001_initial.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/migrations/0002_metrics_k11_metrics_k12_metrics_k13_metrics_k14_and_more.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/migrations/0003_metrics_expires.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/migrations/0004_eodmetrics.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/migrations/0005_alter_metrics_v1_alter_metrics_v10_alter_metrics_v11_and_more.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/migrations/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/models.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/periodic.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/providers/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/providers/aws.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/rpc.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/settings.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/tq.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/metrics/utils.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/pushit/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/pushit/admin.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/pushit/migrations/0001_initial.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/pushit/migrations/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/pushit/rpc/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/pushit/rpc/githooks.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/pushit/rpc/legacy.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/pushit/static/js/models_pushit.js +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/pushit/tq.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/pushit/utils.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/.gitignore +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/README.md +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/RemoteEvents.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/arc4.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/cache.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/crypto/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/crypto/aes.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/crypto/privpub.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/crypto/util.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/datem.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/decorators.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/encryption.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/errors.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/extra/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/extra/hostinfo.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/extra/json_metadata.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/fields.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/forms.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/helpers.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/joke.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/jwtoken.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/log.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/mail.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/mailman.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/management/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/management/commands/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/management/commands/rpc.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/middleware/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/middleware/cors.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/middleware/db_router.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/middleware/jwt.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/middleware/request.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/middleware/session.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/middleware/session_store.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/models/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/models/base.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/models/cacher.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/models/metadata.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/net.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/regexes.yaml +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/requestex.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/rpc.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/search.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/serializers/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/serializers/collection.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/serializers/csv.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/serializers/excel.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/serializers/json.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/serializers/legacy.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/serializers/localizers.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/serializers/model.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/serializers/profiler.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/serializers/response.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/serializers/util.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/settings_helper.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/ssl_check.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/static/lib/jquery.js +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/static/rest/app.css +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/static/rest/app.js +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/static/rest/rest.js +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/static/rest/rest.scss +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/templates/email/error.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/templates/email/error.subject +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/templates/rest_docs.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/templates/rest_html.html +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/ua.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/uberdict.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/url_docs.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/urls.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/rest/views.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/sessionlog/.gitignore +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/sessionlog/README.md +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/sessionlog/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/sessionlog/admin.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/sessionlog/migrations/0001_initial.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/sessionlog/migrations/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/sessionlog/models.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/sessionlog/tests.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/sessionlog/views.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/README.md +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/admin.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/migrations/0001_initial.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/migrations/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/periodic.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/rpc.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/tq.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/transports/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/transports/email.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/transports/http.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/transports/s3.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/transports/sftp.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/transports/sms.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/taskqueue/worker.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/telephony/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/telephony/admin.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/telephony/decorators.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/telephony/migrations/0001_initial.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/telephony/migrations/0002_alter_sms_sid.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/telephony/migrations/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/telephony/models.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/telephony/phone_util.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/telephony/rpc.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/migrations/0001_initial.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/migrations/0002_alter_pagemedia_entry.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/migrations/0003_page_perms.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/migrations/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/models/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/models/faq.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/models/page.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/models/revision.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/periodic.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/renderers/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/renderers/mistune/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/renderers/mistune/highlight.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/renderers/mistune/math.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/renderers/mistune/media.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/renderers/mistune/meta.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/renderers/mistune/task_list.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/renderers/mistune/toc.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/rpc/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/rpc/wiki.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/wiki/tq.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/ws4redis/README.md +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/ws4redis/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/ws4redis/client.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/ws4redis/exceptions.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/ws4redis/redis.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/ws4redis/servers/__init__.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/ws4redis/servers/base.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/ws4redis/servers/uwsgi.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/ws4redis/utf8validator.py +0 -0
- {django_restit-4.2.137 → django_restit-4.2.138}/ws4redis/websocket.py +0 -0
@@ -12,6 +12,7 @@ from rest.middleware import get_request
|
|
12
12
|
from rest import RemoteEvents
|
13
13
|
from rest.models import RestModel, MetaDataModel, MetaDataBase
|
14
14
|
|
15
|
+
|
15
16
|
class Product(models.Model, RestModel, MetaDataModel):
|
16
17
|
class RestMeta:
|
17
18
|
GRAPHS = {
|
@@ -27,7 +28,6 @@ class Product(models.Model, RestModel, MetaDataModel):
|
|
27
28
|
"current":"default",
|
28
29
|
"beta":"default",
|
29
30
|
},
|
30
|
-
"recurse_into":[("getReleases", "versions")],
|
31
31
|
"exclude":["library"]
|
32
32
|
}
|
33
33
|
}
|
@@ -73,6 +73,7 @@ class Product(models.Model, RestModel, MetaDataModel):
|
|
73
73
|
class ProductMetaData(MetaDataBase):
|
74
74
|
parent = models.ForeignKey(Product, related_name="properties", on_delete=models.CASCADE)
|
75
75
|
|
76
|
+
|
76
77
|
class Release(models.Model, RestModel, MetaDataModel):
|
77
78
|
class RestMeta:
|
78
79
|
GRAPHS = {
|
@@ -84,11 +85,9 @@ class Release(models.Model, RestModel, MetaDataModel):
|
|
84
85
|
|
85
86
|
POST_SAVE_FIELDS = ["media"]
|
86
87
|
|
87
|
-
|
88
88
|
created = models.DateTimeField(auto_now_add=True, editable=False)
|
89
89
|
modified = models.DateTimeField(auto_now=True)
|
90
90
|
owner = models.ForeignKey(Member, related_name="+", on_delete=models.CASCADE)
|
91
|
-
|
92
91
|
product = models.ForeignKey(Product, related_name="releases", on_delete=models.CASCADE)
|
93
92
|
|
94
93
|
notes = models.TextField(blank=True, null=True, default=None)
|
@@ -97,6 +96,14 @@ class Release(models.Model, RestModel, MetaDataModel):
|
|
97
96
|
|
98
97
|
media = models.ForeignKey(MediaItem, on_delete=models.PROTECT, blank=True, null=True, default=None)
|
99
98
|
|
99
|
+
def set_product(self, value):
|
100
|
+
if isinstance(value, str):
|
101
|
+
self.product = Product.objects.filter(oid=value).last()
|
102
|
+
elif isinstance(value, int):
|
103
|
+
self.product = Product.objects.filter(pk=value).last()
|
104
|
+
else:
|
105
|
+
self.product = value
|
106
|
+
|
100
107
|
def makeCurrent(self):
|
101
108
|
self.product.current = self
|
102
109
|
self.product.save()
|
@@ -110,36 +117,14 @@ class Release(models.Model, RestModel, MetaDataModel):
|
|
110
117
|
return self.media.url()
|
111
118
|
return None
|
112
119
|
|
113
|
-
def
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
request = get_request()
|
125
|
-
name = request.DATA.get("media_name", "test.txt")
|
126
|
-
kind = MediaItem.guessMediaKind(value)
|
127
|
-
media = MediaItem(library=self.product.getLibrary(), name=name, owner=self.product.owner, kind=kind, base64_data=value)
|
128
|
-
media.save()
|
129
|
-
self.media = media
|
130
|
-
|
131
|
-
# upload__ called for files
|
132
|
-
def upload__media(self, value, name):
|
133
|
-
if value is None:
|
134
|
-
return
|
135
|
-
|
136
|
-
kind = MediaItem.guessMediaKind(value)
|
137
|
-
media = MediaItem(library=self.product.getLibrary(), name=name, owner=self.product.owner, kind=kind, newfile=value)
|
138
|
-
media.save()
|
139
|
-
self.media = media
|
140
|
-
|
141
|
-
def __unicode__(self):
|
142
|
-
return "{0} - {1}".format(self.product.name, self.version_str)
|
143
|
-
|
144
|
-
|
145
|
-
|
120
|
+
def on_rest_pre_save(self, request, **kwargs):
|
121
|
+
self.owner = self.product.owner
|
122
|
+
if self.version_num == 1:
|
123
|
+
lr = Release.objects.filter(product=self.product).last()
|
124
|
+
if lr is not None:
|
125
|
+
self.version_num = lr.version_num + 1
|
126
|
+
|
127
|
+
def on_rest_saved(self, request, is_new=False):
|
128
|
+
if is_new:
|
129
|
+
self.product.current = self
|
130
|
+
self.product.save()
|
@@ -0,0 +1,23 @@
|
|
1
|
+
from rest import decorators as rd
|
2
|
+
from rest import views as rv
|
3
|
+
from pushit.models import Product, Release
|
4
|
+
|
5
|
+
|
6
|
+
@rd.url('product')
|
7
|
+
@rd.url('product/<str:pk>')
|
8
|
+
def rest_on_product(request, pk=None):
|
9
|
+
if pk is not None:
|
10
|
+
if isinstance(pk, str) and not pk.isdigit():
|
11
|
+
obj = Product.objects.filter(oid=pk).last()
|
12
|
+
if obj is not None:
|
13
|
+
if request.method == "GET":
|
14
|
+
return obj.on_rest_get(request)
|
15
|
+
elif request.method == "POST":
|
16
|
+
return obj.on_rest_post(request)
|
17
|
+
return Product.on_rest_request(request, pk)
|
18
|
+
|
19
|
+
|
20
|
+
@rd.url('release')
|
21
|
+
@rd.url('release/<int:pk>')
|
22
|
+
def rest_on_release(request, pk=None):
|
23
|
+
return Release.on_rest_request(request, pk)
|
@@ -212,8 +212,12 @@ class Task(models.Model, RestModel):
|
|
212
212
|
else:
|
213
213
|
bof = TQ_RETRY_BACKOFF_FACTOR
|
214
214
|
delay = TQ_RETRY_DELAY
|
215
|
-
attempts = self.attempts -
|
216
|
-
|
215
|
+
attempts = self.attempts - 2
|
216
|
+
if attempts == -1:
|
217
|
+
# retry first attempt right away
|
218
|
+
from_now_secs = 1
|
219
|
+
else:
|
220
|
+
from_now_secs = delay * (bof ** attempts)
|
217
221
|
if from_now_secs is not None:
|
218
222
|
# this will not run the task again until after this time has been hit
|
219
223
|
self.scheduled_for = datetime.now() + timedelta(seconds=from_now_secs)
|
@@ -14,6 +14,7 @@ logger = getLogger("async", filename="async.log")
|
|
14
14
|
MODEL_CACHE = dict() # caching of app.Model for faster access
|
15
15
|
|
16
16
|
ALLOW_ANY_FACILITY = not private_settings.WS4REDIS_FACILITIES
|
17
|
+
DISCONNECT_AFTER_NO_CREDS = 30
|
17
18
|
|
18
19
|
|
19
20
|
def getRemoteIP(request):
|
@@ -37,10 +38,15 @@ class WebsocketConnection():
|
|
37
38
|
self.redis = RedisStore(server._redis_connection)
|
38
39
|
self.websocket = server.upgrade_websocket(environ, start_response)
|
39
40
|
self.last_beat = time.time()
|
41
|
+
self.conneted_time = time.time()
|
40
42
|
self.last_msg = None
|
41
43
|
self._heart_beat = util.toString(private_settings.WS4REDIS_HEARTBEAT)
|
42
44
|
self.debug = private_settings.WS4REDIS_LOG_DEBUG
|
43
45
|
|
46
|
+
@property
|
47
|
+
def elapsed_time(self):
|
48
|
+
return time.time() - self.conneted_time
|
49
|
+
|
44
50
|
def refreshFDs(self):
|
45
51
|
if len(self.listening_fds) == 1:
|
46
52
|
sub_sd = self.redis.get_file_descriptor()
|
@@ -160,6 +166,7 @@ class WebsocketConnection():
|
|
160
166
|
return True
|
161
167
|
Model = self.getAppModel(ch_model)
|
162
168
|
if not hasattr(Model, "canPublishTo"):
|
169
|
+
logger.warning("canPublishTo", "no canPublishTo")
|
163
170
|
return False
|
164
171
|
return Model.canPublishTo(self.credentials, msg)
|
165
172
|
|
@@ -201,7 +208,7 @@ class WebsocketConnection():
|
|
201
208
|
|
202
209
|
def on_channel_msg(self, msg):
|
203
210
|
if not self.canPublishTo(msg):
|
204
|
-
logger.warning("on_channel_msg permission denied", msg)
|
211
|
+
logger.warning("on_channel_msg permission denied", msg, private_settings.WS4REDIS_CHANNELS)
|
205
212
|
self.sendToWS(msg.channel, dict(error="cannot publish to channel"))
|
206
213
|
return None
|
207
214
|
ch_model = private_settings.WS4REDIS_CHANNELS.get(msg.channel, None)
|
@@ -310,18 +317,17 @@ class WebsocketConnection():
|
|
310
317
|
self.listening_fds = [websocket_fd]
|
311
318
|
if callable(private_settings.URL_AUTHENTICATOR):
|
312
319
|
private_settings.URL_AUTHENTICATOR(self)
|
313
|
-
|
314
|
-
|
320
|
+
|
315
321
|
while self.websocket and not self.websocket.closed:
|
316
322
|
ready = self.server.select(self.listening_fds, [], [], 4.0)[0]
|
317
323
|
if not ready:
|
318
324
|
self.websocket.flush()
|
319
325
|
if not self.credentials:
|
320
|
-
|
321
|
-
if no_cred_count > 10:
|
326
|
+
if self.elapsed_time > 8 and self.elapsed_time < 30:
|
322
327
|
logger.error(f"{self.ip} has sent no credentials", self.ua)
|
323
|
-
no_cred_count = 0
|
324
328
|
self.sendToWS("member", dict(error="no credentials received"))
|
329
|
+
elif private_settings.WS4REDIS_NOAUTH_CLOSE and self.elapsed_time > 30:
|
330
|
+
self.release()
|
325
331
|
|
326
332
|
for fd in ready:
|
327
333
|
if fd == websocket_fd:
|
@@ -166,7 +166,7 @@ _websocket_url = getattr(settings, 'WEBSOCKET_URL')
|
|
166
166
|
|
167
167
|
def application(environ, start_response):
|
168
168
|
if _websocket_url and environ.get('PATH_INFO').startswith(_websocket_url):
|
169
|
-
logger.info("environ", environ)
|
169
|
+
# logger.info("environ", environ)
|
170
170
|
return _websocket_app(environ, start_response)
|
171
171
|
return _django_app(environ, start_response)
|
172
172
|
|
@@ -42,3 +42,4 @@ WS4REDIS_AUTHENTICATORS = getattr(settings, "WS4REDIS_AUTHENTICATORS", {})
|
|
42
42
|
URL_AUTHENTICATOR = getattr(settings, "URL_AUTHENTICATOR", None)
|
43
43
|
|
44
44
|
WS4REDIS_LOG_DEBUG = getattr(settings, 'WS4REDIS_LOG_DEBUG', False)
|
45
|
+
WS4REDIS_NOAUTH_CLOSE = getattr(settings, 'WS4REDIS_NOAUTH_CLOSE', False)
|
@@ -1,15 +0,0 @@
|
|
1
|
-
from rest import decorators as rd
|
2
|
-
from rest import views as rv
|
3
|
-
from pushit.models import Product, Release
|
4
|
-
|
5
|
-
|
6
|
-
@rd.url('product')
|
7
|
-
@rd.url('product/<int:pk>')
|
8
|
-
def rest_on_product(request, pk=None):
|
9
|
-
return Product.on_rest_request(request, pk)
|
10
|
-
|
11
|
-
|
12
|
-
@rd.url('release')
|
13
|
-
@rd.url('release/<int:pk>')
|
14
|
-
def rest_on_release(request, pk=None):
|
15
|
-
return Release.on_rest_request(request, pk)
|
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.137 → django_restit-4.2.138}/account/migrations/0003_member_phone_number.py
RENAMED
File without changes
|
File without changes
|
{django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0005_member_auth_code_expires.py
RENAMED
File without changes
|
{django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0006_member_security_token.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0009_alter_member_phone_number.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.137 → django_restit-4.2.138}/account/migrations/0012_settings_settingsmetadata.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.137 → django_restit-4.2.138}/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.137 → django_restit-4.2.138}/account/templates/email/plain/reset_code.html
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.137 → django_restit-4.2.138}/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.137 → django_restit-4.2.138}/inbox/migrations/0003_attachment_content_type.py
RENAMED
File without changes
|
File without changes
|
{django_restit-4.2.137 → django_restit-4.2.138}/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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0006_delete_eventmetadata.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0009_incident_reporter_ip.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.137 → django_restit-4.2.138}/incident/migrations/0013_rulecheck_is_required.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.137 → django_restit-4.2.138}/incident/templates/email/incident_change.html
RENAMED
File without changes
|
File without changes
|
File without changes
|
{django_restit-4.2.137 → django_restit-4.2.138}/incident/templates/email/incident_plain.html
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|