# Setup default values for forms.
+@attr.s
class UserInitialPost():
- def __init__(self, settings={}):
- super().__init__()
+ db = attr.ib(default='')
+ user = attr.ib(default='')
+ password = attr.ib(default='')
+
+ def build(self, settings={}):
self.db = settings['pgwui'].get('default_db', '')
- self.user = ''
- self.password = ''
+ return self
+@attr.s
class UploadFileInitialPost(UserInitialPost):
- def __init__(self, settings={}):
- super().__init__(settings)
- self.upload_fmt = CSV
- self.trim_upload = True
- self.literal_col_headings = False
- self.datafile = ''
+ upload_fmt = attr.ib(default=CSV)
+ trim_upload = attr.ib(default=True)
+ literal_col_headings = attr.ib(default=False)
+ datafile = attr.ib(default='')
+@attr.s
class UploadNullFileInitialPost(UploadFileInitialPost):
- def __init__(self, settings={}):
- super().__init__(settings)
- self.upload_null = True
- self.null_rep = ''
+ upload_null = attr.ib(default=True)
+ null_rep = attr.ib(default='')
+@attr.s
class UploadTableInitialPost(UploadNullFileInitialPost):
- def __init__(self, settings={}):
- super().__init__(settings)
- self.table = ''
+ table = attr.ib(default='')
# The wtforms that suck data out of the html.
store.update(kwargs)
self._store = store
self._fc = fc
- self.ivals = fc.ivals(self.uh.request.registry.settings)
+ self.ivals = fc.ivals().build(self.uh.request.registry.settings)
def __iter__(self):
for item in self._store:
def test_userinitialpost_init():
default_db = 'defaultdb'
settings = {'pgwui': {'default_db': default_db}}
- uip = core.UserInitialPost(settings)
+ uip = core.UserInitialPost().build(settings)
assert uip.db == default_db
assert uip.user == ''
assert uip.password == ''