igs-slm 0.1.0b0__py3-none-any.whl
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.
- igs_slm-0.1.0b0.dist-info/LICENSE +21 -0
- igs_slm-0.1.0b0.dist-info/METADATA +151 -0
- igs_slm-0.1.0b0.dist-info/RECORD +447 -0
- igs_slm-0.1.0b0.dist-info/WHEEL +4 -0
- igs_slm-0.1.0b0.dist-info/entry_points.txt +3 -0
- igs_tools/__init__.py +0 -0
- igs_tools/connection.py +88 -0
- igs_tools/defines/__init__.py +8 -0
- igs_tools/defines/constellation.py +21 -0
- igs_tools/defines/data_center.py +75 -0
- igs_tools/defines/rinex.py +49 -0
- igs_tools/directory.py +247 -0
- igs_tools/utils.py +66 -0
- slm/__init__.py +21 -0
- slm/admin.py +674 -0
- slm/api/edit/__init__.py +0 -0
- slm/api/edit/serializers.py +316 -0
- slm/api/edit/views.py +1632 -0
- slm/api/fields.py +89 -0
- slm/api/filter.py +504 -0
- slm/api/pagination.py +55 -0
- slm/api/permissions.py +65 -0
- slm/api/public/__init__.py +0 -0
- slm/api/public/serializers.py +249 -0
- slm/api/public/views.py +606 -0
- slm/api/serializers.py +132 -0
- slm/api/views.py +148 -0
- slm/apps.py +323 -0
- slm/authentication.py +198 -0
- slm/bin/__init__.py +0 -0
- slm/bin/startproject.py +262 -0
- slm/bin/templates/{{ project_dir }}/pyproject.toml +35 -0
- slm/bin/templates/{{ project_dir }}/sites/__init__.py +0 -0
- slm/bin/templates/{{ project_dir }}/sites/{{ site }}/__init__.py +0 -0
- slm/bin/templates/{{ project_dir }}/sites/{{ site }}/base.py +15 -0
- slm/bin/templates/{{ project_dir }}/sites/{{ site }}/develop/__init__.py +56 -0
- slm/bin/templates/{{ project_dir }}/sites/{{ site }}/develop/local.py +4 -0
- slm/bin/templates/{{ project_dir }}/sites/{{ site }}/develop/wsgi.py +16 -0
- slm/bin/templates/{{ project_dir }}/sites/{{ site }}/manage.py +34 -0
- slm/bin/templates/{{ project_dir }}/sites/{{ site }}/production/__init__.py +61 -0
- slm/bin/templates/{{ project_dir }}/sites/{{ site }}/production/wsgi.py +16 -0
- slm/bin/templates/{{ project_dir }}/sites/{{ site }}/urls.py +7 -0
- slm/bin/templates/{{ project_dir }}/sites/{{ site }}/validation.py +11 -0
- slm/bin/templates/{{ project_dir }}/{{ extension_app }}/__init__.py +0 -0
- slm/bin/templates/{{ project_dir }}/{{ extension_app }}/admin.py +5 -0
- slm/bin/templates/{{ project_dir }}/{{ extension_app }}/apps.py +14 -0
- slm/bin/templates/{{ project_dir }}/{{ extension_app }}/management/__init__.py +0 -0
- slm/bin/templates/{{ project_dir }}/{{ extension_app }}/management/commands/__init__.py +0 -0
- slm/bin/templates/{{ project_dir }}/{{ extension_app }}/management/commands/import_archive.py +64 -0
- slm/bin/templates/{{ project_dir }}/{{ extension_app }}/migrations/__init__.py +0 -0
- slm/bin/templates/{{ project_dir }}/{{ extension_app }}/models.py +6 -0
- slm/bin/templates/{{ project_dir }}/{{ extension_app }}/templates/slm/base.html +8 -0
- slm/bin/templates/{{ project_dir }}/{{ extension_app }}/urls.py +10 -0
- slm/bin/templates/{{ project_dir }}/{{ extension_app }}/views.py +5 -0
- slm/defines/AlertLevel.py +24 -0
- slm/defines/AntennaCalibration.py +25 -0
- slm/defines/AntennaFeatures.py +27 -0
- slm/defines/AntennaReferencePoint.py +22 -0
- slm/defines/Aspiration.py +13 -0
- slm/defines/CardinalDirection.py +19 -0
- slm/defines/CollocationStatus.py +12 -0
- slm/defines/EquipmentState.py +22 -0
- slm/defines/FlagSeverity.py +14 -0
- slm/defines/FractureSpacing.py +15 -0
- slm/defines/FrequencyStandardType.py +15 -0
- slm/defines/GeodesyMLVersion.py +48 -0
- slm/defines/ISOCountry.py +1194 -0
- slm/defines/Instrumentation.py +19 -0
- slm/defines/LogEntryType.py +30 -0
- slm/defines/SLMFileType.py +18 -0
- slm/defines/SiteFileUploadStatus.py +61 -0
- slm/defines/SiteLogFormat.py +49 -0
- slm/defines/SiteLogStatus.py +78 -0
- slm/defines/TectonicPlates.py +28 -0
- slm/defines/__init__.py +46 -0
- slm/forms.py +1126 -0
- slm/jinja2/slm/sitelog/ascii_9char.log +346 -0
- slm/jinja2/slm/sitelog/legacy.log +346 -0
- slm/jinja2/slm/sitelog/xsd/0.4/collocationInformation.xml +12 -0
- slm/jinja2/slm/sitelog/xsd/0.4/condition.xml +12 -0
- slm/jinja2/slm/sitelog/xsd/0.4/contact.xml +52 -0
- slm/jinja2/slm/sitelog/xsd/0.4/formInformation.xml +5 -0
- slm/jinja2/slm/sitelog/xsd/0.4/frequencyStandard.xml +12 -0
- slm/jinja2/slm/sitelog/xsd/0.4/gnssAntenna.xml +16 -0
- slm/jinja2/slm/sitelog/xsd/0.4/gnssReceiver.xml +11 -0
- slm/jinja2/slm/sitelog/xsd/0.4/humiditySensor.xml +13 -0
- slm/jinja2/slm/sitelog/xsd/0.4/localEpisodicEffect.xml +10 -0
- slm/jinja2/slm/sitelog/xsd/0.4/moreInformation.xml +22 -0
- slm/jinja2/slm/sitelog/xsd/0.4/multipathSource.xml +10 -0
- slm/jinja2/slm/sitelog/xsd/0.4/otherInstrumentation.xml +5 -0
- slm/jinja2/slm/sitelog/xsd/0.4/pressureSensor.xml +12 -0
- slm/jinja2/slm/sitelog/xsd/0.4/radioInterference.xml +11 -0
- slm/jinja2/slm/sitelog/xsd/0.4/sensor.xml +16 -0
- slm/jinja2/slm/sitelog/xsd/0.4/signalObstruction.xml +10 -0
- slm/jinja2/slm/sitelog/xsd/0.4/siteIdentification.xml +22 -0
- slm/jinja2/slm/sitelog/xsd/0.4/siteLocation.xml +21 -0
- slm/jinja2/slm/sitelog/xsd/0.4/surveyedLocalTie.xml +20 -0
- slm/jinja2/slm/sitelog/xsd/0.4/temperatureSensor.xml +13 -0
- slm/jinja2/slm/sitelog/xsd/0.4/waterVaporSensor.xml +11 -0
- slm/jinja2/slm/sitelog/xsd/0.5/document.xml +10 -0
- slm/jinja2/slm/sitelog/xsd/geodesyml_0.4.xml +99 -0
- slm/jinja2/slm/sitelog/xsd/geodesyml_0.5.xml +112 -0
- slm/management/__init__.py +0 -0
- slm/management/commands/__init__.py +53 -0
- slm/management/commands/build_index.py +96 -0
- slm/management/commands/generate_sinex.py +675 -0
- slm/management/commands/head_from_index.py +541 -0
- slm/management/commands/import_archive.py +908 -0
- slm/management/commands/import_equipment.py +351 -0
- slm/management/commands/set_site.py +56 -0
- slm/management/commands/sitelog.py +144 -0
- slm/management/commands/synchronize.py +60 -0
- slm/management/commands/update_data_availability.py +167 -0
- slm/management/commands/validate_db.py +186 -0
- slm/management/commands/validate_gml.py +73 -0
- slm/map/__init__.py +1 -0
- slm/map/admin.py +5 -0
- slm/map/api/__init__.py +0 -0
- slm/map/api/edit/__init__.py +0 -0
- slm/map/api/edit/serializers.py +28 -0
- slm/map/api/edit/views.py +46 -0
- slm/map/api/public/__init__.py +0 -0
- slm/map/api/public/serializers.py +29 -0
- slm/map/api/public/views.py +64 -0
- slm/map/apps.py +7 -0
- slm/map/defines.py +53 -0
- slm/map/migrations/0001_initial.py +115 -0
- slm/map/migrations/__init__.py +0 -0
- slm/map/models.py +63 -0
- slm/map/static/slm/css/map.css +86 -0
- slm/map/static/slm/js/map.js +159 -0
- slm/map/templates/slm/map.html +374 -0
- slm/map/templates/slm/station/base.html +11 -0
- slm/map/templates/slm/station/edit.html +10 -0
- slm/map/templates/slm/top_nav.html +17 -0
- slm/map/templatetags/__init__.py +0 -0
- slm/map/templatetags/slm_map.py +18 -0
- slm/map/urls.py +25 -0
- slm/map/views.py +36 -0
- slm/middleware.py +29 -0
- slm/migrations/0001_alter_siteantenna_marker_enu_alter_sitelocation_llh_and_more.py +47 -0
- slm/migrations/0001_initial.py +4826 -0
- slm/migrations/0002_alter_dataavailability_site.py +22 -0
- slm/migrations/0003_remove_logentry_slm_logentr_site_lo_7a2af7_idx_and_more.py +80 -0
- slm/migrations/0004_alter_logentry_timestamp_and_more.py +25 -0
- slm/migrations/0005_alter_logentry_options_alter_logentry_section_and_more.py +46 -0
- slm/migrations/0006_alter_logentry_options_alter_logentry_index_together.py +24 -0
- slm/migrations/0007_alter_dataavailability_rate.py +23 -0
- slm/migrations/0008_alter_archiveindex_options_and_more.py +64 -0
- slm/migrations/0009_alter_archiveindex_end.py +21 -0
- slm/migrations/0010_alter_dataavailability_rinex_version_and_more.py +844 -0
- slm/migrations/0011_alter_siteidentification_fracture_spacing.py +33 -0
- slm/migrations/0012_alter_logentry_type.py +36 -0
- slm/migrations/0013_unpublishedfilesalert.py +48 -0
- slm/migrations/0014_sitelogpublished.py +48 -0
- slm/migrations/0015_alter_siteantenna_options_and_more.py +181 -0
- slm/migrations/0016_alter_antenna_description_alter_radome_description_and_more.py +42 -0
- slm/migrations/0017_alter_logentry_unique_together_and_more.py +54 -0
- slm/migrations/0018_afix_deleted.py +34 -0
- slm/migrations/0018_alter_siteantenna_options_and_more.py +244 -0
- slm/migrations/0019_remove_siteantenna_marker_enu_siteantenna_marker_une_and_more.py +101 -0
- slm/migrations/0020_alter_manufacturer_options.py +16 -0
- slm/migrations/0021_alter_siteform_report_type.py +23 -0
- slm/migrations/0022_rename_antcal_antenna_radome_slm_antcal_antenna_20827a_idx_and_more.py +297 -0
- slm/migrations/0023_archivedsitelog_gml_version_and_more.py +55 -0
- slm/migrations/0024_alter_agency_name_alter_agency_shortname.py +24 -0
- slm/migrations/0025_alter_archivedsitelog_log_format_and_more.py +61 -0
- slm/migrations/0026_alter_archivedsitelog_log_format_and_more.py +61 -0
- slm/migrations/0027_importalert_file_contents_importalert_findings_and_more.py +41 -0
- slm/migrations/0028_antenna_replaced_manufacturer_url_radome_replaced_and_more.py +46 -0
- slm/migrations/0029_manufacturer_full_name.py +17 -0
- slm/migrations/0030_alter_antenna_state_alter_radome_state_and_more.py +43 -0
- slm/migrations/__init__.py +0 -0
- slm/migrations/load_satellitesystems.py +27 -0
- slm/models/__init__.py +118 -0
- slm/models/about.py +14 -0
- slm/models/alerts.py +1204 -0
- slm/models/data.py +58 -0
- slm/models/equipment.py +229 -0
- slm/models/help.py +14 -0
- slm/models/index.py +428 -0
- slm/models/sitelog.py +4279 -0
- slm/models/system.py +723 -0
- slm/models/user.py +304 -0
- slm/parsing/__init__.py +786 -0
- slm/parsing/legacy/__init__.py +4 -0
- slm/parsing/legacy/binding.py +817 -0
- slm/parsing/legacy/parser.py +377 -0
- slm/parsing/xsd/__init__.py +34 -0
- slm/parsing/xsd/binding.py +86 -0
- slm/parsing/xsd/geodesyml/0.4/commonTypes.xsd +133 -0
- slm/parsing/xsd/geodesyml/0.4/contact.xsd +29 -0
- slm/parsing/xsd/geodesyml/0.4/dataStreams.xsd +129 -0
- slm/parsing/xsd/geodesyml/0.4/document.xsd +64 -0
- slm/parsing/xsd/geodesyml/0.4/equipment.xsd +427 -0
- slm/parsing/xsd/geodesyml/0.4/fieldMeasurement.xsd +170 -0
- slm/parsing/xsd/geodesyml/0.4/geodesyML.xsd +71 -0
- slm/parsing/xsd/geodesyml/0.4/geodeticEquipment.xsd +343 -0
- slm/parsing/xsd/geodesyml/0.4/geodeticMonument.xsd +147 -0
- slm/parsing/xsd/geodesyml/0.4/lineage.xsd +614 -0
- slm/parsing/xsd/geodesyml/0.4/localInterferences.xsd +131 -0
- slm/parsing/xsd/geodesyml/0.4/measurement.xsd +473 -0
- slm/parsing/xsd/geodesyml/0.4/monumentInfo.xsd +251 -0
- slm/parsing/xsd/geodesyml/0.4/observationSystem.xsd +429 -0
- slm/parsing/xsd/geodesyml/0.4/project.xsd +38 -0
- slm/parsing/xsd/geodesyml/0.4/quality.xsd +176 -0
- slm/parsing/xsd/geodesyml/0.4/referenceFrame.xsd +194 -0
- slm/parsing/xsd/geodesyml/0.4/siteLog.xsd +71 -0
- slm/parsing/xsd/geodesyml/0.5/commonTypes.xsd +133 -0
- slm/parsing/xsd/geodesyml/0.5/contact.xsd +29 -0
- slm/parsing/xsd/geodesyml/0.5/dataStreams.xsd +129 -0
- slm/parsing/xsd/geodesyml/0.5/document.xsd +64 -0
- slm/parsing/xsd/geodesyml/0.5/equipment.xsd +427 -0
- slm/parsing/xsd/geodesyml/0.5/fieldMeasurement.xsd +170 -0
- slm/parsing/xsd/geodesyml/0.5/geodesyML.xsd +71 -0
- slm/parsing/xsd/geodesyml/0.5/geodeticEquipment.xsd +343 -0
- slm/parsing/xsd/geodesyml/0.5/geodeticMonument.xsd +147 -0
- slm/parsing/xsd/geodesyml/0.5/lineage.xsd +614 -0
- slm/parsing/xsd/geodesyml/0.5/localInterferences.xsd +131 -0
- slm/parsing/xsd/geodesyml/0.5/measurement.xsd +473 -0
- slm/parsing/xsd/geodesyml/0.5/monumentInfo.xsd +306 -0
- slm/parsing/xsd/geodesyml/0.5/observationSystem.xsd +429 -0
- slm/parsing/xsd/geodesyml/0.5/project.xsd +38 -0
- slm/parsing/xsd/geodesyml/0.5/quality.xsd +176 -0
- slm/parsing/xsd/geodesyml/0.5/referenceFrame.xsd +194 -0
- slm/parsing/xsd/geodesyml/0.5/siteLog.xsd +73 -0
- slm/parsing/xsd/parser.py +116 -0
- slm/parsing/xsd/resolver.py +28 -0
- slm/receivers/__init__.py +11 -0
- slm/receivers/alerts.py +87 -0
- slm/receivers/cleanup.py +41 -0
- slm/receivers/event_loggers.py +175 -0
- slm/receivers/index.py +67 -0
- slm/settings/__init__.py +55 -0
- slm/settings/auth.py +15 -0
- slm/settings/ckeditor.py +14 -0
- slm/settings/debug.py +47 -0
- slm/settings/internationalization.py +12 -0
- slm/settings/logging.py +113 -0
- slm/settings/platform/__init__.py +0 -0
- slm/settings/platform/darwin.py +10 -0
- slm/settings/rest.py +21 -0
- slm/settings/root.py +152 -0
- slm/settings/routines.py +43 -0
- slm/settings/secrets.py +37 -0
- slm/settings/security.py +5 -0
- slm/settings/slm.py +188 -0
- slm/settings/static_templates.py +53 -0
- slm/settings/templates.py +29 -0
- slm/settings/uploads.py +8 -0
- slm/settings/urls.py +126 -0
- slm/settings/validation.py +196 -0
- slm/signals.py +250 -0
- slm/singleton.py +49 -0
- slm/static/rest_framework/css/bootstrap-tweaks.css +204 -0
- slm/static/rest_framework/css/bootstrap.min.css +7 -0
- slm/static/rest_framework/css/bootstrap.min.css.map +1 -0
- slm/static/rest_framework/css/default.css +82 -0
- slm/static/rest_framework/css/prettify.css +30 -0
- slm/static/rest_framework/docs/css/base.css +344 -0
- slm/static/rest_framework/docs/css/highlight.css +125 -0
- slm/static/rest_framework/docs/css/jquery.json-view.min.css +11 -0
- slm/static/rest_framework/docs/img/favicon.ico +0 -0
- slm/static/rest_framework/docs/img/grid.png +0 -0
- slm/static/rest_framework/docs/js/api.js +321 -0
- slm/static/rest_framework/docs/js/highlight.pack.js +2 -0
- slm/static/rest_framework/docs/js/jquery.json-view.min.js +7 -0
- slm/static/rest_framework/img/grid.png +0 -0
- slm/static/rest_framework/js/ajax-form.js +127 -0
- slm/static/rest_framework/js/bootstrap.bundle.min.js +7 -0
- slm/static/rest_framework/js/bootstrap.bundle.min.js.map +1 -0
- slm/static/rest_framework/js/bootstrap.min.js.map +1 -0
- slm/static/rest_framework/js/coreapi-0.1.1.js +2043 -0
- slm/static/rest_framework/js/csrf.js +52 -0
- slm/static/rest_framework/js/default.js +47 -0
- slm/static/rest_framework/js/jquery-3.5.1.min.js +2 -0
- slm/static/rest_framework/js/prettify-min.js +28 -0
- slm/static/slm/css/admin.css +3 -0
- slm/static/slm/css/defines.css +82 -0
- slm/static/slm/css/forms.css +1 -0
- slm/static/slm/css/style.css +1004 -0
- slm/static/slm/img/email-branding.png +0 -0
- slm/static/slm/img/favicon.ico +0 -0
- slm/static/slm/img/login-bg.jpg +0 -0
- slm/static/slm/img/slm-logo.svg +4 -0
- slm/static/slm/js/autocomplete.js +341 -0
- slm/static/slm/js/enums.js +322 -0
- slm/static/slm/js/fileIcons.js +30 -0
- slm/static/slm/js/form.js +404 -0
- slm/static/slm/js/formWidget.js +23 -0
- slm/static/slm/js/persistable.js +33 -0
- slm/static/slm/js/slm.js +1028 -0
- slm/static/slm/js/time24.js +212 -0
- slm/static_templates/slm/css/defines.css +26 -0
- slm/static_templates/slm/js/enums.js +28 -0
- slm/static_templates/slm/js/fileIcons.js +16 -0
- slm/static_templates/slm/js/urls.js +5 -0
- slm/templates/account/base.html +20 -0
- slm/templates/account/email/base.html +43 -0
- slm/templates/account/email/base_message.txt +7 -0
- slm/templates/account/email/email_confirmation_message.html +16 -0
- slm/templates/account/email/email_confirmation_message.txt +7 -0
- slm/templates/account/email/email_confirmation_signup_message.html +1 -0
- slm/templates/account/email/email_confirmation_signup_message.txt +1 -0
- slm/templates/account/email/email_confirmation_signup_subject.txt +1 -0
- slm/templates/account/email/email_confirmation_subject.txt +4 -0
- slm/templates/account/email/password_reset_key_message.html +28 -0
- slm/templates/account/email/password_reset_key_message.txt +9 -0
- slm/templates/account/email/password_reset_key_subject.txt +4 -0
- slm/templates/account/email/unknown_account_message.html +25 -0
- slm/templates/account/email/unknown_account_message.txt +12 -0
- slm/templates/account/email/unknown_account_subject.txt +4 -0
- slm/templates/account/login.html +67 -0
- slm/templates/account/logout.html +38 -0
- slm/templates/account/password_change.html +48 -0
- slm/templates/account/password_reset.html +51 -0
- slm/templates/account/password_reset_done.html +20 -0
- slm/templates/account/password_reset_from_key.html +52 -0
- slm/templates/account/password_reset_from_key_done.html +17 -0
- slm/templates/admin/base.html +7 -0
- slm/templates/messages.html +8 -0
- slm/templates/rest_framework/README +16 -0
- slm/templates/rest_framework/admin/detail.html +10 -0
- slm/templates/rest_framework/admin/dict_value.html +11 -0
- slm/templates/rest_framework/admin/list.html +32 -0
- slm/templates/rest_framework/admin/list_value.html +11 -0
- slm/templates/rest_framework/admin/simple_list_value.html +2 -0
- slm/templates/rest_framework/admin.html +282 -0
- slm/templates/rest_framework/api.html +3 -0
- slm/templates/rest_framework/base.html +334 -0
- slm/templates/rest_framework/docs/auth/basic.html +42 -0
- slm/templates/rest_framework/docs/auth/session.html +40 -0
- slm/templates/rest_framework/docs/auth/token.html +41 -0
- slm/templates/rest_framework/docs/document.html +37 -0
- slm/templates/rest_framework/docs/error.html +71 -0
- slm/templates/rest_framework/docs/index.html +55 -0
- slm/templates/rest_framework/docs/interact.html +57 -0
- slm/templates/rest_framework/docs/langs/javascript-intro.html +5 -0
- slm/templates/rest_framework/docs/langs/javascript.html +15 -0
- slm/templates/rest_framework/docs/langs/python-intro.html +3 -0
- slm/templates/rest_framework/docs/langs/python.html +13 -0
- slm/templates/rest_framework/docs/langs/shell-intro.html +3 -0
- slm/templates/rest_framework/docs/langs/shell.html +6 -0
- slm/templates/rest_framework/docs/link.html +113 -0
- slm/templates/rest_framework/docs/sidebar.html +78 -0
- slm/templates/rest_framework/filters/base.html +16 -0
- slm/templates/rest_framework/filters/ordering.html +17 -0
- slm/templates/rest_framework/filters/search.html +13 -0
- slm/templates/rest_framework/horizontal/checkbox.html +23 -0
- slm/templates/rest_framework/horizontal/checkbox_multiple.html +32 -0
- slm/templates/rest_framework/horizontal/dict_field.html +11 -0
- slm/templates/rest_framework/horizontal/fieldset.html +16 -0
- slm/templates/rest_framework/horizontal/form.html +6 -0
- slm/templates/rest_framework/horizontal/input.html +21 -0
- slm/templates/rest_framework/horizontal/list_field.html +11 -0
- slm/templates/rest_framework/horizontal/list_fieldset.html +13 -0
- slm/templates/rest_framework/horizontal/radio.html +42 -0
- slm/templates/rest_framework/horizontal/select.html +36 -0
- slm/templates/rest_framework/horizontal/select_multiple.html +38 -0
- slm/templates/rest_framework/horizontal/textarea.html +21 -0
- slm/templates/rest_framework/inline/checkbox.html +8 -0
- slm/templates/rest_framework/inline/checkbox_multiple.html +14 -0
- slm/templates/rest_framework/inline/dict_field.html +9 -0
- slm/templates/rest_framework/inline/fieldset.html +6 -0
- slm/templates/rest_framework/inline/form.html +8 -0
- slm/templates/rest_framework/inline/input.html +9 -0
- slm/templates/rest_framework/inline/list_field.html +9 -0
- slm/templates/rest_framework/inline/list_fieldset.html +3 -0
- slm/templates/rest_framework/inline/radio.html +25 -0
- slm/templates/rest_framework/inline/select.html +24 -0
- slm/templates/rest_framework/inline/select_multiple.html +25 -0
- slm/templates/rest_framework/inline/textarea.html +9 -0
- slm/templates/rest_framework/login.html +3 -0
- slm/templates/rest_framework/login_base.html +65 -0
- slm/templates/rest_framework/pagination/numbers.html +47 -0
- slm/templates/rest_framework/pagination/previous_and_next.html +21 -0
- slm/templates/rest_framework/raw_data_form.html +11 -0
- slm/templates/rest_framework/schema.js +3 -0
- slm/templates/rest_framework/vertical/checkbox.html +16 -0
- slm/templates/rest_framework/vertical/checkbox_multiple.html +30 -0
- slm/templates/rest_framework/vertical/dict_field.html +7 -0
- slm/templates/rest_framework/vertical/fieldset.html +13 -0
- slm/templates/rest_framework/vertical/form.html +6 -0
- slm/templates/rest_framework/vertical/input.html +17 -0
- slm/templates/rest_framework/vertical/list_field.html +7 -0
- slm/templates/rest_framework/vertical/list_fieldset.html +7 -0
- slm/templates/rest_framework/vertical/radio.html +40 -0
- slm/templates/rest_framework/vertical/select.html +34 -0
- slm/templates/rest_framework/vertical/select_multiple.html +31 -0
- slm/templates/rest_framework/vertical/textarea.html +17 -0
- slm/templates/slm/about.html +21 -0
- slm/templates/slm/alerts/alert.html +15 -0
- slm/templates/slm/alerts/geodesymlinvalid.html +8 -0
- slm/templates/slm/alerts/importalert.html +10 -0
- slm/templates/slm/alerts.html +18 -0
- slm/templates/slm/auth_menu.html +41 -0
- slm/templates/slm/base.html +195 -0
- slm/templates/slm/emails/alert_issued.html +31 -0
- slm/templates/slm/emails/alert_issued.txt +9 -0
- slm/templates/slm/emails/base.html +6 -0
- slm/templates/slm/emails/changes_rejected.txt +7 -0
- slm/templates/slm/emails/review_requested.txt +7 -0
- slm/templates/slm/forms/widgets/auto_complete.html +21 -0
- slm/templates/slm/forms/widgets/auto_complete_multiple.html +18 -0
- slm/templates/slm/forms/widgets/checkbox_multiple.html +6 -0
- slm/templates/slm/forms/widgets/inline_multi.html +1 -0
- slm/templates/slm/forms/widgets/splitdatetime.html +14 -0
- slm/templates/slm/forms/widgets/time24.html +37 -0
- slm/templates/slm/help.html +54 -0
- slm/templates/slm/messages.html +13 -0
- slm/templates/slm/new_site.html +88 -0
- slm/templates/slm/profile.html +57 -0
- slm/templates/slm/register.html +40 -0
- slm/templates/slm/reports/file_log.html +43 -0
- slm/templates/slm/reports/head_log.html +23 -0
- slm/templates/slm/reports/head_report.html +55 -0
- slm/templates/slm/reports/index_log.html +23 -0
- slm/templates/slm/reports/index_report.html +71 -0
- slm/templates/slm/station/alert.html +8 -0
- slm/templates/slm/station/alerts.html +19 -0
- slm/templates/slm/station/base.html +104 -0
- slm/templates/slm/station/download.html +87 -0
- slm/templates/slm/station/edit.html +283 -0
- slm/templates/slm/station/form.html +110 -0
- slm/templates/slm/station/log.html +18 -0
- slm/templates/slm/station/review.html +461 -0
- slm/templates/slm/station/upload.html +295 -0
- slm/templates/slm/station/uploads/attachment.html +20 -0
- slm/templates/slm/station/uploads/geodesyml.html +1 -0
- slm/templates/slm/station/uploads/image.html +27 -0
- slm/templates/slm/station/uploads/json.html +0 -0
- slm/templates/slm/station/uploads/legacy.html +77 -0
- slm/templates/slm/top_nav.html +14 -0
- slm/templates/slm/user_activity.html +16 -0
- slm/templates/slm/widgets/alert_scroll.html +135 -0
- slm/templates/slm/widgets/filelist.html +258 -0
- slm/templates/slm/widgets/legend.html +12 -0
- slm/templates/slm/widgets/log_scroll.html +88 -0
- slm/templates/slm/widgets/stationlist.html +233 -0
- slm/templatetags/__init__.py +0 -0
- slm/templatetags/jinja2.py +9 -0
- slm/templatetags/slm.py +459 -0
- slm/urls.py +148 -0
- slm/utils.py +299 -0
- slm/validators.py +297 -0
- slm/views.py +654 -0
- slm/widgets.py +134 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from django.utils.translation import gettext_lazy as _
|
|
2
|
+
from django_enum import IntegerChoices
|
|
3
|
+
from enum_properties import s
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Instrumentation(IntegerChoices):
|
|
7
|
+
_symmetric_builtins_ = [s("name", case_fold=True)]
|
|
8
|
+
|
|
9
|
+
GPS = 1, _("GPS")
|
|
10
|
+
GLONASS = 2, _("GLONASS")
|
|
11
|
+
DORIS = 3, _("DORIS")
|
|
12
|
+
PRARE = 4, _("PRARE")
|
|
13
|
+
SLR = 5, _("SLR")
|
|
14
|
+
VLBI = 6, _("VLBI")
|
|
15
|
+
TIME = 7, _("TIME")
|
|
16
|
+
ETC = 8, _("etc")
|
|
17
|
+
|
|
18
|
+
def __str__(self):
|
|
19
|
+
return str(self.label)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
from django.utils.translation import gettext_lazy as _
|
|
2
|
+
from django_enum import IntegerChoices
|
|
3
|
+
from enum_properties import s
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class LogEntryType(IntegerChoices):
|
|
7
|
+
_symmetric_builtins_ = [s("name", case_fold=True)]
|
|
8
|
+
|
|
9
|
+
SITE_PROPOSED = 1, _("Site Proposed")
|
|
10
|
+
ADD = 2, _("Add")
|
|
11
|
+
UPDATE = 3, _("Update")
|
|
12
|
+
DELETE = 4, _("Delete")
|
|
13
|
+
PUBLISH = 5, _("Publish")
|
|
14
|
+
LOG_UPLOAD = 6, _("Log Upload")
|
|
15
|
+
IMAGE_UPLOAD = 7, _("Image Upload")
|
|
16
|
+
ATTACHMENT_UPLOAD = 8, _("Attachment Upload")
|
|
17
|
+
IMAGE_PUBLISH = 9, _("Image Published")
|
|
18
|
+
ATTACHMENT_PUBLISH = 10, _("Attachment Published")
|
|
19
|
+
IMAGE_UNPUBLISH = 11, _("Image Unpublished")
|
|
20
|
+
ATTACHMENT_UNPUBLISH = 12, _("Attachment Unpublished")
|
|
21
|
+
IMAGE_DELETE = 13, _("Image Deleted")
|
|
22
|
+
ATTACHMENT_DELETE = 14, _("Attachment Deleted")
|
|
23
|
+
REVERT = 15, _("Revert")
|
|
24
|
+
|
|
25
|
+
@property
|
|
26
|
+
def css(self):
|
|
27
|
+
return f"slm-log-" f'{self.label.lower().replace("_", "-").replace(" ", "-")}'
|
|
28
|
+
|
|
29
|
+
def __str__(self):
|
|
30
|
+
return str(self.label)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from django.utils.translation import gettext_lazy as _
|
|
2
|
+
from django_enum import IntegerChoices
|
|
3
|
+
from enum_properties import s
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class SLMFileType(IntegerChoices, s("type")):
|
|
7
|
+
_symmetric_builtins_ = [s("name", case_fold=True)]
|
|
8
|
+
|
|
9
|
+
SITE_LOG = 1, _("Site Log"), "log"
|
|
10
|
+
SITE_IMAGE = 2, _("Site Image"), "image"
|
|
11
|
+
ATTACHMENT = 3, _("Attachment"), "attachment"
|
|
12
|
+
|
|
13
|
+
@staticmethod
|
|
14
|
+
def icon(mimetype):
|
|
15
|
+
return f'bi bi-filetype-{mimetype.split("/")[-1]}'
|
|
16
|
+
|
|
17
|
+
def __str__(self):
|
|
18
|
+
return str(self.label)
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
from django.utils.translation import gettext_lazy as _
|
|
2
|
+
from django_enum import IntegerChoices
|
|
3
|
+
from enum_properties import p, s
|
|
4
|
+
|
|
5
|
+
from slm.defines import SLMFileType
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class SiteFileUploadStatus(IntegerChoices, p("help")):
|
|
9
|
+
"""
|
|
10
|
+
Depending on file type different uploads will have different relevant
|
|
11
|
+
status tuples.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
_symmetric_builtins_ = [s("name", case_fold=True)]
|
|
15
|
+
|
|
16
|
+
UNPUBLISHED = (
|
|
17
|
+
1,
|
|
18
|
+
_("Unpublished File"),
|
|
19
|
+
_("The file is pending moderation before it will be made public."),
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
PUBLISHED = (
|
|
23
|
+
2,
|
|
24
|
+
_("Published File"),
|
|
25
|
+
_(
|
|
26
|
+
"The file is published and is publicly available as an attachment "
|
|
27
|
+
"to the site."
|
|
28
|
+
),
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
INVALID = (3, _("Invalid Site Log"), _("The file did not pass validation."))
|
|
32
|
+
|
|
33
|
+
WARNINGS = (
|
|
34
|
+
4,
|
|
35
|
+
_("Warnings Site Log"),
|
|
36
|
+
_("The file is valid but has some warnings."),
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
VALID = (5, _("Valid Site Log"), _("The file is valid."))
|
|
40
|
+
|
|
41
|
+
@classmethod
|
|
42
|
+
def status_by_filetype(cls, filetype):
|
|
43
|
+
if filetype == SLMFileType.SITE_LOG:
|
|
44
|
+
return [cls.INVALID, cls.WARNINGS, cls.VALID]
|
|
45
|
+
elif filetype == SLMFileType.SITE_IMAGE:
|
|
46
|
+
return [cls.PUBLISHED, cls.UNPUBLISHED]
|
|
47
|
+
else:
|
|
48
|
+
return [en for en in cls]
|
|
49
|
+
|
|
50
|
+
@property
|
|
51
|
+
def css(self):
|
|
52
|
+
return f"slm-upload-{self.label.lower()}"
|
|
53
|
+
|
|
54
|
+
@property
|
|
55
|
+
def color(self):
|
|
56
|
+
from django.conf import settings
|
|
57
|
+
|
|
58
|
+
return getattr(settings, "SLM_FILE_COLORS", {}).get(self, None)
|
|
59
|
+
|
|
60
|
+
def __str__(self):
|
|
61
|
+
return str(self.label)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
from django.utils.translation import gettext_lazy as _
|
|
2
|
+
from django_enum import IntegerChoices
|
|
3
|
+
from enum_properties import p, s
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class SiteLogFormat(
|
|
7
|
+
IntegerChoices,
|
|
8
|
+
s("mimetype", case_fold=True),
|
|
9
|
+
p("icon"),
|
|
10
|
+
s("ext", case_fold=True),
|
|
11
|
+
s("alts", case_fold=True),
|
|
12
|
+
):
|
|
13
|
+
_symmetric_builtins_ = [s("name", case_fold=True)]
|
|
14
|
+
|
|
15
|
+
LEGACY = (
|
|
16
|
+
1,
|
|
17
|
+
_("Legacy (ASCII)"),
|
|
18
|
+
"text/plain",
|
|
19
|
+
"bi bi-file-text",
|
|
20
|
+
"log",
|
|
21
|
+
["text", "txt", "legacy"],
|
|
22
|
+
)
|
|
23
|
+
GEODESY_ML = (
|
|
24
|
+
2,
|
|
25
|
+
_("GeodesyML"),
|
|
26
|
+
"application/xml",
|
|
27
|
+
"bi bi-filetype-xml",
|
|
28
|
+
"xml",
|
|
29
|
+
["xml"],
|
|
30
|
+
)
|
|
31
|
+
JSON = (
|
|
32
|
+
3,
|
|
33
|
+
_("JSON"),
|
|
34
|
+
"application/json",
|
|
35
|
+
"bi bi-filetype-json",
|
|
36
|
+
"json",
|
|
37
|
+
["json", "js"],
|
|
38
|
+
)
|
|
39
|
+
ASCII_9CHAR = (
|
|
40
|
+
4,
|
|
41
|
+
_("ASCII (9-Char)"),
|
|
42
|
+
"text/plain",
|
|
43
|
+
"bi bi-file-text",
|
|
44
|
+
"log",
|
|
45
|
+
["text", "txt", "9char"],
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
def __str__(self):
|
|
49
|
+
return str(self.label)
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
from django.utils.translation import gettext_lazy as _
|
|
2
|
+
from django_enum import IntegerChoices
|
|
3
|
+
from enum_properties import p, s
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class SiteLogStatus(IntegerChoices, p("help")):
|
|
7
|
+
_symmetric_builtins_ = [s("name", case_fold=True)]
|
|
8
|
+
|
|
9
|
+
FORMER = (
|
|
10
|
+
1,
|
|
11
|
+
_("Former"),
|
|
12
|
+
_("Site is no longer maintained and logs are not published."),
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
PROPOSED = (
|
|
16
|
+
2,
|
|
17
|
+
_("Proposed"),
|
|
18
|
+
_("This is a new Site that has never been published."),
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
UPDATED = (3, _("Updated"), _("Site log or section has unpublished updates."))
|
|
22
|
+
|
|
23
|
+
PUBLISHED = (
|
|
24
|
+
4,
|
|
25
|
+
_("Published"),
|
|
26
|
+
_("Site log or section is published with no unpublished changes."),
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
EMPTY = (5, _("Empty"), _("Site log section is empty or deleted."))
|
|
30
|
+
|
|
31
|
+
SUSPENDED = (
|
|
32
|
+
6,
|
|
33
|
+
_("Suspended"),
|
|
34
|
+
_("Site has been temporarily suspended and does not appear in public" " data."),
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
@property
|
|
38
|
+
def css(self):
|
|
39
|
+
return f'slm-status-{self.label.lower().replace(" ", "-")}'
|
|
40
|
+
|
|
41
|
+
@property
|
|
42
|
+
def color(self):
|
|
43
|
+
from django.conf import settings
|
|
44
|
+
|
|
45
|
+
return getattr(settings, "SLM_STATUS_COLORS", {}).get(self, None)
|
|
46
|
+
|
|
47
|
+
def merge(self, sibling):
|
|
48
|
+
"""
|
|
49
|
+
Returns the correct status value to use when sibling status values are
|
|
50
|
+
being combined into one parent status value.
|
|
51
|
+
"""
|
|
52
|
+
if sibling is not None and sibling.value < self.value:
|
|
53
|
+
return sibling
|
|
54
|
+
return self
|
|
55
|
+
|
|
56
|
+
def set(self, child):
|
|
57
|
+
"""
|
|
58
|
+
Returns the correct status value to use when this status is being set
|
|
59
|
+
to the aggregate status of its children.
|
|
60
|
+
"""
|
|
61
|
+
if self in {
|
|
62
|
+
SiteLogStatus.PUBLISHED,
|
|
63
|
+
SiteLogStatus.UPDATED,
|
|
64
|
+
SiteLogStatus.EMPTY,
|
|
65
|
+
}:
|
|
66
|
+
return child
|
|
67
|
+
return self.merge(child)
|
|
68
|
+
|
|
69
|
+
@classmethod
|
|
70
|
+
def unpublished_states(cls):
|
|
71
|
+
return {cls.UPDATED, cls.PROPOSED}
|
|
72
|
+
|
|
73
|
+
@classmethod
|
|
74
|
+
def active_states(cls):
|
|
75
|
+
return {cls.UPDATED, cls.PUBLISHED}
|
|
76
|
+
|
|
77
|
+
def __str__(self):
|
|
78
|
+
return str(self.label)
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
from django_enum import TextChoices
|
|
2
|
+
from enum_properties import s
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class TectonicPlates(TextChoices):
|
|
6
|
+
_symmetric_builtins_ = [s("name", case_fold=True), s("label", case_fold=True)]
|
|
7
|
+
|
|
8
|
+
AFRICAN = "AF", "African"
|
|
9
|
+
ANTARCTIC = "AN", "Antarctic"
|
|
10
|
+
ARABIAN = "AR", "Arabian"
|
|
11
|
+
AUSTRALIAN = "AU", "Australian"
|
|
12
|
+
CARIBBEAN = "CA", "Caribbean"
|
|
13
|
+
COCOS = "CO", "Cocos"
|
|
14
|
+
EURASIAN = "EU", "Eurasian"
|
|
15
|
+
INDIAN = "IN", "Indian"
|
|
16
|
+
JUAN_DE_FUCA = "JU", "Juan de Fuca"
|
|
17
|
+
NAZCA = "NZ", "Nazca"
|
|
18
|
+
NORTH_AMERICAN = "NA", "North American"
|
|
19
|
+
PACIFIC = "PA", "Pacific"
|
|
20
|
+
PHILIPPINE = "PH", "Philippine"
|
|
21
|
+
SCOTIA = "SC", "Scotia"
|
|
22
|
+
SOUTH_AMERICAN = "SA", "South American"
|
|
23
|
+
NUBIA = "NU", "Nubia"
|
|
24
|
+
SOMALIA = "SO", "Somalia"
|
|
25
|
+
MARIANA = "MA", "Mariana"
|
|
26
|
+
|
|
27
|
+
def __str__(self):
|
|
28
|
+
return str(self.label)
|
slm/defines/__init__.py
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
from igs_tools.defines import DataRate, RinexVersion
|
|
2
|
+
from slm.defines.AlertLevel import AlertLevel
|
|
3
|
+
from slm.defines.AntennaCalibration import AntennaCalibrationMethod
|
|
4
|
+
from slm.defines.AntennaFeatures import AntennaFeatures
|
|
5
|
+
from slm.defines.AntennaReferencePoint import AntennaReferencePoint
|
|
6
|
+
from slm.defines.Aspiration import Aspiration
|
|
7
|
+
from slm.defines.CardinalDirection import CardinalDirection
|
|
8
|
+
from slm.defines.CollocationStatus import CollocationStatus
|
|
9
|
+
from slm.defines.EquipmentState import EquipmentState
|
|
10
|
+
from slm.defines.FlagSeverity import FlagSeverity
|
|
11
|
+
from slm.defines.FractureSpacing import FractureSpacing
|
|
12
|
+
from slm.defines.FrequencyStandardType import FrequencyStandardType
|
|
13
|
+
from slm.defines.GeodesyMLVersion import GeodesyMLVersion
|
|
14
|
+
from slm.defines.Instrumentation import Instrumentation
|
|
15
|
+
from slm.defines.ISOCountry import ISOCountry
|
|
16
|
+
from slm.defines.LogEntryType import LogEntryType
|
|
17
|
+
from slm.defines.SiteFileUploadStatus import SiteFileUploadStatus
|
|
18
|
+
from slm.defines.SiteLogFormat import SiteLogFormat
|
|
19
|
+
from slm.defines.SiteLogStatus import SiteLogStatus
|
|
20
|
+
from slm.defines.SLMFileType import SLMFileType
|
|
21
|
+
from slm.defines.TectonicPlates import TectonicPlates
|
|
22
|
+
|
|
23
|
+
__all__ = [
|
|
24
|
+
DataRate,
|
|
25
|
+
RinexVersion,
|
|
26
|
+
AlertLevel,
|
|
27
|
+
AntennaCalibrationMethod,
|
|
28
|
+
AntennaFeatures,
|
|
29
|
+
AntennaReferencePoint,
|
|
30
|
+
Aspiration,
|
|
31
|
+
CardinalDirection,
|
|
32
|
+
CollocationStatus,
|
|
33
|
+
EquipmentState,
|
|
34
|
+
FlagSeverity,
|
|
35
|
+
FractureSpacing,
|
|
36
|
+
FrequencyStandardType,
|
|
37
|
+
GeodesyMLVersion,
|
|
38
|
+
Instrumentation,
|
|
39
|
+
ISOCountry,
|
|
40
|
+
LogEntryType,
|
|
41
|
+
SiteFileUploadStatus,
|
|
42
|
+
SiteLogFormat,
|
|
43
|
+
SiteLogStatus,
|
|
44
|
+
SLMFileType,
|
|
45
|
+
TectonicPlates,
|
|
46
|
+
]
|