Move initial post values into pgwui_upload_core
authorKarl O. Pinc <kop@karlpinc.com>
Sat, 23 Jan 2021 19:04:02 +0000 (13:04 -0600)
committerKarl O. Pinc <kop@karlpinc.com>
Sat, 23 Jan 2021 19:04:02 +0000 (13:04 -0600)
src/pgwui_upload_core/views/upload.py

index e03de490ed1032d734c772518bd0800f6e275341..2aa9d36805fcf58070d51adce02fbcfca1f1546e 100644 (file)
@@ -31,6 +31,7 @@ import psycopg2.errorcodes
 from psycopg2 import ProgrammingError
 
 from pgwui_core.core import (
+    UploadNullFileInitialPost,
     DataLineProcessor,
     ParameterExecutor,
     TabularFileUploadHandler,
@@ -44,6 +45,27 @@ from pgwui_upload_core import exceptions as upload_ex
 log = logging.getLogger(__name__)
 
 
+@attr.s
+class UploadCoreInitialPost(UploadNullFileInitialPost):
+    '''Get values from settings for when there's not user-supplied
+    values in POST
+    '''
+    component = attr.ib(default='pgwui_upload')
+
+    def set_component(self, component):
+        self.component = component
+        return self
+
+    def build(self, settings={}):
+        super().build(settings)
+        upload_settings = settings['pgwui'][self.component]
+        self.trim_upload = (
+            upload_settings['trim'] == 'choice-yes')
+        self.literal_col_headings = (
+            upload_settings['literal_column_headings'] == 'yes')
+        return self
+
+
 class SaveLine(DataLineProcessor, ParameterExecutor):
     def __init__(self, ue, uh, insert_stmt):
         '''