endoreg-db 0.3.4__py3-none-any.whl → 0.3.6__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.
- endoreg_db/admin.py +3 -3
- endoreg_db/apps.py +6 -6
- endoreg_db/data/__init__.py +65 -16
- endoreg_db/data/active_model/data.yaml +2 -2
- endoreg_db/data/case_template/rule/00_patient_lab_sample_add_default_value.yaml +167 -0
- endoreg_db/data/case_template/rule/01_patient-set-age.yaml +8 -0
- endoreg_db/data/case_template/rule/01_patient-set-gender.yaml +9 -0
- endoreg_db/data/case_template/rule/11_create_patient_lab_sample.yaml +23 -0
- endoreg_db/data/case_template/rule/12_create-patient_medication-anticoagulation.yaml +19 -0
- endoreg_db/data/case_template/rule/13_create-patient_medication_schedule-anticoagulation.yaml +19 -0
- endoreg_db/data/case_template/rule/19_create_patient.yaml +17 -0
- endoreg_db/data/case_template/rule_type/base_types.yaml +35 -0
- endoreg_db/data/case_template/rule_value_type/base_types.yaml +59 -0
- endoreg_db/data/case_template/template/base.yaml +8 -0
- endoreg_db/data/case_template/template_type/pre_endoscopy.yaml +3 -0
- endoreg_db/data/case_template/tmp/_rule_value +13 -0
- endoreg_db/data/case_template/tmp/rule/01_atrial_fibrillation.yaml +21 -0
- endoreg_db/data/case_template/tmp/rule/02_create_object.yaml +10 -0
- endoreg_db/data/case_template/tmp/template/atrial_fibrillation_low_risk.yaml +7 -0
- endoreg_db/data/center/data.yaml +60 -52
- endoreg_db/data/center_resource/green_endoscopy_dashboard_CenterResource.yaml +144 -0
- endoreg_db/data/center_waste/green_endoscopy_dashboard_CenterWaste.yaml +48 -0
- endoreg_db/data/disease/cardiovascular.yaml +37 -0
- endoreg_db/data/disease/hepatology.yaml +5 -0
- endoreg_db/data/disease/misc.yaml +6 -0
- endoreg_db/data/disease/renal.yaml +5 -0
- endoreg_db/data/disease_classification/chronic_kidney_disease.yaml +6 -0
- endoreg_db/data/disease_classification/coronary_vessel_disease.yaml +6 -0
- endoreg_db/data/disease_classification_choice/chronic_kidney_disease.yaml +41 -0
- endoreg_db/data/disease_classification_choice/coronary_vessel_disease.yaml +20 -0
- endoreg_db/data/distribution/date/patient.yaml +7 -0
- endoreg_db/data/distribution/single_categorical/patient.yaml +7 -0
- endoreg_db/data/emission_factor/green_endoscopy_dashboard_EmissionFactor.yaml +132 -0
- endoreg_db/data/endoscope_type/data.yaml +10 -10
- endoreg_db/data/endoscopy_processor/data.yaml +45 -45
- endoreg_db/data/event/cardiology.yaml +28 -0
- endoreg_db/data/event/neurology.yaml +14 -0
- endoreg_db/data/event/surgery.yaml +13 -0
- endoreg_db/data/event/thrombembolism.yaml +20 -0
- endoreg_db/data/examination/examinations/data.yaml +65 -16
- endoreg_db/data/examination/time/data.yaml +47 -47
- endoreg_db/data/examination/time-type/data.yaml +7 -7
- endoreg_db/data/examination/type/data.yaml +5 -5
- endoreg_db/data/gender/data.yaml +18 -0
- endoreg_db/data/information_source/data.yaml +30 -30
- endoreg_db/data/information_source/medication.yaml +6 -0
- endoreg_db/data/lab_value/cardiac_enzymes.yaml +31 -0
- endoreg_db/data/lab_value/coagulation.yaml +49 -0
- endoreg_db/data/lab_value/electrolytes.yaml +190 -0
- endoreg_db/data/lab_value/gastrointestinal_function.yaml +121 -0
- endoreg_db/data/lab_value/hematology.yaml +169 -0
- endoreg_db/data/lab_value/hormones.yaml +53 -0
- endoreg_db/data/lab_value/lipids.yaml +44 -0
- endoreg_db/data/lab_value/misc.yaml +30 -0
- endoreg_db/data/lab_value/renal_function.yaml +11 -0
- endoreg_db/data/label/label/data.yaml +62 -62
- endoreg_db/data/label/label-set/data.yaml +17 -17
- endoreg_db/data/label/label-type/data.yaml +6 -6
- endoreg_db/data/material/material.yaml +91 -0
- endoreg_db/data/medication/anticoagulation.yaml +65 -0
- endoreg_db/data/medication/tah.yaml +70 -0
- endoreg_db/data/medication_indication/anticoagulation.yaml +120 -0
- endoreg_db/data/medication_indication_type/data.yaml +11 -0
- endoreg_db/data/medication_indication_type/thrombembolism.yaml +41 -0
- endoreg_db/data/medication_intake_time/base.yaml +31 -0
- endoreg_db/data/medication_schedule/apixaban.yaml +95 -0
- endoreg_db/data/medication_schedule/ass.yaml +12 -0
- endoreg_db/data/medication_schedule/enoxaparin.yaml +26 -0
- endoreg_db/data/model_type/data.yaml +6 -6
- endoreg_db/data/patient_lab_sample_type/generic.yaml +6 -0
- endoreg_db/data/pdf_type/data.yaml +28 -28
- endoreg_db/data/product/green_endoscopy_dashboard_Product.yaml +66 -0
- endoreg_db/data/product_group/green_endoscopy_dashboard_ProductGroup.yaml +33 -0
- endoreg_db/data/product_material/green_endoscopy_dashboard_ProductMaterial.yaml +308 -0
- endoreg_db/data/product_weight/green_endoscopy_dashboard_ProductWeight.yaml +88 -0
- endoreg_db/data/profession/data.yaml +70 -70
- endoreg_db/data/reference_product/green_endoscopy_dashboard_ReferenceProduct.yaml +55 -0
- endoreg_db/data/report_reader_flag/ukw-examination-generic.yaml +26 -26
- endoreg_db/data/report_reader_flag/ukw-histology-generic.yaml +19 -19
- endoreg_db/data/resource/green_endoscopy_dashboard_Resource.yaml +15 -0
- endoreg_db/data/tmp/chronic_kidney_disease.yaml +0 -0
- endoreg_db/data/tmp/congestive_heart_failure.yaml +0 -0
- endoreg_db/data/transport_route/green_endoscopy_dashboard_TransportRoute.yaml +12 -0
- endoreg_db/data/unit/concentration.yaml +92 -0
- endoreg_db/data/unit/data.yaml +17 -17
- endoreg_db/data/unit/length.yaml +30 -30
- endoreg_db/data/unit/misc.yaml +20 -0
- endoreg_db/data/unit/rate.yaml +6 -0
- endoreg_db/data/unit/time.yaml +13 -0
- endoreg_db/data/unit/volume.yaml +35 -26
- endoreg_db/data/unit/weight.yaml +37 -30
- endoreg_db/data/waste/data.yaml +12 -0
- endoreg_db/forms/__init__.py +2 -2
- endoreg_db/forms/questionnaires/tto_questionnaire.py +23 -23
- endoreg_db/forms/settings/__init__.py +8 -8
- endoreg_db/forms/unit.py +5 -5
- endoreg_db/management/commands/_load_model_template.py +40 -40
- endoreg_db/management/commands/delete_all.py +18 -18
- endoreg_db/management/commands/delete_legacy_images.py +19 -19
- endoreg_db/management/commands/delete_legacy_videos.py +16 -16
- endoreg_db/management/commands/extract_legacy_video_frames.py +18 -18
- endoreg_db/management/commands/fetch_legacy_image_dataset.py +32 -32
- endoreg_db/management/commands/fix_auth_permission.py +20 -20
- endoreg_db/management/commands/import_legacy_images.py +94 -94
- endoreg_db/management/commands/import_legacy_videos.py +76 -76
- endoreg_db/management/commands/load_active_model_data.py +44 -44
- endoreg_db/management/commands/load_ai_model_data.py +44 -44
- endoreg_db/management/commands/load_base_db_data.py +128 -71
- endoreg_db/management/commands/load_center_data.py +42 -42
- endoreg_db/management/commands/load_disease_classification_choices_data.py +41 -0
- endoreg_db/management/commands/load_disease_classification_data.py +41 -0
- endoreg_db/management/commands/load_disease_data.py +40 -0
- endoreg_db/management/commands/load_distribution_data.py +66 -0
- endoreg_db/management/commands/load_endoscope_type_data.py +44 -44
- endoreg_db/management/commands/load_endoscopy_processor_data.py +44 -44
- endoreg_db/management/commands/load_event_data.py +41 -0
- endoreg_db/management/commands/load_examination_data.py +74 -74
- endoreg_db/management/commands/load_g_play_data.py +113 -0
- endoreg_db/management/commands/load_gender_data.py +44 -0
- endoreg_db/management/commands/load_green_endoscopy_wuerzburg_data.py +133 -0
- endoreg_db/management/commands/load_information_source.py +44 -44
- endoreg_db/management/commands/load_lab_value_data.py +50 -0
- endoreg_db/management/commands/load_label_data.py +66 -66
- endoreg_db/management/commands/load_medication_data.py +41 -0
- endoreg_db/management/commands/load_medication_indication_data.py +63 -0
- endoreg_db/management/commands/load_medication_indication_type_data.py +41 -0
- endoreg_db/management/commands/load_medication_intake_time_data.py +41 -0
- endoreg_db/management/commands/load_medication_schedule_data.py +55 -0
- endoreg_db/management/commands/load_pdf_type_data.py +60 -60
- endoreg_db/management/commands/load_profession_data.py +43 -43
- endoreg_db/management/commands/load_report_reader_flag.py +45 -45
- endoreg_db/management/commands/load_unit_data.py +45 -45
- endoreg_db/management/commands/load_user_groups.py +28 -28
- endoreg_db/management/commands/register_ai_model.py +65 -65
- endoreg_db/management/commands/reset_celery_schedule.py +9 -9
- endoreg_db/migrations/0001_initial.py +582 -582
- endoreg_db/migrations/0002_rawvideofile.py +26 -26
- endoreg_db/migrations/0003_rawvideofile_frames_required.py +18 -18
- endoreg_db/migrations/0004_rename_hash_rawvideofile_video_hash.py +18 -18
- endoreg_db/migrations/0005_ffmpegmeta_remove_videoimportmeta_center_and_more.py +56 -56
- endoreg_db/migrations/0006_rawvideofile_center_alter_videometa_processor.py +25 -25
- endoreg_db/migrations/0007_rawvideofile_processor.py +19 -19
- endoreg_db/migrations/0008_rename_frames_required_rawvideofile_state_frames_required.py +18 -18
- endoreg_db/migrations/0009_sensitivemeta_rawvideofile_sensitive_meta.py +31 -31
- endoreg_db/migrations/0010_rename_endoscope_serial_number_sensitivemeta_endoscope_sn.py +18 -18
- endoreg_db/migrations/0011_rawvideofile_state_sensitive_data_retrieved.py +18 -18
- endoreg_db/migrations/0012_rawvideofile_prediction_dir_and_more.py +109 -109
- endoreg_db/migrations/0013_rawpdffile.py +31 -31
- endoreg_db/migrations/0014_pdftype_alter_rawpdffile_file_pdfmeta.py +38 -38
- endoreg_db/migrations/0015_rename_report_processed_rawpdffile_state_report_processed_and_more.py +31 -31
- endoreg_db/migrations/0016_rawpdffile_state_report_processing_required.py +18 -18
- endoreg_db/migrations/0017_firstname_lastname_center_first_names_and_more.py +37 -37
- endoreg_db/migrations/0018_reportreaderflag_reportreaderconfig.py +37 -37
- endoreg_db/migrations/0019_pdftype_cut_off_above_lines_and_more.py +42 -42
- endoreg_db/migrations/0020_rename_endoscopy_info_line_pdftype_endoscope_info_line.py +18 -18
- endoreg_db/migrations/0021_alter_pdftype_endoscope_info_line.py +19 -19
- endoreg_db/migrations/0022_alter_pdftype_endoscope_info_line.py +19 -19
- endoreg_db/migrations/0023_ttoquestionnaire_alter_pdftype_endoscope_info_line.py +59 -59
- endoreg_db/migrations/0024_remove_ttoquestionnaire_infections_and_more.py +27 -27
- endoreg_db/migrations/0025_event_alter_rawpdffile_file_patientevent.py +42 -0
- endoreg_db/migrations/0026_disease_diseaseclassification_and_more.py +166 -0
- endoreg_db/migrations/0027_labvalue_abbreviation_labvalue_default_normal_range_and_more.py +38 -0
- endoreg_db/migrations/0028_alter_unit_abbreviation.py +18 -0
- endoreg_db/migrations/0029_medicationintaketime_and_more.py +75 -0
- endoreg_db/migrations/0030_medicationindicationtype_and_more.py +101 -0
- endoreg_db/migrations/0031_rename_adapt_to_liver_function_medication_adapt_to_age_and_more.py +38 -0
- endoreg_db/migrations/0032_alter_medicationschedule_therapy_duration_d.py +18 -0
- endoreg_db/migrations/0033_medicationindication_sources.py +18 -0
- endoreg_db/migrations/0034_alter_rawpdffile_file.py +20 -0
- endoreg_db/migrations/0035_alter_medicationindication_sources.py +18 -0
- endoreg_db/migrations/0036_alter_rawpdffile_file.py +20 -0
- endoreg_db/migrations/0037_alter_medicationindication_sources.py +18 -0
- endoreg_db/migrations/0038_emissionfactor_material_product_productgroup_and_more.py +164 -0
- endoreg_db/migrations/0039_referenceproduct_name.py +19 -0
- endoreg_db/migrations/0040_quizanswertype_quizquestiontype_quizquestion_and_more.py +50 -0
- endoreg_db/migrations/0041_gender_patientmedication_medication_indication_and_more.py +40 -0
- endoreg_db/migrations/0042_casetemplateruletype_casetemplaterulevalue_and_more.py +74 -0
- endoreg_db/migrations/0043_casetemplatetype_name_de_casetemplatetype_name_en.py +23 -0
- endoreg_db/migrations/0044_casetemplateruletype_name_de_and_more.py +23 -0
- endoreg_db/migrations/0045_casetemplaterulevalue_value_type.py +19 -0
- endoreg_db/migrations/0046_casetemplaterulevalue_target_field.py +18 -0
- endoreg_db/migrations/0047_casetemplaterule_target_model.py +18 -0
- endoreg_db/migrations/0048_remove_casetemplaterule_chained_rules_and_more.py +22 -0
- endoreg_db/migrations/0049_remove_casetemplaterule_rule_values.py +17 -0
- endoreg_db/migrations/0050_casetemplaterule_rule_values.py +18 -0
- endoreg_db/migrations/0051_remove_casetemplaterule_calling_rules_and_more.py +27 -0
- endoreg_db/migrations/0052_rename_case_template_type_casetemplate_template_type.py +18 -0
- endoreg_db/migrations/0053_patientlabsampletype_patientlabsample_and_more.py +38 -0
- endoreg_db/migrations/0054_multiplecategoricalvaluedistribution_and_more.py +69 -0
- endoreg_db/migrations/0055_remove_casetemplaterule_rule_values_and_more.py +59 -0
- endoreg_db/migrations/0056_datevaluedistribution_and_more.py +32 -0
- endoreg_db/migrations/0057_remove_datevaluedistribution_max_date_and_more.py +72 -0
- endoreg_db/migrations/0058_datevaluedistribution_description_and_more.py +28 -0
- endoreg_db/migrations/0059_casetemplaterule_rule_values.py +18 -0
- endoreg_db/migrations/0060_labvalue__default_date_value_distribution_and_more.py +44 -0
- endoreg_db/migrations/0061_remove_patientlabvalue_date_patientlabvalue_datetime.py +24 -0
- endoreg_db/migrations/0062_labvalue_numeric_precision.py +18 -0
- endoreg_db/migrations/0063_alter_labvalue_numeric_precision.py +18 -0
- endoreg_db/migrations/0064_casetemplaterule_extra_parameters_and_more.py +23 -0
- endoreg_db/migrations/0065_rename__date_value_distribution_casetemplaterule_date_value_distribution_and_more.py +58 -0
- endoreg_db/migrations/0066_alter_patientlabvalue_patient_and_more.py +29 -0
- endoreg_db/migrations/0067_alter_medicationindication_indication_type.py +19 -0
- endoreg_db/models/__init__.py +74 -57
- endoreg_db/models/ai_model/__init__.py +3 -3
- endoreg_db/models/ai_model/active_model.py +9 -9
- endoreg_db/models/ai_model/model_meta.py +24 -24
- endoreg_db/models/ai_model/model_type.py +25 -25
- endoreg_db/models/ai_model/utils.py +8 -8
- endoreg_db/models/annotation/__init__.py +1 -1
- endoreg_db/models/annotation/binary_classification_annotation_task.py +80 -80
- endoreg_db/models/annotation/image_classification.py +26 -26
- endoreg_db/models/case_template/__init__.py +6 -0
- endoreg_db/models/case_template/case_template.py +81 -0
- endoreg_db/models/case_template/case_template_rule.py +276 -0
- endoreg_db/models/case_template/case_template_rule_value.py +73 -0
- endoreg_db/models/case_template/case_template_type.py +28 -0
- endoreg_db/models/center/__init__.py +4 -0
- endoreg_db/models/{center.py → center/center.py} +24 -24
- endoreg_db/models/center/center_product.py +34 -0
- endoreg_db/models/center/center_resource.py +19 -0
- endoreg_db/models/center/center_waste.py +11 -0
- endoreg_db/models/data_file/__init__.py +5 -5
- endoreg_db/models/data_file/base_classes/__init__.py +2 -2
- endoreg_db/models/data_file/base_classes/abstract_frame.py +50 -50
- endoreg_db/models/data_file/base_classes/abstract_video.py +200 -200
- endoreg_db/models/data_file/frame.py +45 -45
- endoreg_db/models/data_file/import_classes/__init__.py +31 -31
- endoreg_db/models/data_file/import_classes/processing_functions/__init__.py +34 -34
- endoreg_db/models/data_file/import_classes/processing_functions/pdf.py +28 -28
- endoreg_db/models/data_file/import_classes/processing_functions/video.py +260 -260
- endoreg_db/models/data_file/import_classes/raw_pdf.py +188 -185
- endoreg_db/models/data_file/import_classes/raw_video.py +343 -343
- endoreg_db/models/data_file/metadata/__init__.py +3 -3
- endoreg_db/models/data_file/metadata/pdf_meta.py +70 -70
- endoreg_db/models/data_file/metadata/sensitive_meta.py +31 -31
- endoreg_db/models/data_file/metadata/video_meta.py +132 -131
- endoreg_db/models/data_file/report_file.py +89 -89
- endoreg_db/models/data_file/video/__init__.py +6 -6
- endoreg_db/models/data_file/video/import_meta.py +25 -25
- endoreg_db/models/data_file/video/video.py +25 -25
- endoreg_db/models/data_file/video_segment.py +107 -107
- endoreg_db/models/disease.py +56 -0
- endoreg_db/models/emission/__init__.py +1 -0
- endoreg_db/models/emission/emission_factor.py +20 -0
- endoreg_db/models/event.py +22 -0
- endoreg_db/models/examination/__init__.py +3 -3
- endoreg_db/models/examination/examination.py +26 -26
- endoreg_db/models/examination/examination_time.py +27 -27
- endoreg_db/models/examination/examination_time_type.py +24 -24
- endoreg_db/models/examination/examination_type.py +18 -18
- endoreg_db/models/hardware/__init__.py +1 -1
- endoreg_db/models/hardware/endoscope.py +44 -44
- endoreg_db/models/hardware/endoscopy_processor.py +143 -143
- endoreg_db/models/information_source.py +29 -22
- endoreg_db/models/label/label.py +84 -84
- endoreg_db/models/laboratory/__init__.py +1 -0
- endoreg_db/models/laboratory/lab_value.py +102 -0
- endoreg_db/models/legacy_data/__init__.py +3 -3
- endoreg_db/models/legacy_data/image.py +34 -34
- endoreg_db/models/medication/__init__.py +1 -0
- endoreg_db/models/medication/medication.py +148 -0
- endoreg_db/models/other/__init__.py +5 -0
- endoreg_db/models/other/distribution.py +215 -0
- endoreg_db/models/other/material.py +16 -0
- endoreg_db/models/other/resource.py +18 -0
- endoreg_db/models/other/transport_route.py +21 -0
- endoreg_db/models/other/waste.py +20 -0
- endoreg_db/models/patient_examination/__init__.py +35 -35
- endoreg_db/models/permissions/__init__.py +44 -44
- endoreg_db/models/persons/__init__.py +7 -6
- endoreg_db/models/persons/examiner/__init__.py +1 -1
- endoreg_db/models/persons/examiner/examiner.py +15 -15
- endoreg_db/models/persons/examiner/examiner_type.py +1 -1
- endoreg_db/models/persons/first_name.py +17 -17
- endoreg_db/models/persons/gender.py +22 -0
- endoreg_db/models/persons/last_name.py +19 -19
- endoreg_db/models/persons/patient/__init__.py +8 -0
- endoreg_db/models/persons/patient/case/__init__.py +0 -0
- endoreg_db/models/persons/patient/case/case.py +30 -0
- endoreg_db/models/persons/patient/patient.py +216 -0
- endoreg_db/models/persons/patient/patient_disease.py +16 -0
- endoreg_db/models/persons/patient/patient_event.py +22 -0
- endoreg_db/models/persons/patient/patient_lab_sample.py +106 -0
- endoreg_db/models/persons/patient/patient_lab_value.py +176 -0
- endoreg_db/models/persons/patient/patient_medication.py +44 -0
- endoreg_db/models/persons/patient/patient_medication_schedule.py +28 -0
- endoreg_db/models/persons/person.py +31 -34
- endoreg_db/models/persons/portal_user_information.py +27 -29
- endoreg_db/models/prediction/__init__.py +1 -1
- endoreg_db/models/prediction/image_classification.py +37 -37
- endoreg_db/models/prediction/video_prediction_meta.py +244 -244
- endoreg_db/models/product/__init__.py +5 -0
- endoreg_db/models/product/product.py +97 -0
- endoreg_db/models/product/product_group.py +19 -0
- endoreg_db/models/product/product_material.py +24 -0
- endoreg_db/models/product/product_weight.py +26 -0
- endoreg_db/models/product/reference_product.py +99 -0
- endoreg_db/models/questionnaires/__init__.py +114 -114
- endoreg_db/models/quiz/__init__.py +2 -0
- endoreg_db/models/quiz/quiz_answer.py +41 -0
- endoreg_db/models/quiz/quiz_question.py +54 -0
- endoreg_db/models/report_reader/__init__.py +1 -1
- endoreg_db/models/report_reader/report_reader_config.py +53 -53
- endoreg_db/models/report_reader/report_reader_flag.py +19 -19
- endoreg_db/models/rules/__init__.py +5 -0
- endoreg_db/models/rules/rule.py +24 -0
- endoreg_db/models/rules/rule_applicator.py +224 -0
- endoreg_db/models/rules/rule_attribute_dtype.py +19 -0
- endoreg_db/models/rules/rule_type.py +22 -0
- endoreg_db/models/rules/ruleset.py +19 -0
- endoreg_db/models/unit.py +21 -19
- endoreg_db/queries/__init__.py +4 -4
- endoreg_db/queries/annotations/__init__.py +2 -2
- endoreg_db/queries/annotations/legacy.py +159 -159
- endoreg_db/queries/get/__init__.py +5 -5
- endoreg_db/queries/get/center.py +42 -42
- endoreg_db/queries/get/model.py +13 -13
- endoreg_db/queries/get/patient.py +14 -14
- endoreg_db/queries/get/patient_examination.py +20 -20
- endoreg_db/queries/get/report_file.py +33 -33
- endoreg_db/queries/get/video.py +31 -31
- endoreg_db/serializers/__init__.py +9 -9
- endoreg_db/serializers/ai_model.py +18 -18
- endoreg_db/serializers/annotation.py +17 -17
- endoreg_db/serializers/center.py +11 -11
- endoreg_db/serializers/examination.py +32 -32
- endoreg_db/serializers/frame.py +13 -13
- endoreg_db/serializers/hardware.py +20 -20
- endoreg_db/serializers/label.py +22 -22
- endoreg_db/serializers/patient.py +10 -10
- endoreg_db/serializers/prediction.py +15 -15
- endoreg_db/serializers/report_file.py +7 -7
- endoreg_db/serializers/video.py +27 -27
- endoreg_db/tests.py +3 -3
- endoreg_db/utils/cropping.py +28 -28
- endoreg_db/utils/dataloader.py +92 -185
- endoreg_db/utils/file_operations.py +30 -30
- endoreg_db/utils/hashs.py +33 -33
- endoreg_db/utils/legacy_ocr.py +201 -201
- endoreg_db/utils/ocr.py +197 -197
- endoreg_db/utils/uuid.py +4 -4
- endoreg_db/utils/video_metadata.py +87 -87
- endoreg_db/views.py +3 -3
- {endoreg_db-0.3.4.dist-info → endoreg_db-0.3.6.dist-info}/LICENSE +674 -674
- {endoreg_db-0.3.4.dist-info → endoreg_db-0.3.6.dist-info}/METADATA +2 -2
- endoreg_db-0.3.6.dist-info/RECORD +357 -0
- {endoreg_db-0.3.4.dist-info → endoreg_db-0.3.6.dist-info}/WHEEL +1 -1
- endoreg_db/models/persons/patient.py +0 -58
- endoreg_db/models.py +0 -3
- endoreg_db-0.3.4.dist-info/RECORD +0 -185
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
from django.conf import settings
|
|
2
|
-
import os
|
|
3
|
-
from django.core.management.base import BaseCommand
|
|
4
|
-
from ...models import EndoscopyProcessor
|
|
5
|
-
from ...utils import load_model_data_from_yaml
|
|
6
|
-
from ...data import ENDOSCOPY_PROCESSOR_DATA_DIR
|
|
7
|
-
|
|
8
|
-
SOURCE_DIR = ENDOSCOPY_PROCESSOR_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
|
|
9
|
-
|
|
10
|
-
MODEL_0 = EndoscopyProcessor
|
|
11
|
-
|
|
12
|
-
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
13
|
-
MODEL_0.__name__,
|
|
14
|
-
]
|
|
15
|
-
|
|
16
|
-
IMPORT_METADATA = {
|
|
17
|
-
MODEL_0.__name__: {
|
|
18
|
-
"dir": SOURCE_DIR, # e.g. "interventions"
|
|
19
|
-
"model": MODEL_0, # e.g. Intervention
|
|
20
|
-
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
21
|
-
"foreign_key_models": [] # e.g. [InterventionType]
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
class Command(BaseCommand):
|
|
26
|
-
help = """Load all .yaml files in the data/intervention directory
|
|
27
|
-
into the Intervention and InterventionType model"""
|
|
28
|
-
|
|
29
|
-
def add_arguments(self, parser):
|
|
30
|
-
parser.add_argument(
|
|
31
|
-
'--verbose',
|
|
32
|
-
action='store_true',
|
|
33
|
-
help='Display verbose output',
|
|
34
|
-
)
|
|
35
|
-
|
|
36
|
-
def handle(self, *args, **options):
|
|
37
|
-
verbose = options['verbose']
|
|
38
|
-
for model_name in IMPORT_MODELS:
|
|
39
|
-
_metadata = IMPORT_METADATA[model_name]
|
|
40
|
-
load_model_data_from_yaml(
|
|
41
|
-
self,
|
|
42
|
-
model_name,
|
|
43
|
-
_metadata,
|
|
44
|
-
verbose
|
|
1
|
+
from django.conf import settings
|
|
2
|
+
import os
|
|
3
|
+
from django.core.management.base import BaseCommand
|
|
4
|
+
from ...models import EndoscopyProcessor
|
|
5
|
+
from ...utils import load_model_data_from_yaml
|
|
6
|
+
from ...data import ENDOSCOPY_PROCESSOR_DATA_DIR
|
|
7
|
+
|
|
8
|
+
SOURCE_DIR = ENDOSCOPY_PROCESSOR_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
|
|
9
|
+
|
|
10
|
+
MODEL_0 = EndoscopyProcessor
|
|
11
|
+
|
|
12
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
13
|
+
MODEL_0.__name__,
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
IMPORT_METADATA = {
|
|
17
|
+
MODEL_0.__name__: {
|
|
18
|
+
"dir": SOURCE_DIR, # e.g. "interventions"
|
|
19
|
+
"model": MODEL_0, # e.g. Intervention
|
|
20
|
+
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
21
|
+
"foreign_key_models": [] # e.g. [InterventionType]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
class Command(BaseCommand):
|
|
26
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
27
|
+
into the Intervention and InterventionType model"""
|
|
28
|
+
|
|
29
|
+
def add_arguments(self, parser):
|
|
30
|
+
parser.add_argument(
|
|
31
|
+
'--verbose',
|
|
32
|
+
action='store_true',
|
|
33
|
+
help='Display verbose output',
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
def handle(self, *args, **options):
|
|
37
|
+
verbose = options['verbose']
|
|
38
|
+
for model_name in IMPORT_MODELS:
|
|
39
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
40
|
+
load_model_data_from_yaml(
|
|
41
|
+
self,
|
|
42
|
+
model_name,
|
|
43
|
+
_metadata,
|
|
44
|
+
verbose
|
|
45
45
|
)
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import Event
|
|
3
|
+
from ...utils import load_model_data_from_yaml
|
|
4
|
+
from ...data import EVENT_DATA_DIR as SOURCE_DIR
|
|
5
|
+
|
|
6
|
+
MODEL_0 = Event
|
|
7
|
+
|
|
8
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
9
|
+
MODEL_0.__name__,
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
IMPORT_METADATA = {
|
|
13
|
+
MODEL_0.__name__: {
|
|
14
|
+
"dir": SOURCE_DIR, # e.g. "interventions"
|
|
15
|
+
"model": MODEL_0, # e.g. Intervention
|
|
16
|
+
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
17
|
+
"foreign_key_models": [] # e.g. [InterventionType]
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
class Command(BaseCommand):
|
|
22
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
23
|
+
into the Intervention and InterventionType model"""
|
|
24
|
+
|
|
25
|
+
def add_arguments(self, parser):
|
|
26
|
+
parser.add_argument(
|
|
27
|
+
'--verbose',
|
|
28
|
+
action='store_true',
|
|
29
|
+
help='Display verbose output',
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
def handle(self, *args, **options):
|
|
33
|
+
verbose = options['verbose']
|
|
34
|
+
for model_name in IMPORT_MODELS:
|
|
35
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
36
|
+
load_model_data_from_yaml(
|
|
37
|
+
self,
|
|
38
|
+
model_name,
|
|
39
|
+
_metadata,
|
|
40
|
+
verbose
|
|
41
|
+
)
|
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
from django.conf import settings
|
|
2
|
-
from django.core.management.base import BaseCommand
|
|
3
|
-
from ...models import (
|
|
4
|
-
Examination,
|
|
5
|
-
ExaminationType, # Replace 'your_app_name' with the actual app name
|
|
6
|
-
ExaminationTime,
|
|
7
|
-
ExaminationTimeType,
|
|
8
|
-
)
|
|
9
|
-
import os
|
|
10
|
-
from ...utils import load_model_data_from_yaml
|
|
11
|
-
from ...data import EXAMINATION_DATA_DIR
|
|
12
|
-
|
|
13
|
-
SOURCE_DIR = EXAMINATION_DATA_DIR
|
|
14
|
-
|
|
15
|
-
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
16
|
-
"ExaminationType",
|
|
17
|
-
"Examination",
|
|
18
|
-
"ExaminationTimeType",
|
|
19
|
-
"ExaminationTime"
|
|
20
|
-
]
|
|
21
|
-
|
|
22
|
-
IMPORT_METADATA = {
|
|
23
|
-
# "": { # same as model name in "import models", e.g. "Intervention"
|
|
24
|
-
# "subdir": os.path.join(SOURCE_DIR,""), # e.g. "interventions"
|
|
25
|
-
# "model": None, # e.g. Intervention
|
|
26
|
-
# "foreign_keys": [], # e.g. ["intervention_types"]
|
|
27
|
-
# "foreign_key_models": [] # e.g. [InterventionType]
|
|
28
|
-
# },
|
|
29
|
-
"ExaminationType": {
|
|
30
|
-
"dir": os.path.join(SOURCE_DIR,"type"), # e.g. "interventions"
|
|
31
|
-
"model": ExaminationType, # e.g. Intervention
|
|
32
|
-
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
33
|
-
"foreign_key_models": [] # e.g. [InterventionType]
|
|
34
|
-
},
|
|
35
|
-
"Examination": {
|
|
36
|
-
"dir": os.path.join(SOURCE_DIR,"examinations"), # e.g. "interventions"
|
|
37
|
-
"model": Examination, # e.g. Intervention
|
|
38
|
-
"foreign_keys": ["examination_types"], # e.g. ["intervention_types"]
|
|
39
|
-
"foreign_key_models": [ExaminationType] # e.g. [InterventionType]
|
|
40
|
-
},
|
|
41
|
-
"ExaminationTimeType": {
|
|
42
|
-
"dir": os.path.join(SOURCE_DIR,"time-type"), # e.g. "interventions"
|
|
43
|
-
"model": ExaminationTimeType, # e.g. Intervention
|
|
44
|
-
"foreign_keys": ["examinations"], # e.g. ["intervention_types"]
|
|
45
|
-
"foreign_key_models": [Examination] # e.g. [InterventionType]
|
|
46
|
-
},
|
|
47
|
-
"ExaminationTime": {
|
|
48
|
-
"dir": os.path.join(SOURCE_DIR,"time"), # e.g. "interventions"
|
|
49
|
-
"model": ExaminationTime, # e.g. Intervention
|
|
50
|
-
"foreign_keys": ["time_types"], # e.g. ["intervention_types"]
|
|
51
|
-
"foreign_key_models": [ExaminationTimeType] # e.g. [InterventionType]
|
|
52
|
-
},
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
class Command(BaseCommand):
|
|
56
|
-
help = """Load all .yaml files in the data/intervention directory
|
|
57
|
-
into the Intervention and InterventionType model"""
|
|
58
|
-
|
|
59
|
-
def add_arguments(self, parser):
|
|
60
|
-
parser.add_argument(
|
|
61
|
-
'--verbose',
|
|
62
|
-
action='store_true',
|
|
63
|
-
help='Display verbose output',
|
|
64
|
-
)
|
|
65
|
-
|
|
66
|
-
def handle(self, *args, **options):
|
|
67
|
-
verbose = options['verbose']
|
|
68
|
-
for model_name in IMPORT_MODELS:
|
|
69
|
-
_metadata = IMPORT_METADATA[model_name]
|
|
70
|
-
load_model_data_from_yaml(
|
|
71
|
-
self,
|
|
72
|
-
model_name,
|
|
73
|
-
_metadata,
|
|
74
|
-
verbose
|
|
1
|
+
from django.conf import settings
|
|
2
|
+
from django.core.management.base import BaseCommand
|
|
3
|
+
from ...models import (
|
|
4
|
+
Examination,
|
|
5
|
+
ExaminationType, # Replace 'your_app_name' with the actual app name
|
|
6
|
+
ExaminationTime,
|
|
7
|
+
ExaminationTimeType,
|
|
8
|
+
)
|
|
9
|
+
import os
|
|
10
|
+
from ...utils import load_model_data_from_yaml
|
|
11
|
+
from ...data import EXAMINATION_DATA_DIR
|
|
12
|
+
|
|
13
|
+
SOURCE_DIR = EXAMINATION_DATA_DIR
|
|
14
|
+
|
|
15
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
16
|
+
"ExaminationType",
|
|
17
|
+
"Examination",
|
|
18
|
+
"ExaminationTimeType",
|
|
19
|
+
"ExaminationTime"
|
|
20
|
+
]
|
|
21
|
+
|
|
22
|
+
IMPORT_METADATA = {
|
|
23
|
+
# "": { # same as model name in "import models", e.g. "Intervention"
|
|
24
|
+
# "subdir": os.path.join(SOURCE_DIR,""), # e.g. "interventions"
|
|
25
|
+
# "model": None, # e.g. Intervention
|
|
26
|
+
# "foreign_keys": [], # e.g. ["intervention_types"]
|
|
27
|
+
# "foreign_key_models": [] # e.g. [InterventionType]
|
|
28
|
+
# },
|
|
29
|
+
"ExaminationType": {
|
|
30
|
+
"dir": os.path.join(SOURCE_DIR,"type"), # e.g. "interventions"
|
|
31
|
+
"model": ExaminationType, # e.g. Intervention
|
|
32
|
+
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
33
|
+
"foreign_key_models": [] # e.g. [InterventionType]
|
|
34
|
+
},
|
|
35
|
+
"Examination": {
|
|
36
|
+
"dir": os.path.join(SOURCE_DIR,"examinations"), # e.g. "interventions"
|
|
37
|
+
"model": Examination, # e.g. Intervention
|
|
38
|
+
"foreign_keys": ["examination_types"], # e.g. ["intervention_types"]
|
|
39
|
+
"foreign_key_models": [ExaminationType] # e.g. [InterventionType]
|
|
40
|
+
},
|
|
41
|
+
"ExaminationTimeType": {
|
|
42
|
+
"dir": os.path.join(SOURCE_DIR,"time-type"), # e.g. "interventions"
|
|
43
|
+
"model": ExaminationTimeType, # e.g. Intervention
|
|
44
|
+
"foreign_keys": ["examinations"], # e.g. ["intervention_types"]
|
|
45
|
+
"foreign_key_models": [Examination] # e.g. [InterventionType]
|
|
46
|
+
},
|
|
47
|
+
"ExaminationTime": {
|
|
48
|
+
"dir": os.path.join(SOURCE_DIR,"time"), # e.g. "interventions"
|
|
49
|
+
"model": ExaminationTime, # e.g. Intervention
|
|
50
|
+
"foreign_keys": ["time_types"], # e.g. ["intervention_types"]
|
|
51
|
+
"foreign_key_models": [ExaminationTimeType] # e.g. [InterventionType]
|
|
52
|
+
},
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
class Command(BaseCommand):
|
|
56
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
57
|
+
into the Intervention and InterventionType model"""
|
|
58
|
+
|
|
59
|
+
def add_arguments(self, parser):
|
|
60
|
+
parser.add_argument(
|
|
61
|
+
'--verbose',
|
|
62
|
+
action='store_true',
|
|
63
|
+
help='Display verbose output',
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
def handle(self, *args, **options):
|
|
67
|
+
verbose = options['verbose']
|
|
68
|
+
for model_name in IMPORT_MODELS:
|
|
69
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
70
|
+
load_model_data_from_yaml(
|
|
71
|
+
self,
|
|
72
|
+
model_name,
|
|
73
|
+
_metadata,
|
|
74
|
+
verbose
|
|
75
75
|
)
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import (
|
|
3
|
+
CaseTemplateRuleType,
|
|
4
|
+
CaseTemplateRuleValueType,
|
|
5
|
+
CaseTemplateRuleValue,
|
|
6
|
+
CaseTemplateRule,
|
|
7
|
+
CaseTemplateType,
|
|
8
|
+
CaseTemplate,
|
|
9
|
+
SingleCategoricalValueDistribution,
|
|
10
|
+
NumericValueDistribution,
|
|
11
|
+
MultipleCategoricalValueDistribution,
|
|
12
|
+
DateValueDistribution,
|
|
13
|
+
|
|
14
|
+
QuizQuestionType,
|
|
15
|
+
QuizAnswerType,
|
|
16
|
+
QuizQuestion,
|
|
17
|
+
QuizAnswer,
|
|
18
|
+
|
|
19
|
+
# Other models for ForeignKeys
|
|
20
|
+
Unit, Center
|
|
21
|
+
)
|
|
22
|
+
from collections import OrderedDict
|
|
23
|
+
|
|
24
|
+
from ...utils import load_model_data_from_yaml
|
|
25
|
+
from ...data import (
|
|
26
|
+
CASE_TEMPLATE_RULE_TYPE_DATA_DIR,
|
|
27
|
+
CASE_TEMPLATE_RULE_DATA_DIR,
|
|
28
|
+
CASE_TEMPLATE_RULE_VALUE_TYPE_DATA_DIR,
|
|
29
|
+
CASE_TEMPLATE_RULE_VALUE_DATA_DIR,
|
|
30
|
+
CASE_TEMPLATE_TYPE_DATA_DIR,
|
|
31
|
+
CASE_TEMPLATE_DATA_DIR,
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
IMPORT_METADATA = OrderedDict({
|
|
35
|
+
CaseTemplateRuleType.__name__: {
|
|
36
|
+
"dir": CASE_TEMPLATE_RULE_TYPE_DATA_DIR,
|
|
37
|
+
"model": CaseTemplateRuleType,
|
|
38
|
+
"foreign_keys": [],
|
|
39
|
+
"foreign_key_models": []
|
|
40
|
+
},
|
|
41
|
+
CaseTemplateRuleValueType.__name__: {
|
|
42
|
+
"dir": CASE_TEMPLATE_RULE_VALUE_TYPE_DATA_DIR,
|
|
43
|
+
"model": CaseTemplateRuleValueType,
|
|
44
|
+
"foreign_keys": [],
|
|
45
|
+
"foreign_key_models": []
|
|
46
|
+
},
|
|
47
|
+
CaseTemplateRuleValue.__name__: {
|
|
48
|
+
"dir": CASE_TEMPLATE_RULE_VALUE_DATA_DIR,
|
|
49
|
+
"model": CaseTemplateRuleValue,
|
|
50
|
+
"foreign_keys": ["value_type"],
|
|
51
|
+
"foreign_key_models": [CaseTemplateRuleValueType]
|
|
52
|
+
},
|
|
53
|
+
CaseTemplateRule.__name__: {
|
|
54
|
+
"dir": CASE_TEMPLATE_RULE_DATA_DIR,
|
|
55
|
+
"model": CaseTemplateRule,
|
|
56
|
+
"foreign_keys": [
|
|
57
|
+
"rule_type",
|
|
58
|
+
# "rule_values",
|
|
59
|
+
"chained_rules",
|
|
60
|
+
"value_type",
|
|
61
|
+
"single_categorical_value_distribution",
|
|
62
|
+
"numerical_value_distribution",
|
|
63
|
+
"multiple_categorical_value_distribution",
|
|
64
|
+
"date_value_distribution"
|
|
65
|
+
],
|
|
66
|
+
"foreign_key_models": [
|
|
67
|
+
CaseTemplateRuleType,
|
|
68
|
+
# CaseTemplateRuleValue,
|
|
69
|
+
CaseTemplateRule,
|
|
70
|
+
CaseTemplateRuleValueType,
|
|
71
|
+
SingleCategoricalValueDistribution,
|
|
72
|
+
NumericValueDistribution,
|
|
73
|
+
MultipleCategoricalValueDistribution,
|
|
74
|
+
DateValueDistribution
|
|
75
|
+
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
CaseTemplateType.__name__: {
|
|
79
|
+
"dir": CASE_TEMPLATE_TYPE_DATA_DIR,
|
|
80
|
+
"model": CaseTemplateType,
|
|
81
|
+
"foreign_keys": [],
|
|
82
|
+
"foreign_key_models": []
|
|
83
|
+
},
|
|
84
|
+
CaseTemplate.__name__: {
|
|
85
|
+
"dir": CASE_TEMPLATE_DATA_DIR,
|
|
86
|
+
"model": CaseTemplate,
|
|
87
|
+
"foreign_keys": ["template_type", "rules"],
|
|
88
|
+
"foreign_key_models": [CaseTemplateType, CaseTemplateRule]
|
|
89
|
+
},
|
|
90
|
+
|
|
91
|
+
})
|
|
92
|
+
|
|
93
|
+
class Command(BaseCommand):
|
|
94
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
95
|
+
into the Intervention and InterventionType model"""
|
|
96
|
+
|
|
97
|
+
def add_arguments(self, parser):
|
|
98
|
+
parser.add_argument(
|
|
99
|
+
'--verbose',
|
|
100
|
+
action='store_true',
|
|
101
|
+
help='Display verbose output',
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
def handle(self, *args, **options):
|
|
105
|
+
verbose = options['verbose']
|
|
106
|
+
for model_name in IMPORT_METADATA.keys():
|
|
107
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
108
|
+
load_model_data_from_yaml(
|
|
109
|
+
self,
|
|
110
|
+
model_name,
|
|
111
|
+
_metadata,
|
|
112
|
+
verbose
|
|
113
|
+
)
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import (
|
|
3
|
+
Gender,
|
|
4
|
+
|
|
5
|
+
# Other models for ForeignKeys
|
|
6
|
+
Unit, Center
|
|
7
|
+
)
|
|
8
|
+
from collections import OrderedDict
|
|
9
|
+
|
|
10
|
+
from ...utils import load_model_data_from_yaml
|
|
11
|
+
from ...data import (
|
|
12
|
+
GENDER_DATA_DIR,
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
IMPORT_METADATA = OrderedDict({
|
|
16
|
+
Gender.__name__: {
|
|
17
|
+
"dir": GENDER_DATA_DIR,
|
|
18
|
+
"model": Gender,
|
|
19
|
+
"foreign_keys": [],
|
|
20
|
+
"foreign_key_models": []
|
|
21
|
+
},
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
class Command(BaseCommand):
|
|
25
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
26
|
+
into the Intervention and InterventionType model"""
|
|
27
|
+
|
|
28
|
+
def add_arguments(self, parser):
|
|
29
|
+
parser.add_argument(
|
|
30
|
+
'--verbose',
|
|
31
|
+
action='store_true',
|
|
32
|
+
help='Display verbose output',
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
def handle(self, *args, **options):
|
|
36
|
+
verbose = options['verbose']
|
|
37
|
+
for model_name in IMPORT_METADATA.keys():
|
|
38
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
39
|
+
load_model_data_from_yaml(
|
|
40
|
+
self,
|
|
41
|
+
model_name,
|
|
42
|
+
_metadata,
|
|
43
|
+
verbose
|
|
44
|
+
)
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
from django.core.management.base import BaseCommand
|
|
2
|
+
from endoreg_db.models import (
|
|
3
|
+
EmissionFactor,
|
|
4
|
+
Resource,
|
|
5
|
+
Waste,
|
|
6
|
+
Material,
|
|
7
|
+
Product,
|
|
8
|
+
ProductGroup,
|
|
9
|
+
ReferenceProduct,
|
|
10
|
+
ProductGroup,
|
|
11
|
+
TransportRoute,
|
|
12
|
+
CenterWaste,
|
|
13
|
+
CenterResource,
|
|
14
|
+
ProductMaterial,
|
|
15
|
+
ProductWeight,
|
|
16
|
+
|
|
17
|
+
# Other models for ForeignKeys
|
|
18
|
+
Unit, Center
|
|
19
|
+
)
|
|
20
|
+
from collections import OrderedDict
|
|
21
|
+
|
|
22
|
+
from ...utils import load_model_data_from_yaml
|
|
23
|
+
from ...data import (
|
|
24
|
+
EMISSION_FACTOR_DATA_DIR,
|
|
25
|
+
RESOURCE_DATA_DIR,
|
|
26
|
+
WASTE_DATA_DIR,
|
|
27
|
+
MATERIAL_DATA_DIR,
|
|
28
|
+
PRODUCT_DATA_DIR,
|
|
29
|
+
PRODUCT_GROUP_DATA_DIR,
|
|
30
|
+
REFERENCE_PRODUCT_DATA_DIR,
|
|
31
|
+
TRANSPORT_ROUTE_DATA_DIR,
|
|
32
|
+
CENTER_WASTE_DATA_DIR,
|
|
33
|
+
CENTER_RESOURCE_DATA_DIR,
|
|
34
|
+
PRODUCT_MATERIAL_DATA_DIR,
|
|
35
|
+
PRODUCT_WEIGHT_DATA_DIR,
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
IMPORT_METADATA = OrderedDict({
|
|
39
|
+
EmissionFactor.__name__: {
|
|
40
|
+
"dir": EMISSION_FACTOR_DATA_DIR,
|
|
41
|
+
"model": EmissionFactor,
|
|
42
|
+
"foreign_keys": ["unit"],
|
|
43
|
+
"foreign_key_models": [Unit]
|
|
44
|
+
},
|
|
45
|
+
Resource.__name__: {
|
|
46
|
+
"dir": RESOURCE_DATA_DIR,
|
|
47
|
+
"model": Resource,
|
|
48
|
+
"foreign_keys": [],
|
|
49
|
+
"foreign_key_models": []
|
|
50
|
+
},
|
|
51
|
+
Waste.__name__: {
|
|
52
|
+
"dir": WASTE_DATA_DIR,
|
|
53
|
+
"model": Waste,
|
|
54
|
+
"foreign_keys": [],
|
|
55
|
+
"foreign_key_models": []
|
|
56
|
+
},
|
|
57
|
+
Material.__name__: {
|
|
58
|
+
"dir": MATERIAL_DATA_DIR,
|
|
59
|
+
"model": Material,
|
|
60
|
+
"foreign_keys": ["emission_factor"],
|
|
61
|
+
"foreign_key_models": [EmissionFactor]
|
|
62
|
+
},
|
|
63
|
+
ProductGroup.__name__: {
|
|
64
|
+
"dir": PRODUCT_GROUP_DATA_DIR,
|
|
65
|
+
"model": ProductGroup,
|
|
66
|
+
"foreign_keys": [],
|
|
67
|
+
"foreign_key_models": []
|
|
68
|
+
},
|
|
69
|
+
TransportRoute.__name__: {
|
|
70
|
+
"dir": TRANSPORT_ROUTE_DATA_DIR,
|
|
71
|
+
"model": TransportRoute,
|
|
72
|
+
"foreign_keys": ["emission_factor", "unit"],
|
|
73
|
+
"foreign_key_models": [EmissionFactor, Unit]
|
|
74
|
+
},
|
|
75
|
+
Product.__name__: {
|
|
76
|
+
"dir": PRODUCT_DATA_DIR,
|
|
77
|
+
"model": Product,
|
|
78
|
+
"foreign_keys": ["product_group", "transport_route"],
|
|
79
|
+
"foreign_key_models": [ProductGroup, TransportRoute]
|
|
80
|
+
},
|
|
81
|
+
ReferenceProduct.__name__: {
|
|
82
|
+
"dir": REFERENCE_PRODUCT_DATA_DIR,
|
|
83
|
+
"model": ReferenceProduct,
|
|
84
|
+
"foreign_keys": ["product","product_group"],
|
|
85
|
+
"foreign_key_models": [Product,ProductGroup]
|
|
86
|
+
},
|
|
87
|
+
CenterWaste.__name__: {
|
|
88
|
+
"dir": CENTER_WASTE_DATA_DIR,
|
|
89
|
+
"model": CenterWaste,
|
|
90
|
+
"foreign_keys": ["waste", "center", "unit", "emission_factor"],
|
|
91
|
+
"foreign_key_models": [Waste, Center, Unit, EmissionFactor]
|
|
92
|
+
},
|
|
93
|
+
CenterResource.__name__: {
|
|
94
|
+
"dir": CENTER_RESOURCE_DATA_DIR,
|
|
95
|
+
"model": CenterResource,
|
|
96
|
+
"foreign_keys": ["center","resource", "unit", "transport_emission_factor", "use_emission_factor"],
|
|
97
|
+
"foreign_key_models": [Center,Resource, Unit, EmissionFactor, EmissionFactor]
|
|
98
|
+
},
|
|
99
|
+
ProductMaterial.__name__: {
|
|
100
|
+
"dir": PRODUCT_MATERIAL_DATA_DIR,
|
|
101
|
+
"model": ProductMaterial,
|
|
102
|
+
"foreign_keys": ["product", "material", "unit"],
|
|
103
|
+
"foreign_key_models": [Product, Material, Unit]
|
|
104
|
+
},
|
|
105
|
+
ProductWeight.__name__: {
|
|
106
|
+
"dir": PRODUCT_WEIGHT_DATA_DIR,
|
|
107
|
+
"model": ProductWeight,
|
|
108
|
+
"foreign_keys": ["product", "unit"],
|
|
109
|
+
"foreign_key_models": [Product, Unit]
|
|
110
|
+
}
|
|
111
|
+
})
|
|
112
|
+
|
|
113
|
+
class Command(BaseCommand):
|
|
114
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
115
|
+
into the Intervention and InterventionType model"""
|
|
116
|
+
|
|
117
|
+
def add_arguments(self, parser):
|
|
118
|
+
parser.add_argument(
|
|
119
|
+
'--verbose',
|
|
120
|
+
action='store_true',
|
|
121
|
+
help='Display verbose output',
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
def handle(self, *args, **options):
|
|
125
|
+
verbose = options['verbose']
|
|
126
|
+
for model_name in IMPORT_METADATA.keys():
|
|
127
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
128
|
+
load_model_data_from_yaml(
|
|
129
|
+
self,
|
|
130
|
+
model_name,
|
|
131
|
+
_metadata,
|
|
132
|
+
verbose
|
|
133
|
+
)
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
from django.conf import settings
|
|
2
|
-
import os
|
|
3
|
-
from django.core.management.base import BaseCommand
|
|
4
|
-
from ...models import InformationSource
|
|
5
|
-
from ...utils import load_model_data_from_yaml
|
|
6
|
-
from ...data import INFORMATION_DATA_DIR
|
|
7
|
-
|
|
8
|
-
SOURCE_DIR = INFORMATION_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
|
|
9
|
-
|
|
10
|
-
MODEL_0 = InformationSource
|
|
11
|
-
|
|
12
|
-
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
13
|
-
MODEL_0.__name__,
|
|
14
|
-
]
|
|
15
|
-
|
|
16
|
-
IMPORT_METADATA = {
|
|
17
|
-
MODEL_0.__name__: {
|
|
18
|
-
"dir": SOURCE_DIR, # e.g. "interventions"
|
|
19
|
-
"model": MODEL_0, # e.g. Intervention
|
|
20
|
-
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
21
|
-
"foreign_key_models": [] # e.g. [InterventionType]
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
class Command(BaseCommand):
|
|
26
|
-
help = """Load all .yaml files in the data/intervention directory
|
|
27
|
-
into the Intervention and InterventionType model"""
|
|
28
|
-
|
|
29
|
-
def add_arguments(self, parser):
|
|
30
|
-
parser.add_argument(
|
|
31
|
-
'--verbose',
|
|
32
|
-
action='store_true',
|
|
33
|
-
help='Display verbose output',
|
|
34
|
-
)
|
|
35
|
-
|
|
36
|
-
def handle(self, *args, **options):
|
|
37
|
-
verbose = options['verbose']
|
|
38
|
-
for model_name in IMPORT_MODELS:
|
|
39
|
-
_metadata = IMPORT_METADATA[model_name]
|
|
40
|
-
load_model_data_from_yaml(
|
|
41
|
-
self,
|
|
42
|
-
model_name,
|
|
43
|
-
_metadata,
|
|
44
|
-
verbose
|
|
1
|
+
from django.conf import settings
|
|
2
|
+
import os
|
|
3
|
+
from django.core.management.base import BaseCommand
|
|
4
|
+
from ...models import InformationSource
|
|
5
|
+
from ...utils import load_model_data_from_yaml
|
|
6
|
+
from ...data import INFORMATION_DATA_DIR
|
|
7
|
+
|
|
8
|
+
SOURCE_DIR = INFORMATION_DATA_DIR # e.g. settings.DATA_DIR_INTERVENTION
|
|
9
|
+
|
|
10
|
+
MODEL_0 = InformationSource
|
|
11
|
+
|
|
12
|
+
IMPORT_MODELS = [ # string as model key, serves as key in IMPORT_METADATA
|
|
13
|
+
MODEL_0.__name__,
|
|
14
|
+
]
|
|
15
|
+
|
|
16
|
+
IMPORT_METADATA = {
|
|
17
|
+
MODEL_0.__name__: {
|
|
18
|
+
"dir": SOURCE_DIR, # e.g. "interventions"
|
|
19
|
+
"model": MODEL_0, # e.g. Intervention
|
|
20
|
+
"foreign_keys": [], # e.g. ["intervention_types"]
|
|
21
|
+
"foreign_key_models": [] # e.g. [InterventionType]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
class Command(BaseCommand):
|
|
26
|
+
help = """Load all .yaml files in the data/intervention directory
|
|
27
|
+
into the Intervention and InterventionType model"""
|
|
28
|
+
|
|
29
|
+
def add_arguments(self, parser):
|
|
30
|
+
parser.add_argument(
|
|
31
|
+
'--verbose',
|
|
32
|
+
action='store_true',
|
|
33
|
+
help='Display verbose output',
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
def handle(self, *args, **options):
|
|
37
|
+
verbose = options['verbose']
|
|
38
|
+
for model_name in IMPORT_MODELS:
|
|
39
|
+
_metadata = IMPORT_METADATA[model_name]
|
|
40
|
+
load_model_data_from_yaml(
|
|
41
|
+
self,
|
|
42
|
+
model_name,
|
|
43
|
+
_metadata,
|
|
44
|
+
verbose
|
|
45
45
|
)
|