From 41c028f944806b34fbfb06a0a146672aa1e18d2b Mon Sep 17 00:00:00 2001 From: Akshay Joshi Date: Tue, 1 Jan 2019 15:14:32 +0530 Subject: [PATCH] Ensure that null values handled properly in CSV download. Fixes #3780 --- Make.bat | 5 - .../images/preferences_sql_csv_output.png | Bin 140688 -> 71521 bytes docs/en_US/preferences.rst | 1 + docs/en_US/release_notes_3_7.rst | 1 + pkg/mac/build.sh | 5 - pkg/pip/setup_pip.py | 1 - requirements.txt | 1 - web/pgadmin/tools/sqleditor/__init__.py | 3 +- .../sqleditor/utils/query_tool_preferences.py | 11 + web/pgadmin/utils/csv.py | 761 ++++++++++++++++++ .../utils/driver/psycopg2/connection.py | 43 +- web/pgadmin/utils/preferences.py | 13 +- 12 files changed, 821 insertions(+), 24 deletions(-) create mode 100644 web/pgadmin/utils/csv.py diff --git a/Make.bat b/Make.bat index fdd62a0c4..592d0d889 100644 --- a/Make.bat +++ b/Make.bat @@ -255,11 +255,6 @@ REM Main build sequence Ends ECHO Removing Sphinx CALL pip uninstall -y sphinx Pygments alabaster colorama docutils imagesize requests snowballstemmer - IF %PYTHON_MAJOR% == 2 ( - ECHO Fixing backports.csv for Python 2 by adding missing __init__.py - type nul >> "%PGBUILDPATH%\%VIRTUALENV%\Lib\site-packages\backports\__init__.py" - ) - IF %PYTHON_MAJOR% == 3 ( ECHO Fixing PyCrypto module for Python 3... CALL "%PYTHON_HOME%\python" "%WD%\pkg\win32\replace.py" "-i" "%PGBUILDPATH%\%VIRTUALENV%\Lib\site-packages\Crypto\Random\OSRNG\nt.py" "-o" "%PGBUILDPATH%\%VIRTUALENV%\Lib\site-packages\Crypto\Random\OSRNG\nt.py.new" "-s" "import winrandom" -r "from . import winrandom" diff --git a/docs/en_US/images/preferences_sql_csv_output.png b/docs/en_US/images/preferences_sql_csv_output.png index 48dee9c62a87640af5085cefad9dbd400912c867..ee3475d57ce9865cfe1552f3ebe09fac96767519 100644 GIT binary patch literal 71521 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%0A)`EkT9Dxm4H?(f%Tna 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 z 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%0DPVs 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 Vn2yhodJp^~Eg^R&T};>Ge*s}b_I>~W diff --git a/docs/en_US/preferences.rst b/docs/en_US/preferences.rst index e47866f0f..e547f299c 100644 --- a/docs/en_US/preferences.rst +++ b/docs/en_US/preferences.rst @@ -146,6 +146,7 @@ Use the fields on the *CSV Output* panel to control the CSV output. * Use the *CSV field separator* drop-down listbox to specify the separator character that will be used in CSV output. * Use the *CSV quote character* drop-down listbox to specify the quote character that will be used in CSV output. * Use the *CSV quoting* drop-down listbox to select the fields that will be quoted in the CSV output; select *Strings*, *All*, or *None*. +* Use the *Replace null values with* option to replace null values with specified string in the output file. Default is set to 'NULL'. .. image:: images/preferences_sql_display.png :alt: Preferences dialog sqleditor display options diff --git a/docs/en_US/release_notes_3_7.rst b/docs/en_US/release_notes_3_7.rst index 0db05dea5..9d12f5d78 100644 --- a/docs/en_US/release_notes_3_7.rst +++ b/docs/en_US/release_notes_3_7.rst @@ -26,6 +26,7 @@ Bug fixes | `Bug #3726 `_ - Include the WHERE clause on EXCLUDE constraints in RE-SQL. | `Bug #3753 `_ - Fix an issue when user define Cast from smallint->text is created. | `Bug #3757 `_ - Hide Radio buttons that should not be shown on the maintenance dialogue. +| `Bug #3780 `_ - Ensure that null values handled properly in CSV download. | `Bug #3796 `_ - Tweak the wording on the Grant Wizard. | `Bug #3797 `_ - Prevent attempts to bulk-drop schema objects. | `Bug #3798 `_ - Ensure the browser toolbar buttons work in languages other than English. diff --git a/pkg/mac/build.sh b/pkg/mac/build.sh index 11d17e801..3cb974171 100755 --- a/pkg/mac/build.sh +++ b/pkg/mac/build.sh @@ -144,11 +144,6 @@ _create_python_virtualenv() { if test -d $DIR_PYMODULES_PATH; then ln -s $(basename $DIR_PYMODULES_PATH) $DIR_PYMODULES_PATH/../python fi - - # Fix the backports module which will have no __init__.py file - if [ "$PYTHON_VERSION" -lt "30" ]; then - touch $BUILDROOT/$VIRTUALENV/lib/python/site-packages/backports/__init__.py - fi } _build_runtime() { diff --git a/pkg/pip/setup_pip.py b/pkg/pip/setup_pip.py index 693fcadfa..2ab1c1d31 100644 --- a/pkg/pip/setup_pip.py +++ b/pkg/pip/setup_pip.py @@ -96,7 +96,6 @@ setup( "Flask-BabelEx==0.9.3" ], ":python_version<='2.7'": [ - "backports.csv==1.0.5", "importlib==1.0.3" ], ":python_version>='2.7'": [ diff --git a/requirements.txt b/requirements.txt index 74c460351..92eae7dd1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -44,7 +44,6 @@ sshtunnel>=0.1.3; python_version >= '2.7' ############################################################### # Modules specifically required for Python2.7 or lesser version ############################################################### -backports.csv==1.0.5; python_version <= '2.7' importlib==1.0.3; python_version <= '2.7' ############################################################### diff --git a/web/pgadmin/tools/sqleditor/__init__.py b/web/pgadmin/tools/sqleditor/__init__.py index 43e1a0940..1245c8616 100644 --- a/web/pgadmin/tools/sqleditor/__init__.py +++ b/web/pgadmin/tools/sqleditor/__init__.py @@ -1434,7 +1434,8 @@ def start_query_download_tool(trans_id): gen( quote=blueprint.csv_quoting.get(), quote_char=blueprint.csv_quote_char.get(), - field_separator=blueprint.csv_field_separator.get() + field_separator=blueprint.csv_field_separator.get(), + replace_nulls_with=blueprint.replace_nulls_with.get() ), mimetype='text/csv' ) diff --git a/web/pgadmin/tools/sqleditor/utils/query_tool_preferences.py b/web/pgadmin/tools/sqleditor/utils/query_tool_preferences.py index 5e2a8ef12..7263f52ea 100644 --- a/web/pgadmin/tools/sqleditor/utils/query_tool_preferences.py +++ b/web/pgadmin/tools/sqleditor/utils/query_tool_preferences.py @@ -198,6 +198,17 @@ def RegisterQueryToolPreferences(self): } ) + self.replace_nulls_with = self.preference.register( + 'CSV_output', 'csv_replace_nulls_with', + gettext("Replace null values with"), 'text', 'NULL', + category_label=gettext('CSV output'), + help_str=gettext('Specifies the string that represents a null value ' + 'while downloading query results as CSV. You can ' + 'specify any arbitrary string to represent a ' + 'null value, with quotes if desired.'), + allow_blanks=True + ) + self.results_grid_quoting = self.preference.register( 'Results_grid', 'results_grid_quoting', gettext("Result copy quoting"), 'options', 'strings', diff --git a/web/pgadmin/utils/csv.py b/web/pgadmin/utils/csv.py new file mode 100644 index 000000000..991e06657 --- /dev/null +++ b/web/pgadmin/utils/csv.py @@ -0,0 +1,761 @@ +""" +PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 +-------------------------------------------- + +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using this software ("Python") in source or binary form and +its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, PSF hereby +grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, +analyze, test, perform and/or display publicly, prepare derivative works, +distribute, and otherwise use Python alone or in any derivative version, +provided, however, that PSF's License Agreement and PSF's notice of copyright, +i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,2010 +2011, 2012, 2013, 2014, 2015, 2016, 2017 Python Software Foundation; All Rights +Reserved" are retained in Python alone or in any derivative version prepared by +Licensee. + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python. + +4. PSF is making Python available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using Python, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. +""" + +############################################################################ +# Changes: +# Added new parameter in dialect 'replace_nulls_with' to compare it against +# the value to be quoted or not. +# Handle the null value if value is None or equal to +# 'replace_nulls_with' then it represents the null value, so no need to +# quote it. +############################################################################ + +from __future__ import unicode_literals, absolute_import + +__all__ = ["QUOTE_MINIMAL", "QUOTE_ALL", "QUOTE_NONNUMERIC", "QUOTE_NONE", + "Error", "Dialect", "__doc__", "excel", "excel_tab", + "field_size_limit", "reader", "writer", "register_dialect", + "get_dialect", "list_dialects", "unregister_dialect", + "__version__", "DictReader", "DictWriter"] + +import re +import numbers +from io import StringIO +from csv import ( + QUOTE_MINIMAL, QUOTE_ALL, QUOTE_NONNUMERIC, QUOTE_NONE, + __version__, __doc__, Error, field_size_limit, +) + +# Stuff needed from six +import sys +PY3 = sys.version_info[0] == 3 +if PY3: + string_types = str + text_type = str + binary_type = bytes + unichr = chr +else: + string_types = basestring + text_type = unicode + binary_type = str + + +class QuoteStrategy(object): + quoting = None + + def __init__(self, dialect): + if self.quoting is not None: + assert dialect.quoting == self.quoting + self.dialect = dialect + self.setup() + + escape_pattern_quoted = r'({quotechar})'.format( + quotechar=re.escape(self.dialect.quotechar or '"')) + escape_pattern_unquoted = r'([{specialchars}])'.format( + specialchars=re.escape(self.specialchars)) + + self.escape_re_quoted = re.compile(escape_pattern_quoted) + self.escape_re_unquoted = re.compile(escape_pattern_unquoted) + + def setup(self): + """Optional method for strategy-wide optimizations.""" + + def quoted(self, field=None, raw_field=None, only=None): + """Determine whether this field should be quoted.""" + raise NotImplementedError( + 'quoted must be implemented by a subclass') + + @property + def specialchars(self): + """The special characters that need to be escaped.""" + raise NotImplementedError( + 'specialchars must be implemented by a subclass') + + def escape_re(self, quoted=None): + if quoted: + return self.escape_re_quoted + return self.escape_re_unquoted + + def escapechar(self, quoted=None): + if quoted and self.dialect.doublequote: + return self.dialect.quotechar + return self.dialect.escapechar + + def prepare(self, raw_field, only=None): + field = text_type(raw_field if raw_field is not None else '') + quoted = self.quoted(field=field, raw_field=raw_field, only=only) + + escape_re = self.escape_re(quoted=quoted) + escapechar = self.escapechar(quoted=quoted) + + if escape_re.search(field): + escapechar = '\\\\' if escapechar == '\\' else escapechar + if escapechar: + escape_replace = \ + r'{escapechar}\1'.format(escapechar=escapechar) + field = escape_re.sub(escape_replace, field) + + if quoted: + field = '{quotechar}{field}{quotechar}'.format( + quotechar=self.dialect.quotechar, field=field) + + return field + + +class QuoteMinimalStrategy(QuoteStrategy): + quoting = QUOTE_MINIMAL + + def setup(self): + self.quoted_re = re.compile(r'[{specialchars}]'.format( + specialchars=re.escape(self.specialchars))) + + @property + def specialchars(self): + return ( + self.dialect.lineterminator + + self.dialect.quotechar + + self.dialect.delimiter + + (self.dialect.escapechar or '') + ) + + def quoted(self, field, only, **kwargs): + if field == self.dialect.quotechar and not self.dialect.doublequote: + # If the only character in the field is the quotechar, and + # doublequote is false, then just escape without outer quotes. + return False + return field == '' and only or bool(self.quoted_re.search(field)) + + +class QuoteAllStrategy(QuoteStrategy): + quoting = QUOTE_ALL + + @property + def specialchars(self): + return self.dialect.quotechar + + def quoted(self, raw_field, **kwargs): + # Handle the null value if raw_field is None or equal to + # replace_nulls_with then it represents the null value, so no need to + # quote it. + if raw_field is None or raw_field == self.dialect.replace_nulls_with: + return False + return True + + +class QuoteNonnumericStrategy(QuoteStrategy): + quoting = QUOTE_NONNUMERIC + + @property + def specialchars(self): + return ( + self.dialect.lineterminator + + self.dialect.quotechar + + self.dialect.delimiter + + (self.dialect.escapechar or '') + ) + + def quoted(self, raw_field, **kwargs): + # Handle the null value if raw_field is None or equal to + # replace_nulls_with then it represents the null value, so no need to + # quote it. + if raw_field is None or raw_field == self.dialect.replace_nulls_with: + return False + return not isinstance(raw_field, numbers.Number) + + +class QuoteNoneStrategy(QuoteStrategy): + quoting = QUOTE_NONE + + @property + def specialchars(self): + return ( + self.dialect.lineterminator + + (self.dialect.quotechar or '') + + self.dialect.delimiter + + (self.dialect.escapechar or '') + ) + + def quoted(self, field, only, **kwargs): + if field == '' and only: + raise Error('single empty field record must be quoted') + return False + + +class writer(object): + def __init__(self, fileobj, dialect='excel', **fmtparams): + if fileobj is None: + raise TypeError('fileobj must be file-like, not None') + + self.fileobj = fileobj + + if isinstance(dialect, text_type): + dialect = get_dialect(dialect) + + try: + self.dialect = Dialect.combine(dialect, fmtparams) + except Error as e: + raise TypeError(*e.args) + + strategies = { + QUOTE_MINIMAL: QuoteMinimalStrategy, + QUOTE_ALL: QuoteAllStrategy, + QUOTE_NONNUMERIC: QuoteNonnumericStrategy, + QUOTE_NONE: QuoteNoneStrategy, + } + self.strategy = strategies[self.dialect.quoting](self.dialect) + + def writerow(self, row): + if row is None: + raise Error('row must be an iterable') + + row = list(row) + only = len(row) == 1 + row = [self.strategy.prepare(field, only=only) for field in row] + + line = self.dialect.delimiter.join(row) + self.dialect.lineterminator + return self.fileobj.write(line) + + def writerows(self, rows): + for row in rows: + self.writerow(row) + + +START_RECORD = 0 +START_FIELD = 1 +ESCAPED_CHAR = 2 +IN_FIELD = 3 +IN_QUOTED_FIELD = 4 +ESCAPE_IN_QUOTED_FIELD = 5 +QUOTE_IN_QUOTED_FIELD = 6 +EAT_CRNL = 7 +AFTER_ESCAPED_CRNL = 8 + + +class reader(object): + def __init__(self, fileobj, dialect='excel', **fmtparams): + self.input_iter = iter(fileobj) + + if isinstance(dialect, text_type): + dialect = get_dialect(dialect) + + try: + self.dialect = Dialect.combine(dialect, fmtparams) + except Error as e: + raise TypeError(*e.args) + + self.fields = None + self.field = None + self.line_num = 0 + + def parse_reset(self): + self.fields = [] + self.field = [] + self.state = START_RECORD + self.numeric_field = False + + def parse_save_field(self): + field = ''.join(self.field) + self.field = [] + if self.numeric_field: + field = float(field) + self.numeric_field = False + self.fields.append(field) + + def parse_add_char(self, c): + if len(self.field) >= field_size_limit(): + raise Error('field size limit exceeded') + self.field.append(c) + + def parse_process_char(self, c): + switch = { + START_RECORD: self._parse_start_record, + START_FIELD: self._parse_start_field, + ESCAPED_CHAR: self._parse_escaped_char, + AFTER_ESCAPED_CRNL: self._parse_after_escaped_crnl, + IN_FIELD: self._parse_in_field, + IN_QUOTED_FIELD: self._parse_in_quoted_field, + ESCAPE_IN_QUOTED_FIELD: self._parse_escape_in_quoted_field, + QUOTE_IN_QUOTED_FIELD: self._parse_quote_in_quoted_field, + EAT_CRNL: self._parse_eat_crnl, + } + return switch[self.state](c) + + def _parse_start_record(self, c): + if c == '\0': + return + elif c == '\n' or c == '\r': + self.state = EAT_CRNL + return + + self.state = START_FIELD + return self._parse_start_field(c) + + def _parse_start_field(self, c): + if c == '\n' or c == '\r' or c == '\0': + self.parse_save_field() + self.state = START_RECORD if c == '\0' else EAT_CRNL + elif (c == self.dialect.quotechar and + self.dialect.quoting != QUOTE_NONE): + self.state = IN_QUOTED_FIELD + elif c == self.dialect.escapechar: + self.state = ESCAPED_CHAR + elif c == ' ' and self.dialect.skipinitialspace: + pass # Ignore space at start of field + elif c == self.dialect.delimiter: + # Save empty field + self.parse_save_field() + else: + # Begin new unquoted field + if self.dialect.quoting == QUOTE_NONNUMERIC: + self.numeric_field = True + self.parse_add_char(c) + self.state = IN_FIELD + + def _parse_escaped_char(self, c): + if c == '\n' or c == '\r': + self.parse_add_char(c) + self.state = AFTER_ESCAPED_CRNL + return + if c == '\0': + c = '\n' + self.parse_add_char(c) + self.state = IN_FIELD + + def _parse_after_escaped_crnl(self, c): + if c == '\0': + return + return self._parse_in_field(c) + + def _parse_in_field(self, c): + # In unquoted field + if c == '\n' or c == '\r' or c == '\0': + # End of line - return [fields] + self.parse_save_field() + self.state = START_RECORD if c == '\0' else EAT_CRNL + elif c == self.dialect.escapechar: + self.state = ESCAPED_CHAR + elif c == self.dialect.delimiter: + self.parse_save_field() + self.state = START_FIELD + else: + # Normal character - save in field + self.parse_add_char(c) + + def _parse_in_quoted_field(self, c): + if c == '\0': + pass + elif c == self.dialect.escapechar: + self.state = ESCAPE_IN_QUOTED_FIELD + elif (c == self.dialect.quotechar and + self.dialect.quoting != QUOTE_NONE): + if self.dialect.doublequote: + self.state = QUOTE_IN_QUOTED_FIELD + else: + self.state = IN_FIELD + else: + self.parse_add_char(c) + + def _parse_escape_in_quoted_field(self, c): + if c == '\0': + c = '\n' + + self.parse_add_char(c) + self.state = IN_QUOTED_FIELD + + def _parse_quote_in_quoted_field(self, c): + if (self.dialect.quoting != QUOTE_NONE and + c == self.dialect.quotechar): + # save "" as " + self.parse_add_char(c) + self.state = IN_QUOTED_FIELD + elif c == self.dialect.delimiter: + self.parse_save_field() + self.state = START_FIELD + elif c == '\n' or c == '\r' or c == '\0': + # End of line = return [fields] + self.parse_save_field() + self.state = START_RECORD if c == '\0' else EAT_CRNL + elif not self.dialect.strict: + self.parse_add_char(c) + self.state = IN_FIELD + else: + # illegal + raise Error("{delimiter}' expected after '{quotechar}".format( + delimiter=self.dialect.delimiter, + quotechar=self.dialect.quotechar, + )) + + def _parse_eat_crnl(self, c): + if c == '\n' or c == '\r': + pass + elif c == '\0': + self.state = START_RECORD + else: + raise Error('new-line character seen in unquoted field - do you ' + 'need to open the file in universal-newline mode?') + + def __iter__(self): + return self + + def __next__(self): + self.parse_reset() + + while True: + try: + lineobj = next(self.input_iter) + except StopIteration: + if len(self.field) != 0 or self.state == IN_QUOTED_FIELD: + if self.dialect.strict: + raise Error('unexpected end of data') + self.parse_save_field() + if self.fields: + break + raise + + if not isinstance(lineobj, text_type): + typ = type(lineobj) + typ_name = 'bytes' if typ == bytes else typ.__name__ + err_str = ('iterator should return strings, not {0}' + ' (did you open the file in text mode?)') + raise Error(err_str.format(typ_name)) + + self.line_num += 1 + for c in lineobj: + if c == '\0': + raise Error('line contains NULL byte') + self.parse_process_char(c) + + self.parse_process_char('\0') + + if self.state == START_RECORD: + break + + fields = self.fields + self.fields = None + return fields + + next = __next__ + + +_dialect_registry = {} + + +def register_dialect(name, dialect='excel', **fmtparams): + if not isinstance(name, text_type): + raise TypeError('"name" must be a string') + + dialect = Dialect.extend(dialect, fmtparams) + + try: + Dialect.validate(dialect) + except Exception as e: + raise TypeError('dialect is invalid') + + assert name not in _dialect_registry + _dialect_registry[name] = dialect + + +def unregister_dialect(name): + try: + _dialect_registry.pop(name) + except KeyError: + raise Error('"{name}" not a registered dialect'.format(name=name)) + + +def get_dialect(name): + try: + return _dialect_registry[name] + except KeyError: + raise Error('Could not find dialect {0}'.format(name)) + + +def list_dialects(): + return list(_dialect_registry) + + +class Dialect(object): + """Describe a CSV dialect. + This must be subclassed (see csv.excel). Valid attributes are: + delimiter, quotechar, escapechar, doublequote, skipinitialspace, + lineterminator, quoting, strict. + """ + _name = "" + _valid = False + # placeholders + delimiter = None + quotechar = None + escapechar = None + doublequote = None + skipinitialspace = None + lineterminator = None + quoting = None + strict = None + + def __init__(self): + self.validate(self) + if self.__class__ != Dialect: + self._valid = True + + @classmethod + def validate(cls, dialect): + dialect = cls.extend(dialect) + + if not isinstance(dialect.quoting, int): + raise Error('"quoting" must be an integer') + + if dialect.delimiter is None: + raise Error('delimiter must be set') + cls.validate_text(dialect, 'delimiter') + + if dialect.lineterminator is None: + raise Error('lineterminator must be set') + if not isinstance(dialect.lineterminator, text_type): + raise Error('"lineterminator" must be a string') + + if dialect.quoting not in [ + QUOTE_NONE, QUOTE_MINIMAL, QUOTE_NONNUMERIC, QUOTE_ALL]: + raise Error('Invalid quoting specified') + + if dialect.quoting != QUOTE_NONE: + if dialect.quotechar is None and dialect.escapechar is None: + raise Error('quotechar must be set if quoting enabled') + if dialect.quotechar is not None: + cls.validate_text(dialect, 'quotechar') + + @staticmethod + def validate_text(dialect, attr): + val = getattr(dialect, attr) + if not isinstance(val, text_type): + if type(val) == bytes: + raise Error('"{0}" must be string, not bytes'.format(attr)) + raise Error('"{0}" must be string, not {1}'.format( + attr, type(val).__name__)) + + if len(val) != 1: + raise Error('"{0}" must be a 1-character string'.format(attr)) + + @staticmethod + def defaults(): + return { + 'delimiter': ',', + 'doublequote': True, + 'escapechar': None, + 'lineterminator': '\r\n', + 'quotechar': '"', + 'quoting': QUOTE_MINIMAL, + 'skipinitialspace': False, + 'strict': False, + 'replace_nulls_with': None + } + + @classmethod + def extend(cls, dialect, fmtparams=None): + if isinstance(dialect, string_types): + dialect = get_dialect(dialect) + + if fmtparams is None: + return dialect + + defaults = cls.defaults() + + if any(param not in defaults for param in fmtparams): + raise TypeError('Invalid fmtparam') + + specified = dict( + (attr, getattr(dialect, attr, None)) + for attr in cls.defaults() + ) + + specified.update(fmtparams) + return type(str('ExtendedDialect'), (cls,), specified) + + @classmethod + def combine(cls, dialect, fmtparams): + """Create a new dialect with defaults and added parameters.""" + dialect = cls.extend(dialect, fmtparams) + defaults = cls.defaults() + specified = dict( + (attr, getattr(dialect, attr, None)) + for attr in defaults + if getattr(dialect, attr, None) is not None or + attr in ['quotechar', 'delimiter', 'lineterminator', 'quoting'] + ) + + defaults.update(specified) + dialect = type(str('CombinedDialect'), (cls,), defaults) + cls.validate(dialect) + return dialect() + + def __delattr__(self, attr): + if self._valid: + raise AttributeError('dialect is immutable.') + super(Dialect, self).__delattr__(attr) + + def __setattr__(self, attr, value): + if self._valid: + raise AttributeError('dialect is immutable.') + super(Dialect, self).__setattr__(attr, value) + + +class excel(Dialect): + """Describe the usual properties of Excel-generated CSV files.""" + delimiter = ',' + quotechar = '"' + doublequote = True + skipinitialspace = False + lineterminator = '\r\n' + quoting = QUOTE_MINIMAL + + +register_dialect("excel", excel) + + +class excel_tab(excel): + """Describe the usual properties of Excel-generated TAB-delimited files.""" + delimiter = '\t' + + +register_dialect("excel-tab", excel_tab) + + +class unix_dialect(Dialect): + """Describe the usual properties of Unix-generated CSV files.""" + delimiter = ',' + quotechar = '"' + doublequote = True + skipinitialspace = False + lineterminator = '\n' + quoting = QUOTE_ALL + + +register_dialect("unix", unix_dialect) + + +class DictReader(object): + def __init__(self, f, fieldnames=None, restkey=None, restval=None, + dialect="excel", *args, **kwds): + self._fieldnames = fieldnames # list of keys for the dict + self.restkey = restkey # key to catch long rows + self.restval = restval # default value for short rows + self.reader = reader(f, dialect, *args, **kwds) + self.dialect = dialect + self.line_num = 0 + + def __iter__(self): + return self + + @property + def fieldnames(self): + if self._fieldnames is None: + try: + self._fieldnames = next(self.reader) + except StopIteration: + pass + self.line_num = self.reader.line_num + return self._fieldnames + + @fieldnames.setter + def fieldnames(self, value): + self._fieldnames = value + + def __next__(self): + if self.line_num == 0: + # Used only for its side effect. + self.fieldnames + row = next(self.reader) + self.line_num = self.reader.line_num + + # unlike the basic reader, we prefer not to return blanks, + # because we will typically wind up with a dict full of None + # values + while row == []: + row = next(self.reader) + d = dict(zip(self.fieldnames, row)) + lf = len(self.fieldnames) + lr = len(row) + if lf < lr: + d[self.restkey] = row[lf:] + elif lf > lr: + for key in self.fieldnames[lr:]: + d[key] = self.restval + return d + + next = __next__ + + +class DictWriter(object): + def __init__(self, f, fieldnames, restval="", extrasaction="raise", + dialect="excel", *args, **kwds): + self.fieldnames = fieldnames # list of keys for the dict + self.restval = restval # for writing short dicts + if extrasaction.lower() not in ("raise", "ignore"): + raise ValueError("extrasaction (%s) must be 'raise' or 'ignore'" + % extrasaction) + self.extrasaction = extrasaction + self.writer = writer(f, dialect, *args, **kwds) + + def writeheader(self): + header = dict(zip(self.fieldnames, self.fieldnames)) + self.writerow(header) + + def _dict_to_list(self, rowdict): + if self.extrasaction == "raise": + wrong_fields = [k for k in rowdict if k not in self.fieldnames] + if wrong_fields: + raise ValueError("dict contains fields not in fieldnames: " + + ", ".join([repr(x) for x in wrong_fields])) + return (rowdict.get(key, self.restval) for key in self.fieldnames) + + def writerow(self, rowdict): + return self.writer.writerow(self._dict_to_list(rowdict)) + + def writerows(self, rowdicts): + return self.writer.writerows(map(self._dict_to_list, rowdicts)) diff --git a/web/pgadmin/utils/driver/psycopg2/connection.py b/web/pgadmin/utils/driver/psycopg2/connection.py index 2c9fcb5ac..1e0253d32 100644 --- a/web/pgadmin/utils/driver/psycopg2/connection.py +++ b/web/pgadmin/utils/driver/psycopg2/connection.py @@ -37,16 +37,13 @@ from .typecast import register_global_typecasters, \ register_string_typecasters, register_binary_typecasters, \ register_array_to_string_typecasters, ALL_JSON_TYPES from .encoding import getEncoding +from pgadmin.utils import csv if sys.version_info < (3,): - # Python2 in-built csv module do not handle unicode - # backports.csv module ported from PY3 csv module for unicode handling - from backports import csv from StringIO import StringIO IS_PY2 = True else: from io import StringIO - import csv IS_PY2 = False _ = gettext @@ -765,7 +762,31 @@ WHERE ) return new_results - def gen(quote='strings', quote_char="'", field_separator=','): + def handle_null_values(results, replace_nulls_with): + """ + This function is used to replace null values with the given string + + :param results: + :param replace_nulls_with: null values will be replaced by this + string. + :return: modified result + """ + + temp_results = [] + for row in results: + res = dict() + for k, v in row.items(): + if v is None: + res[k] = replace_nulls_with + else: + res[k] = v + temp_results.append(res) + results = temp_results + + return results + + def gen(quote='strings', quote_char="'", field_separator=',', + replace_nulls_with=None): results = cur.fetchmany(records) if not results: @@ -815,11 +836,15 @@ WHERE csv_writer = csv.DictWriter( res_io, fieldnames=header, delimiter=field_separator, quoting=quote, - quotechar=quote_char + quotechar=quote_char, + replace_nulls_with=replace_nulls_with ) csv_writer.writeheader() results = handle_json_data(json_columns, results) + # Replace the null values with given string if configured. + if replace_nulls_with is not None: + results = handle_null_values(results, replace_nulls_with) csv_writer.writerows(results) yield res_io.getvalue() @@ -836,13 +861,17 @@ WHERE csv_writer = csv.DictWriter( res_io, fieldnames=header, delimiter=field_separator, quoting=quote, - quotechar=quote_char + quotechar=quote_char, + replace_nulls_with=replace_nulls_with ) if IS_PY2: results = convert_keys_to_unicode(results, conn_encoding) results = handle_json_data(json_columns, results) + # Replace the null values with given string if configured. + if replace_nulls_with is not None: + results = handle_null_values(results, replace_nulls_with) csv_writer.writerows(results) yield res_io.getvalue() diff --git a/web/pgadmin/utils/preferences.py b/web/pgadmin/utils/preferences.py index d91da1e4d..caba39571 100644 --- a/web/pgadmin/utils/preferences.py +++ b/web/pgadmin/utils/preferences.py @@ -32,7 +32,8 @@ class _Preference(object): def __init__( self, cid, name, label, _type, default, help_str=None, - min_val=None, max_val=None, options=None, select2=None, fields=None + min_val=None, max_val=None, options=None, select2=None, fields=None, + allow_blanks=None ): """ __init__ @@ -57,6 +58,7 @@ class _Preference(object): :param select2: select2 options (object) :param fields: field schema (if preference has more than one field to take input from user e.g. keyboardshortcut preference) + :param allow_blanks: Flag specify whether to allow blank value. :returns: nothing """ @@ -71,6 +73,7 @@ class _Preference(object): self.options = options self.select2 = select2 self.fields = fields + self.allow_blanks = allow_blanks # Look into the configuration table to find out the id of the specific # preference. @@ -139,7 +142,8 @@ class _Preference(object): return res.value return self.default if self._type == 'text': - if res.value == '': + if res.value == '' and (self.allow_blanks is None or + not self.allow_blanks): return self.default if self._type == 'keyboardshortcut': try: @@ -390,7 +394,7 @@ class Preferences(object): def register( self, category, name, label, _type, default, min_val=None, max_val=None, options=None, help_str=None, category_label=None, - select2=None, fields=None + select2=None, fields=None, allow_blanks=None ): """ register @@ -414,6 +418,7 @@ class Preferences(object): :param select2: select2 control extra options :param fields: field schema (if preference has more than one field to take input from user e.g. keyboardshortcut preference) + :param allow_blanks: Flag specify whether to allow blank value. """ cat = self.__category(category, category_label) if name in cat['preferences']: @@ -429,7 +434,7 @@ class Preferences(object): (cat['preferences'])[name] = res = _Preference( cat['id'], name, label, _type, default, help_str, min_val, - max_val, options, select2, fields + max_val, options, select2, fields, allow_blanks ) return res