def _add_template(): """Add the registry template. Returns: """ xsd_filepath = REGISTRY_XSD_FILEPATH xsd_filename = REGISTRY_XSD_FILENAME if xsd_filename == "": raise Exception( "Please configure the REGISTRY_XSD_FILENAME setting in your project." ) if xsd_filepath == "": raise Exception( "Please configure the REGISTRY_XSD_FILEPATH setting in your project." ) try: version_manager_api.get_active_global_version_manager_by_title( xsd_filename) except exceptions.DoesNotExist: default_xsd_path = finders.find(xsd_filepath) xsd_data = read_file_content(default_xsd_path) template = Template(filename=xsd_filename, content=xsd_data) template_version_manager = TemplateVersionManager(title=xsd_filename) template_version_manager_api.insert(template_version_manager, template) except Exception as e: logger.error("Impossible to add the template: {0}".format(str(e)))
def test_version_manager_get_raises_exception_if_object_does_not_exist( self, mock_get_active_global): # Arrange mock_absent_title = "Schema" mock_get_active_global.side_effect = mongoengine_errors.DoesNotExist # Act + Assert with self.assertRaises(mongoengine_errors.DoesNotExist): version_manager_api.get_active_global_version_manager_by_title( mock_absent_title)
def start_curate(request, role): """ Start curate with role parameter. Args: request: role: Returns: """ assets = { "js": [ { "path": 'core_curate_app/user/js/select_template.js', "is_raw": False }, { "path": 'core_curate_registry_app/user/js/start_curate.js', "is_raw": False }, ], "css": ['core_curate_app/user/css/style.css'] } context = { 'template_id': version_manager_api.get_active_global_version_manager_by_title(REGISTRY_XSD_FILENAME).current, 'role': role, } return render(request, 'core_curate_app/user/curate.html', assets=assets, context=context)
def get(self, request, role): """Start curate with role parameter. Args: request: role: Returns: """ try: # Get custom resources for the current template custom_resource = custom_resource_api.get_by_current_template_and_slug( role, request=request) except exceptions.DoesNotExist: custom_resource = None context = { "template_id": version_manager_api.get_active_global_version_manager_by_title( REGISTRY_XSD_FILENAME, request=request).current, "role": role, "custom_resource": custom_resource, } return render( request, "core_curate_app/user/curate.html", assets=self.assets, modals=self.modals, context=context, )
def get_xsd(request, title, version_number): """ Page that allows to retrieve an XML Schema by its title and version number. Args: request: Request. title: Schema title. version_number: Version of the schema. Returns: Flatten Schema. """ try: template_version = version_manager_api.get_active_global_version_manager_by_title( title) template = template_api.get( version_manager_api.get_version_by_number(template_version, int(version_number))) flatten = XSDFlattenerDatabaseOrURL(template.content.encode('utf-8')) content_encoded = flatten.get_flat() file_obj = StringIO(content_encoded) return HttpResponse(file_obj, content_type='text/xml') except (exceptions.DoesNotExist, exceptions.ModelError, Exception): return HttpResponseBadRequest( 'Impossible to retrieve the schema with the given name and version.' )
def get_xsd(request, title, version_number): """Page that allows to retrieve an XML Schema by its title and version number. Args: request: Request. title: Schema title. version_number: Version of the schema. Returns: Flatten Schema. """ try: template_version = ( version_manager_api.get_active_global_version_manager_by_title( title, request=request)) template = template_api.get( version_manager_api.get_version_by_number(template_version, int(version_number), request=request), request=request, ) content_encoded = XSDFlattenerDatabaseOrURL( template.content, request=request).get_flat() file_obj = StringIO(content_encoded) return HttpResponse(file_obj, content_type="text/xml") except Exception as e: return HttpResponseBadRequest( "Impossible to retrieve the schema with the given name and " "version: %s" % escape(str(e)))
def _get_registry_template(): """ Get the registry template. Returns: Registry Template. """ try: return version_manager_api.get_active_global_version_manager_by_title( REGISTRY_XSD_FILENAME) except Exception, e: raise Exception("Impossible to get the template {0} : {1} ".format( REGISTRY_XSD_FILENAME, e.message))
def test_version_manager_get_returns_version_manager( self, mock_get_active_global): # Arrange title = "Schema" mock_version_manager = _create_mock_version_manager(title=title) mock_get_active_global.return_value = mock_version_manager # Act result = version_manager_api.get_active_global_version_manager_by_title( title) # Assert self.assertIsInstance(result, VersionManager)
def _get_current_template(request): """Get the current template. Args: request: Returns: """ current_template_version = ( version_manager_api.get_active_global_version_manager_by_title( REGISTRY_XSD_FILENAME, request=request)) current_template = template_api.get(current_template_version.current, request=request) return current_template
def _get_current_template(): """Get the current template. Returns: """ current_template_version = ( version_manager_api.get_active_global_version_manager_by_title( REGISTRY_XSD_FILENAME ) ) current_template = template_api.get( version_manager_api.get_current(current_template_version) ) return current_template
def get_current_registry_template(): """Get the current template used for the registry. Returns: Template: """ try: template_version = ( version_manager_api.get_active_global_version_manager_by_title( REGISTRY_XSD_FILENAME)) return template_api.get( version_manager_api.get_current(template_version)) except Exception as e: raise exceptions.ModelError(str(e))
def get_current_registry_template(request): """Get the current template used for the registry. Args: request: Returns: """ try: template_version = ( version_manager_api.get_active_global_version_manager_by_title( REGISTRY_XSD_FILENAME, request=request)) return template_api.get(template_version.current, request=request) except Exception as e: raise exceptions.ModelError(str(e))
def test_version_manager_get_returns_version_manager( self, mock_get_active_global): # Arrange mock_user = create_mock_user("1", is_superuser=True) mock_request = create_mock_request(mock_user) title = "Schema" mock_version_manager = _create_mock_version_manager(title=title) mock_get_active_global.return_value = mock_version_manager # Act result = version_manager_api.get_active_global_version_manager_by_title( title, request=mock_request) # Assert self.assertIsInstance(result, VersionManager)
def _init_custom_registry(): """Init the custom registry. Returns: """ try: current_template_version = ( version_manager_api.get_active_global_version_manager_by_title( REGISTRY_XSD_FILENAME)) current_template = template_api.get( version_manager_api.get_current(current_template_version)) except: raise Exception("Can't get the current template.") if len(custom_resource_api.get_all_by_template(current_template)) > 0: print('**********') print(custom_resource_api.get_all_by_template(current_template)) print('**********') logger.info( "Custom resources related to current template already exist.") else: json_path = CUSTOM_REGISTRY_FILE_PATH if json_path == "": raise Exception( "Please configure the CUSTOM_REGISTRY_FILE_PATH setting in your project." ) try: default_json_path = finders.find(json_path) with open(default_json_path) as json_file: data = json.load(json_file) print('**********') print(f'parsing json: {data}') print('**********') custom_resource_api.parse_and_save(data, current_template) except Exception as e: logger.error( "Impossible to use the custom registry json file: {0}".format( str(e)))