Hello community,

here is the log from the commit of package python-sas7bdat for openSUSE:Factory 
checked in at 2019-07-26 12:39:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sas7bdat (Old)
 and      /work/SRC/openSUSE:Factory/.python-sas7bdat.new.4126 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-sas7bdat"

Fri Jul 26 12:39:21 2019 rev:4 rq:717958 version:2.2.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-sas7bdat/python-sas7bdat.changes  
2018-12-24 11:48:03.489098735 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-sas7bdat.new.4126/python-sas7bdat.changes    
    2019-07-26 12:39:21.725943415 +0200
@@ -1,0 +2,13 @@
+Tue Jul 23 17:24:26 UTC 2019 - Todd R <toddrme2...@gmail.com>
+
+- Update to 2.2.3
+  *  fix: set the success flag to False on exceptions 
+  *  fix: add optional strip_whitespace_from_strings kwarg to disable 
stripping whitespace from string type data
+- Update to 2.2.2
+  * Fix for datasets which have unicode headers. 
+  * note how to install 
+  * suggest use of 'skip_header' 
+  * add documentation around getting column information 
+  * use more descriptive variable name for SAS7BDAT instance in README 
+
+-------------------------------------------------------------------

Old:
----
  sas7bdat-2.2.1.tar.gz

New:
----
  sas7bdat-2.2.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-sas7bdat.spec ++++++
--- /var/tmp/diff_new_pack.cDvj5r/_old  2019-07-26 12:39:22.313943024 +0200
+++ /var/tmp/diff_new_pack.cDvj5r/_new  2019-07-26 12:39:22.313943024 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-sas7bdat
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,14 +18,14 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-sas7bdat
-Version:        2.2.1
+Version:        2.2.3
 Release:        0
 Summary:        A sas7bdat file reader for Python
 License:        MIT
 Group:          Development/Languages/Python
 Url:            https://bitbucket.org/jaredhobbs/sas7bdat
 Source:         
https://files.pythonhosted.org/packages/source/s/sas7bdat/sas7bdat-%{version}.tar.gz
-BuildRequires:  %{python_module devel}
+BuildRequires:  %{python_module setuptools}
 BuildRequires:  %{python_module six >= 1.8.0}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros

++++++ sas7bdat-2.2.1.tar.gz -> sas7bdat-2.2.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sas7bdat-2.2.1/MANIFEST.in 
new/sas7bdat-2.2.3/MANIFEST.in
--- old/sas7bdat-2.2.1/MANIFEST.in      1970-01-01 01:00:00.000000000 +0100
+++ new/sas7bdat-2.2.3/MANIFEST.in      2018-05-25 17:44:04.000000000 +0200
@@ -0,0 +1,2 @@
+include README.md
+include LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sas7bdat-2.2.1/PKG-INFO new/sas7bdat-2.2.3/PKG-INFO
--- old/sas7bdat-2.2.1/PKG-INFO 2018-11-05 06:24:29.000000000 +0100
+++ new/sas7bdat-2.2.3/PKG-INFO 2019-07-15 17:29:43.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: sas7bdat
-Version: 2.2.1
+Version: 2.2.3
 Summary: A sas7bdat file reader for Python
 Home-page: https://bitbucket.org/jaredhobbs/sas7bdat
 Author: Jared Hobbs
@@ -9,49 +9,67 @@
 Description: sas7bdat.py
         ===========
         
-        This module will read sas7bdat files using pure Python (2.6+, 3+). No
-        SAS software required! The module started out as a port of the R script
-        of the same name found here: https://github.com/BioStatMatt/sas7bdat 
but
-        has since been completely rewritten.
+        This module will read sas7bdat files using pure Python (2.6+, 3+). No 
SAS software
+        required! The module started out as a port of the R script of the same 
name
+        found here: <https://github.com/BioStatMatt/sas7bdat> but has since 
been
+        completely rewritten.
         
         Also included with this library is a simple command line script,
