コード例 #1
0
    def get(self):
        """Handles REST GET verb and returns an object as JSON payload."""
        key = self.request.get('key')
        if not ConfigPropertyRights.can_view():
            transforms.send_json_response(
                self, 401, 'Access denied.', {'key': key})
            return

        item = None
        if key and key in config.Registry.registered.keys():
            item = config.Registry.registered[key]
        if not item:
            self.redirect('/admin?action=settings')

        try:
            entity = config.ConfigPropertyEntity.get_by_key_name(key)
        except db.BadKeyError:
            entity = None

        if not entity:
            transforms.send_json_response(
                self, 404, 'Object not found.', {'key': key})
        else:
            entity_dict = {'name': key, 'is_draft': entity.is_draft}
            entity_dict['value'] = transforms.string_to_value(
                entity.value, item.value_type)
            json_payload = transforms.dict_to_json(
                entity_dict,
                transforms.loads(
                    ConfigPropertyEditor.get_schema_json(item)))
            transforms.send_json_response(
                self, 200, 'Success.',
                payload_dict=json_payload,
                xsrf_token=XsrfTokenManager.create_xsrf_token(
                    'config-property-put'))
コード例 #2
0
    def get(self):
        """Handles REST GET verb and returns an object as JSON payload."""
        key = self.request.get('key')
        if not ConfigPropertyRights.can_view():
            transforms.send_json_response(self, 401, 'Access denied.',
                                          {'key': key})
            return

        item = None
        if key and key in config.Registry.registered.keys():
            item = config.Registry.registered[key]
        if not item:
            self.redirect('/admin?action=settings')

        try:
            entity = config.ConfigPropertyEntity.get_by_key_name(key)
        except db.BadKeyError:
            entity = None

        entity_dict = {'name': key, 'label': item.label}
        if entity and not entity.is_draft:
            entity_dict['value'] = transforms.string_to_value(
                entity.value, item.value_type)
        else:
            entity_dict['value'] = item.default_value
        json_payload = transforms.dict_to_json(entity_dict)
        transforms.send_json_response(
            self,
            200,
            'Success.',
            payload_dict=json_payload,
            xsrf_token=crypto.XsrfTokenManager.create_xsrf_token(
                'config-property-put'))
コード例 #3
0
    def test_string_to_value(self):
        assert transforms.string_to_value('True', bool)
        assert transforms.string_to_value('1', bool)
        assert transforms.string_to_value(1, bool)

        assert not transforms.string_to_value('False', bool)
        assert not transforms.string_to_value('0', bool)
        assert not transforms.string_to_value('5', bool)
        assert not transforms.string_to_value(0, bool)
        assert not transforms.string_to_value(5, bool)
        assert not transforms.string_to_value(None, bool)

        assert transforms.string_to_value('15', int) == 15
        assert transforms.string_to_value(15, int) == 15
        assert transforms.string_to_value(None, int) == 0

        assert transforms.string_to_value('foo', str) == 'foo'
        assert transforms.string_to_value(None, str) == str('')
コード例 #4
0
    def test_string_to_value(self):
        assert transforms.string_to_value('True', bool)
        assert transforms.string_to_value('1', bool)
        assert transforms.string_to_value(1, bool)

        assert not transforms.string_to_value('False', bool)
        assert not transforms.string_to_value('0', bool)
        assert not transforms.string_to_value('5', bool)
        assert not transforms.string_to_value(0, bool)
        assert not transforms.string_to_value(5, bool)
        assert not transforms.string_to_value(None, bool)

        assert transforms.string_to_value('15', int) == 15
        assert transforms.string_to_value(15, int) == 15
        assert transforms.string_to_value(None, int) == 0

        assert transforms.string_to_value('foo', str) == 'foo'
        assert transforms.string_to_value(None, str) == str('')