From: Karl O. Pinc Date: Fri, 30 Apr 2021 03:01:01 +0000 (-0500) Subject: Number of lines in file is unknown when file parsing fails X-Git-Url: https://papio.biology.duke.edu/gitweb/?a=commitdiff_plain;h=d75d2552b448cc5153ba2a663b0a282977dd5fae;p=pgwui_upload Number of lines in file is unknown when file parsing fails --- 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):