-        ``sas7bdat_to_csv``, which converts sas7bdat files to csv files. It 
will
-        also print out header information and meta data using the ``--header``
-        option and it will batch convert files as well. Use the ``--help``
-        option for more information.
-        
-        As is, I’ve successfully tested the script almost three hundred sample
-        files I found on the internet. For the most part, it works well. We can
-        now read compressed files!
-        
-        I’m sure there are more issues that I haven’t come across yet. Please
-        let me know if you come across a data file that isn’t supported and 
I’ll
-        see if I can add support for the file.
+        `sas7bdat_to_csv`, which converts sas7bdat files to csv files. It will 
also
+        print out header information and meta data using the `--header` option 
and it
+        will batch convert files as well. Use the `--help` option for more 
information.
+        
+        As is, I've successfully tested the script almost three hundred sample 
files I
+        found on the internet. For the most part, it works well. We can now 
read
+        compressed files!
+        
+        I'm sure there are more issues that I haven't come across yet. Please 
let me
+        know if you come across a data file that isn't supported and I'll see 
if I can
+        add support for the file.
         
         Usage
         =====
         
-        To create a sas7bdat object, simply pass the constructor a file path.
-        The object is iterable so you can read the contents like this:
+        To install, run:
         
-        ::
-        
-            #!python
-            from sas7bdat import SAS7BDAT
-            with SAS7BDAT('foo.sas7bdat') as f:
-                for row in f:
-                    print row
-        
-        The values in each row will be a ``string``, ``float``,
-        ``datetime.date``, ``datetime.datetime``, or ``datetime.time`` 
instance.
-        
-        If you’d like to get a pandas DataFrame, use the ``to_data_frame``
-        method:
-        
-        ::
-        
-            #!python
-            df = f.to_data_frame()
+        ```
+        pip install sas7bdat
+        ```
+        
+        To create a sas7bdat object, simply pass the constructor a file path. 
The
+        object is iterable so you can read the contents like this:
+        
+        ```
+        #!python
+        from sas7bdat import SAS7BDAT
+        with SAS7BDAT('foo.sas7bdat', skip_header=True) as reader:
+            for row in reader:
+                print row
+        ```
+        
+        Each row will be a list of values of type `string`, `float`, 
`datetime.date`,
+        `datetime.datetime`, or `datetime.time`. Without `skip_header`, the 
first row
+        returned will be the SAS variable names.
+        
+        If you'd like to get a pandas DataFrame, use the `to_data_frame` 
method:
+        
+        ```
+        #!python
+        df = reader.to_data_frame()
+        ```
+        
+        [Variable
+        
attributes](https://support.sas.com/documentation/cdl/en/lrcon/65287/HTML/default/viewer.htm#n08fs0rt7fikeln1uh0t8v5pt25d.htm)
+        are available from `reader.columns`. The order of these columns will 
be the same
+        as the corresponding values in each `row`. Each `Column` has the 
following
+        attributes:
+        
+        * `col_id` (`int`) - the column number
+        * `name` (`bytes`)
+        * `label` (`bytes`)
+        * `format` (`str`)
+        * `type` (`str`)
+        * `length` (`int`)
         
 Keywords: sas,sas7bdat,csv,converter
 Platform: UNKNOWN
@@ -66,3 +84,4 @@
 Classifier: Programming Language :: Python :: 3
 Classifier: Topic :: Text Processing
 Classifier: Topic :: Utilities
+Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sas7bdat-2.2.1/README.md new/sas7bdat-2.2.3/README.md
--- old/sas7bdat-2.2.1/README.md        2015-01-27 19:11:51.000000000 +0100
+++ new/sas7bdat-2.2.3/README.md        2018-12-27 18:29:19.000000000 +0100
@@ -22,23 +22,43 @@
 Usage
 =====
 
+To install, run:
+
+```
+pip install sas7bdat
+```
+
 To create a sas7bdat object, simply pass the constructor a file path. The
 object is iterable so you can read the contents like this:
 
 ```
 #!python
 from sas7bdat import SAS7BDAT
-with SAS7BDAT('foo.sas7bdat') as f:
-    for row in f:
+with SAS7BDAT('foo.sas7bdat', skip_header=True) as reader:
+    for row in reader:
         print row
 ```
 
-The values in each row will be a `string`, `float`, `datetime.date`,
-`datetime.datetime`, or `datetime.time` instance.
+Each row will be a list of values of type `string`, `float`, `datetime.date`,
+`datetime.datetime`, or `datetime.time`. Without `skip_header`, the first row
+returned will be the SAS variable names.
 
 If you'd like to get a pandas DataFrame, use the `to_data_frame` method:
 
 ```
 #!python
-df = f.to_data_frame()
+df = reader.to_data_frame()
 ```
+
+[Variable
+attributes](https://support.sas.com/documentation/cdl/en/lrcon/65287/HTML/default/viewer.htm#n08fs0rt7fikeln1uh0t8v5pt25d.htm)
+are available from `reader.columns`. The order of these columns will be the 
same
+as the corresponding values in each `row`. Each `Column` has the following
+attributes:
+
+* `col_id` (`int`) - the column number
+* `name` (`bytes`)
+* `label` (`bytes`)
+* `format` (`str`)
+* `type` (`str`)
+* `length` (`int`)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sas7bdat-2.2.1/sas7bdat.egg-info/PKG-INFO 
new/sas7bdat-2.2.3/sas7bdat.egg-info/PKG-INFO
--- old/sas7bdat-2.2.1/sas7bdat.egg-info/PKG-INFO       1970-01-01 
01:00:00.000000000 +0100
+++ new/sas7bdat-2.2.3/sas7bdat.egg-info/PKG-INFO       2019-07-15 
17:29:43.000000000 +0200
@@ -0,0 +1,87 @@
+Metadata-Version: 2.1
+Name: sas7bdat
+Version: 2.2.3
+Summary: A sas7bdat file reader for Python
+Home-page: https://bitbucket.org/jaredhobbs/sas7bdat
+Author: Jared Hobbs
+Author-email: ja...@pyhacker.com
+License: MIT
+Description: sas7bdat.py
+        ===========
+        
+        This module will read sas7bdat files using pure Python (2.6+, 3+). No 
SAS software
+        required! The module started out as a port of the R script of the same 
name
+        found here: <https://github.com/BioStatMatt/sas7bdat> but has since 
been
+        completely rewritten.
+        
+        Also included with this library is a simple command line script,
+        `sas7bdat_to_csv`, which converts sas7bdat files to csv files. It will 
also
+        print out header information and meta data using the `--header` option 
and it
+        will batch convert files as well. Use the `--help` option for more 
information.
+        
+        As is, I've successfully tested the script almost three hundred sample 
files I
+        found on the internet. For the most part, it works well. We can now 
read
+        compressed files!
+        
+        I'm sure there are more issues that I haven't come across yet. Please 
let me
+        know if you come across a data file that isn't supported and I'll see 
if I can
+        add support for the file.
+        
+        Usage
+        =====
+        
+        To install, run:
+        
+        ```
+        pip install sas7bdat
+        ```
+        
+        To create a sas7bdat object, simply pass the constructor a file path. 
The
+        object is iterable so you can read the contents like this:
+        
+        ```
+        #!python
+        from sas7bdat import SAS7BDAT
+        with SAS7BDAT('foo.sas7bdat', skip_header=True) as reader:
+            for row in reader:
+                print row
+        ```
+        
+        Each row will be a list of values of type `string`, `float`, 
`datetime.date`,
+        `datetime.datetime`, or `datetime.time`. Without `skip_header`, the 
first row
+        returned will be the SAS variable names.
+        
+        If you'd like to get a pandas DataFrame, use the `to_data_frame` 
method:
+        
+        ```
+        #!python
+        df = reader.to_data_frame()
+        ```
+        
+        [Variable
+        
attributes](https://support.sas.com/documentation/cdl/en/lrcon/65287/HTML/default/viewer.htm#n08fs0rt7fikeln1uh0t8v5pt25d.htm)
+        are available from `reader.columns`. The order of these columns will 
be the same
+        as the corresponding values in each `row`. Each `Column` has the 
following
+        attributes:
+        
+        * `col_id` (`int`) - the column number
+        * `name` (`bytes`)
+        * `label` (`bytes`)
+        * `format` (`str`)
+        * `type` (`str`)
+        * `length` (`int`)
+        
+Keywords: sas,sas7bdat,csv,converter
+Platform: UNKNOWN
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Environment :: Console
+Classifier: Intended Audience :: Developers
+Classifier: Intended Audience :: Science/Research
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python :: 2.6
+Classifier: Programming Language :: Python :: 2.7
+Classifier: Programming Language :: Python :: 3
+Classifier: Topic :: Text Processing
+Classifier: Topic :: Utilities
+Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sas7bdat-2.2.1/sas7bdat.egg-info/SOURCES.txt 
new/sas7bdat-2.2.3/sas7bdat.egg-info/SOURCES.txt
--- old/sas7bdat-2.2.1/sas7bdat.egg-info/SOURCES.txt    1970-01-01 
01:00:00.000000000 +0100
+++ new/sas7bdat-2.2.3/sas7bdat.egg-info/SOURCES.txt    2019-07-15 
17:29:43.000000000 +0200
@@ -0,0 +1,11 @@
+LICENSE
+MANIFEST.in
+README.md
+sas7bdat.py
+setup.py
+sas7bdat.egg-info/PKG-INFO
+sas7bdat.egg-info/SOURCES.txt
+sas7bdat.egg-info/dependency_links.txt
+sas7bdat.egg-info/requires.txt
+sas7bdat.egg-info/top_level.txt
+scripts/sas7bdat_to_csv
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sas7bdat-2.2.1/sas7bdat.egg-info/dependency_links.txt 
new/sas7bdat-2.2.3/sas7bdat.egg-info/dependency_links.txt
--- old/sas7bdat-2.2.1/sas7bdat.egg-info/dependency_links.txt   1970-01-01 
01:00:00.000000000 +0100
+++ new/sas7bdat-2.2.3/sas7bdat.egg-info/dependency_links.txt   2019-07-15 
17:29:43.000000000 +0200
@@ -0,0 +1 @@
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sas7bdat-2.2.1/sas7bdat.egg-info/requires.txt 
new/sas7bdat-2.2.3/sas7bdat.egg-info/requires.txt
--- old/sas7bdat-2.2.1/sas7bdat.egg-info/requires.txt   1970-01-01 
01:00:00.000000000 +0100
+++ new/sas7bdat-2.2.3/sas7bdat.egg-info/requires.txt   2019-07-15 
17:29:43.000000000 +0200
@@ -0,0 +1 @@
+six>=1.8.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sas7bdat-2.2.1/sas7bdat.egg-info/top_level.txt 
new/sas7bdat-2.2.3/sas7bdat.egg-info/top_level.txt
--- old/sas7bdat-2.2.1/sas7bdat.egg-info/top_level.txt  1970-01-01 
01:00:00.000000000 +0100
+++ new/sas7bdat-2.2.3/sas7bdat.egg-info/top_level.txt  2019-07-15 
17:29:43.000000000 +0200
@@ -0,0 +1 @@
+sas7bdat
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sas7bdat-2.2.1/sas7bdat.py 
new/sas7bdat-2.2.3/sas7bdat.py
--- old/sas7bdat-2.2.1/sas7bdat.py      2018-11-05 05:56:25.000000000 +0100
+++ new/sas7bdat-2.2.3/sas7bdat.py      2019-07-15 17:22:18.000000000 +0200
@@ -322,7 +322,7 @@
                  encoding='utf8',
                  encoding_errors='ignore',
                  align_correction=True,
-                 fh=None):
+                 fh=None, strip_whitespace_from_strings=True):
         """
         x.__init__(...) initializes x; see help(type(x)) for signature
         """
@@ -342,6 +342,7 @@
             self.DATE_FORMAT_STRINGS, extra_date_format_strings
         )
         self.skip_header = skip_header
