Establish a "trim" setting just for pgwui_upload
authorKarl O. Pinc <kop@karlpinc.com>
Sat, 23 Jan 2021 02:00:31 +0000 (20:00 -0600)
committerKarl O. Pinc <kop@karlpinc.com>
Sat, 23 Jan 2021 19:05:44 +0000 (13:05 -0600)
src/pgwui_upload/check_settings.py
src/pgwui_upload/pgwui_upload.py
src/pgwui_upload/views/upload.py
tests/views/test_upload.py

index df90b693526c2cff4397296893e5a881c4681eff..04d8d5bcffc23a5fd4fe30b9c262146b1f9175d3 100644 (file)
@@ -38,6 +38,7 @@ def check_settings(component_config):
         pgwui_upload_core.check_settings.UPLOAD_SETTINGS,
         pgwui_upload_core.check_settings.REQUIRED_SETTINGS,
         pgwui_upload_core.check_settings.BOOLEAN_SETTINGS,
+        pgwui_upload_core.check_settings.BOOLEAN_CHOICE_SETTINGS,
         component_config))
 
     return errors
index b5fb682aa20ef0077e5931849031be92d98170f3..c7d0a7af211ff5bb84d318ba76b22c915c0eb1db 100644 (file)
@@ -24,6 +24,8 @@
 PGWUI_COMPONENT = 'pgwui_upload'
 DEFAULT_UPLOAD_ROUTE = '/upload'
 DEFAULT_UPLOAD_MENU_LABEL = 'upload -- Upload File Into Database'
+DEFAULT_LITERAL_COLUMN_HEADINGS = 'off'
+DEFAULT_TRIM = 'choice-yes'
 
 
 def init_menu(config):
@@ -32,8 +34,13 @@ def init_menu(config):
     settings = config.get_settings()
     pgwui = settings.setdefault('pgwui', dict())
     pgwui.setdefault(PGWUI_COMPONENT, dict())
-    pgwui[PGWUI_COMPONENT].setdefault(
+    upload_settings = pgwui[PGWUI_COMPONENT]
+    upload_settings.setdefault(
         'menu_label', DEFAULT_UPLOAD_MENU_LABEL)
+    upload_settings.setdefault(
+        'literal_column_headings', DEFAULT_LITERAL_COLUMN_HEADINGS)
+    upload_settings.setdefault(
+        'trim', DEFAULT_TRIM)
 
 
 def includeme(config):
index cda3215dc466e31f7ad5d3acc5e707ae1dd8e2ea..c17b31a4d7f2b4f2cf908ed1a90ac7a7a8c1cdaf 100644 (file)
@@ -43,7 +43,9 @@ from pgwui_core.core import (
     is_checked,
 )
 from pgwui_upload_core.views.upload import (
+    UploadCoreInitialPost,
     BaseTableUploadHandler,
+    set_upload_response,
 )
 
 from pgwui_upload import exceptions as upload_ex
@@ -86,7 +88,7 @@ class TableUploadHandler(BaseTableUploadHandler):
         '''
         Make the upload form needed by this handler.
         '''
-        return UploadDoubleTableForm(self)
+        return UploadDoubleTableForm().build(self, ip=UploadCoreInitialPost())
 
     def get_data(self):
         '''
@@ -170,12 +172,7 @@ def upload_view(request):
     tuh = TableUploadHandler(request).init()
     response = UploadEngine(tuh).run()
 
-    settings = request.registry.settings
-    quoter_setting = settings['pgwui'].get('literal_column_headings')
-    response['ask_about_literal_cols'] = quoter_setting == 'ask'
-    # Keep these next 2
-    response.setdefault('pgwui', dict())
-    response['pgwui']['pgwui_upload'] = settings['pgwui']['pgwui_upload']
+    set_upload_response('pgwui_upload', request, response)
 
     if response['db_changed']:
         log_success(response)
index 99607a806da9c35dddfb8ee918967854bc95631a..6798c4aa1e13596eda65dde3a32ddd61b929b9e1 100644 (file)
@@ -200,7 +200,8 @@ def test_upload_view_literal_cols_ask(undecorate, mock_log_success):
     undecorate(response)
 
     settings = get_current_request().registry.settings
-    settings['pgwui'].update({'literal_column_headings': 'ask'})
+    settings['pgwui']['pgwui_upload'].update(
+        {'literal_column_headings': 'ask'})
 
     result = upload.upload_view(get_current_request())
 
@@ -214,7 +215,7 @@ def test_upload_view_literal_cols_noask(undecorate, mock_log_success):
     undecorate(response)
 
     settings = get_current_registry().settings
-    settings['pgwui'].update({'literal_column_headings': 'no'})
+    settings['pgwui']['pgwui_upload'].update({'literal_column_headings': 'no'})
 
     result = upload.upload_view(get_current_request())