summaryrefslogtreecommitdiff
path: root/ishtar_common/serializers.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/serializers.py')
-rw-r--r--ishtar_common/serializers.py40
1 files changed, 35 insertions, 5 deletions
diff --git a/ishtar_common/serializers.py b/ishtar_common/serializers.py
index bd0dac3d4..7e61df517 100644
--- a/ishtar_common/serializers.py
+++ b/ishtar_common/serializers.py
@@ -34,14 +34,17 @@ class PublicSerializer(serializers.BaseSerializer):
TYPE_MODEL_EXCLUDE = ["Area", "OperationTypeOld"]
-def type_serialization(archive=False, return_empty_types=False,
- archive_name=None):
- TYPE_MODEL_LIST = [
+def get_type_models():
+ return [
model for model in apps.get_models()
if isinstance(model(), models.GeneralType) and (
- model.__name__ not in TYPE_MODEL_EXCLUDE)
+ model.__name__ not in TYPE_MODEL_EXCLUDE)
]
- result = generic_get_results(TYPE_MODEL_LIST, "types")
+
+
+def type_serialization(archive=False, return_empty_types=False,
+ archive_name=None):
+ result = generic_get_results(get_type_models(), "types")
return archive_serialization(result, archive_dir="types", archive=archive,
return_empty_types=return_empty_types,
archive_name=archive_name)
@@ -176,6 +179,33 @@ def document_serialization(archive=False, return_empty_types=False,
return full_archive
+def full_serialization(operation_queryset=None, site_queryset=None,
+ cr_queryset=None, find_queryset=None,
+ warehouse_queryset=None):
+ archive_name = type_serialization()
+ conf_serialization(archive_name=archive_name)
+ importer_serialization(archive_name=archive_name)
+ geo_serialization(archive_name=archive_name)
+ directory_serialization(archive_name=archive_name)
+ document_serialization(archive_name=archive_name)
+ operation_serialization(
+ archive_name=archive_name, operation_queryset=operation_queryset,
+ site_queryset=site_queryset, cr_queryset=cr_queryset,
+ find_queryset=find_queryset, warehouse_queryset=warehouse_queryset)
+ cr_serialization(
+ archive_name=archive_name, operation_queryset=operation_queryset,
+ site_queryset=site_queryset, cr_queryset=cr_queryset,
+ find_queryset=find_queryset, warehouse_queryset=warehouse_queryset)
+ find_serialization(
+ archive_name=archive_name, operation_queryset=operation_queryset,
+ site_queryset=site_queryset, cr_queryset=cr_queryset,
+ find_queryset=find_queryset, warehouse_queryset=warehouse_queryset)
+ warehouse_serialization(
+ archive_name=archive_name, operation_queryset=operation_queryset,
+ site_queryset=site_queryset, cr_queryset=cr_queryset,
+ find_queryset=find_queryset, warehouse_queryset=warehouse_queryset)
+
+
def restore_serialized(archive_name, delete_existing=False):
with zipfile.ZipFile(archive_name, "r") as zip_file:
# check version