+        self.strip_whitespace_from_strings = strip_whitespace_from_strings
         self.encoding = encoding
         self.encoding_errors = encoding_errors
         self.align_correction = align_correction
@@ -363,7 +364,7 @@
         self.header = SASHeader(self)
         self.properties = self.header.properties
         self.header.parse_metadata()
-        self.logger.debug('\n%s', str(self.header))
+        self.logger.debug('\n%s', self.header)
         self._iter = self.readlines()
 
     def __repr__(self):
@@ -473,7 +474,9 @@
             newfmt = '<%s' % newfmt
         val = struct.unpack(str(newfmt), raw_bytes[:size])[0]
         if fmt == 's':
-            val = val.strip(b'\x00').strip()
+            val = val.strip(b'\x00')
+            if self.strip_whitespace_from_strings:
+                val = val.strip()
         elif math.isnan(val):
             val = None
         elif fmt == 'datetime':
@@ -696,10 +699,14 @@
                     out.writerow(line)
                 except IOError:
                     self.logger.warn('wrote %s lines before interruption', i)
+                    success = False
                     break
             self.logger.info('\u27f6 [%s] wrote %s of %s lines',
                              os.path.basename(out_file), i - 1,
                              self.properties.row_count or 0)
+        except Exception:
+            self.logger.exception()
+            success = False
         finally:
             if out_f is not None:
                 out_f.close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sas7bdat-2.2.1/scripts/sas7bdat_to_csv 
