diff --git a/funidata_utils/data_scramblers/mobility_period.py b/funidata_utils/data_scramblers/mobility_period.py new file mode 100644 index 0000000..ce0c532 --- /dev/null +++ b/funidata_utils/data_scramblers/mobility_period.py @@ -0,0 +1,31 @@ +from .replacement_data import thesis_titles_fi, thesis_titles_en, thesis_titles_sv +from .utils.generic_scrambling import replace_from_list +from ..data_scramblers.base import SingletonMetaScrambler +from ..utils import update_inner_dictionary_key + + +class MobilityPeriodScrambler(SingletonMetaScrambler): + # key=None means "Keep the original value" + # lambda x: None means -> set the value None + scrambling_keys = dict( + id=None, + documentState=None, + studyRightId=None, + personId=None, + mobilityDirection=None, + activityPeriod=None, + phase=None, + mobilityProgramUrn=None, + mobilityProgramDescription=[ + lambda x: 'mobilityProgramDescription' if x else x + ], + mobilityTypeUrn=None, + countryUrn=None, + internationalInstitutionUrn=None, + organisation=[ + lambda x: 'organisation' if x else x, + ], + mobilityStudyRightTypeUrn=None, + virtualMobilityType=None, + isCancelled=None, + ) diff --git a/funidata_utils/sis_integration/resources/sis_resources.py b/funidata_utils/sis_integration/resources/sis_resources.py index 6e521b2..06fec4a 100644 --- a/funidata_utils/sis_integration/resources/sis_resources.py +++ b/funidata_utils/sis_integration/resources/sis_resources.py @@ -8,6 +8,7 @@ from ...data_scramblers.kori_person import KoriPersonScrambler from ...data_scramblers.attainment import AttainmentScrambler from ...data_scramblers.ilmo_enrolment import IlmoEnrolmentScrambler +from ...data_scramblers.mobility_period import MobilityPeriodScrambler from ...data_scramblers.study_right import StudyRightScrambler from ...data_scramblers.studyright_termregistration import StudyRightTermRegistrationScrambler from ...data_scramblers.osuva_plan_scrambler import OsuvaPlanScrambler @@ -176,6 +177,9 @@ class Thesis(BaseResource): class MobilityPeriods(BaseResource): + scrambling_classes = [ + MobilityPeriodScrambler + ] imports = SisImport( endpoint='/ori/api/mobility-periods/v1/import', default_import_limit=_DEFAULT_IMPORT_LIMIT,