refactor validation
This commit is contained in:
@ -27,6 +27,7 @@ configurator ``set_storage()``.
|
||||
|
||||
|
||||
from time import time
|
||||
from random import randint
|
||||
import os
|
||||
from tiramisu.error import ConfigError
|
||||
from tiramisu.i18n import _
|
||||
@ -66,6 +67,8 @@ class StorageType(object):
|
||||
|
||||
storage_type = StorageType()
|
||||
storage_option_type = StorageType()
|
||||
storage_validation = StorageType()
|
||||
storage_validation.set('dictionary')
|
||||
|
||||
|
||||
def set_storage(type_, name, **kwargs): # pragma: optional cover
|
||||
@ -105,13 +108,15 @@ def get_storage(type_, session_id, persistent, test): # pragma: optional cover
|
||||
"""
|
||||
if type_ == 'option':
|
||||
return storage_option_type.get().Storage(session_id, persistent, test)
|
||||
else:
|
||||
elif type_ == 'config':
|
||||
return storage_type.get().Storage(session_id, persistent, test)
|
||||
else:
|
||||
return storage_validation.get().Storage(session_id, persistent, test)
|
||||
|
||||
|
||||
def get_storages(context, session_id, persistent):
|
||||
def gen_id(config):
|
||||
return str(id(config)) + str(time())
|
||||
return str(id(config)) + str(time()) + str(randint(0, 500))
|
||||
|
||||
if session_id is None:
|
||||
session_id = gen_id(context)
|
||||
@ -119,10 +124,8 @@ def get_storages(context, session_id, persistent):
|
||||
storage = imp.Storage(session_id, persistent)
|
||||
try:
|
||||
return imp.Settings(storage), imp.Values(storage)
|
||||
except:
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
raise Exception('rah')
|
||||
except Exception, err:
|
||||
raise Exception(_('unable to get storages:') + str(err))
|
||||
|
||||
|
||||
def get_storages_option(type_):
|
||||
@ -133,6 +136,12 @@ def get_storages_option(type_):
|
||||
return imp.StorageOptionDescription
|
||||
|
||||
|
||||
def get_storages_validation():
|
||||
imp = storage_validation.get()
|
||||
storage = imp.Storage('pouet', persistent=False, test=True)
|
||||
return imp.Settings(storage), imp.Values(storage)
|
||||
|
||||
|
||||
def list_sessions(type_): # pragma: optional cover
|
||||
"""List all available session (persistent or not persistent)
|
||||
"""
|
||||
|
@ -83,9 +83,6 @@ class StorageBase(object):
|
||||
self._opt = opt
|
||||
|
||||
def _set_default_values(self, default, default_multi):
|
||||
if self.impl_is_multi() and default is None:
|
||||
default = []
|
||||
self.impl_validate(default)
|
||||
if ((self.impl_is_multi() and default != tuple()) or
|
||||
(not self.impl_is_multi() and default is not None)):
|
||||
if self.impl_is_multi():
|
||||
|
@ -322,9 +322,6 @@ class _Base(SqlAlchemyBase):
|
||||
_Consistency(func, all_cons_opts, params)
|
||||
|
||||
def _set_default_values(self, default, default_multi):
|
||||
if self.impl_is_multi() and default is None:
|
||||
default = []
|
||||
self.impl_validate(default)
|
||||
self._default = default
|
||||
if self.impl_is_multi() and default_multi is not None:
|
||||
self._validate(default_multi)
|
||||
|
Reference in New Issue
Block a user