Coverage for girder/models/setting : 76%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
#!/usr/bin/env python # -*- coding: utf-8 -*-
############################################################################### # Copyright Kitware Inc. # # Licensed under the Apache License, Version 2.0 ( the "License" ); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. ###############################################################################
""" This model represents server-wide configuration settings as key/value pairs. """
""" This method is in charge of validating that the setting key is a valid key, and that for that key, the provided value is valid. It first allows plugins to validate the setting, but if none of them can, it assumes it is a core setting and does the validation here. """ # TODO allow plugins to intercept the set setting event
raise ValidationException( 'Plugins enabled setting must be a list.', 'value') doc['value'] = int(doc['value']) if doc['value'] <= 0: raise ValidationException( 'Cookie lifetime must be an integer > 0.', 'value') if not doc['value']: raise ValidationException( 'Email from address must not be blank.', 'value') raise ValidationException( 'SMTP host must not be blank.', 'value') else:
""" Retrieve a setting by its key.
:param key: The key identifying the setting. :type key: str :param default: If no such setting exists, returns this value instead. :returns: The value, or the default value if the key is not found. """ else:
""" Save a setting. If a setting for this key already exists, this will replace the existing value.
:param key: The key identifying the setting. :type key: str :param value: The object to store for this setting. :returns: The document representing the saved Setting. """ 'key': key, 'value': value } else: doc = cursor[0] doc['value'] = value
""" Remove the setting for this key. If no such setting exists, this is a no-op.
:param key: The key identifying the setting to be removed. :type key: str """ |