From d75d2552b448cc5153ba2a663b0a282977dd5fae Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc" Date: Thu, 29 Apr 2021 22:01:01 -0500 Subject: [PATCH] Number of lines in file is unknown when file parsing fails --- setup.py | 1 + src/pgwui_upload/views/upload.py | 16 +++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/setup.py b/setup.py index 83f68d3..692b295 100644 --- a/setup.py +++ b/setup.py @@ -158,6 +158,7 @@ setup( # Run-time dependencies. install_requires=[ 'markupsafe', + 'pgwui_core==' + version, 'pgwui_upload_core==' + version, 'psycopg2', 'pyramid', diff --git a/src/pgwui_upload/views/upload.py b/src/pgwui_upload/views/upload.py index 344615c..8a91ef6 100644 --- a/src/pgwui_upload/views/upload.py +++ b/src/pgwui_upload/views/upload.py @@ -31,11 +31,13 @@ from __future__ import absolute_import from __future__ import division import attr +import psycopg2 from pyramid.view import view_config import logging from pgwui_common.view import auth_base_view +from pgwui_core import exceptions as core_ex from pgwui_core.core import ( UploadTableInitialPostMixin, UploadEngine, @@ -144,13 +146,17 @@ class TableUploadHandler(BaseTableUploadHandler): self.cur = ue.cur qualified_table = self.uf['table'] - quotecols = self.quote_columns() - column_quoter = self.get_column_quoter(quotecols) + try: + quotecols = self.quote_columns() + column_quoter = self.get_column_quoter(quotecols) - insert_stmt = self.build_insert_stmt( - ue.data, qualified_table, quotecols, column_quoter) + insert_stmt = self.build_insert_stmt( + ue.data, qualified_table, quotecols, column_quoter) - return SaveLine(ue, self, insert_stmt) + return SaveLine(ue, self, insert_stmt) + except (core_ex.PGWUIError, psycopg2.Error): + self.data.lineno = 0 # Don't report partially read number of lines + raise def log_success(response): -- 2.34.1