diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-07 21:12:43 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-07 21:12:43 +0200 |
commit | 1638af713f4418f5dc5f0ccb97b691b668df0dc7 (patch) | |
tree | 84cfab184ccfb1052a1b752999efa91d0357d128 /ishtar_common/serializers.py | |
parent | f50d4f8d8cfff475451298f6dd14188fe971e0ef (diff) | |
download | Ishtar-1638af713f4418f5dc5f0ccb97b691b668df0dc7.tar.bz2 Ishtar-1638af713f4418f5dc5f0ccb97b691b668df0dc7.zip |
Serialization: full export test
Diffstat (limited to 'ishtar_common/serializers.py')
-rw-r--r-- | ishtar_common/serializers.py | 40 |
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 |