new/sas7bdat-2.2.3/scripts/sas7bdat_to_csv
--- old/sas7bdat-2.2.1/scripts/sas7bdat_to_csv  2018-05-24 23:01:20.000000000 
+0200
+++ new/sas7bdat-2.2.3/scripts/sas7bdat_to_csv  2019-07-15 17:19:12.000000000 
+0200
@@ -32,6 +32,8 @@
     opts = {}
     if options.no_align_correction:
         opts['align_correction'] = False
+    if options.no_strip_whitespace:
+        opts['strip_whitespace_from_strings'] = False
     successes = 0
     errors = []
     for i in xrange(len(in_files)):
@@ -90,6 +92,11 @@
                       help="Certain files raise an exception when processing "
                            "data with alignment correction turned on. Use "
                            "this flag to disable alignment correction.")
+    parser.add_option('--no-strip-whitespace', action='store_true',
+                      default=False,
+                      help="By default, whitespace is stripped from string "
+                           "type data. Use this flag to disable this "
+                           "behavior.")
     options, args = parser.parse_args()
     if len(args) < 1:
         parser.print_help()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sas7bdat-2.2.1/setup.cfg new/sas7bdat-2.2.3/setup.cfg
--- old/sas7bdat-2.2.1/setup.cfg        1970-01-01 01:00:00.000000000 +0100
+++ new/sas7bdat-2.2.3/setup.cfg        2019-07-15 17:29:43.000000000 +0200
@@ -0,0 +1,4 @@
+[egg_info]
+tag_build = 
+tag_date = 0
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/sas7bdat-2.2.1/setup.py new/sas7bdat-2.2.3/setup.py
--- old/sas7bdat-2.2.1/setup.py 2018-11-05 06:24:05.000000000 +0100
+++ new/sas7bdat-2.2.3/setup.py 2019-07-15 17:29:12.000000000 +0200
@@ -2,17 +2,10 @@
 from __future__ import division, absolute_import, print_function,\
     unicode_literals
 import sys
-from distutils.core import setup
+from setuptools import setup
 
-try:
-    from pypandoc import convert_file
-except ImportError:
-    print('warning: pypandoc not found, could not convert Markdown to RST.')
-
-    def convert_file(filename, to):
-        with open(filename, 'r') as f:
-            data = f.read()
-        return data
+with open('README.md', 'r') as f:
+    long_description = f.read()
 
 
 if sys.version_info < (2, 6):
@@ -21,13 +14,14 @@
 
 
 setup(name='sas7bdat',
-      version='2.2.1',
+      version='2.2.3',
       author='Jared Hobbs',
       author_email='ja...@pyhacker.com',
       license='MIT',
       url='https://bitbucket.org/jaredhobbs/sas7bdat',
       description='A sas7bdat file reader for Python',
-      long_description=convert_file('README.md', 'rst'),
+      long_description=long_description,
+      long_description_content_type='text/markdown',
       py_modules=['sas7bdat'],
       scripts=['scripts/sas7bdat_to_csv'],
       install_requires=['six>=1.8.0'],


Reply via email to