* Renamed internal HACKING, LICENSE, README & TODO documentation files to use
the .txt extension and thus be easier to use on Windows.
* Renamed the forked project name to 'suds_jurko' to differentiate it from the
original 'suds' project on PyPI.
* Added a MANIFEST.in project configuration file listing the forked project's
source distribution content (needed since we are using the Mercurial version
control system and our installation packager does not know how to
automatically collect 'all files under Mercurial version control' the way it
does for CVS or SVN).
* Improved project documentation.
* More detailed 'setup.py' usage documentation notes (HACKING.txt).
* Documented the forked project's release procedure (HACKING.txt).
* Documented the forked project's release download locations (README.txt).
* Documented the forked project's installation procedure (README.txt).
* Preparing source distributions ('setup.py sdist') now configured to be use the
.tar.bz2 format by default as it takes the least space.
* Updated the forked project's meta data used when preparing distribution
packages (description, long_description, keywords, url, download_url, ...).
* Project's built distribution no longer contains test.* subpackages.
* Updated todo list.
Python 3 support based on patches integrated from a Hg patch queue maintained by
Bernhard Leiner at 'https://bitbucket.org/bernh/suds-python-3-patches'. Last
collected patch series commit: '96ffba978d5c74df28846b4273252cf1f94f7c78'.
Request & Reply 'message' member contains binary & not unicode-string data. When
a string is needed (e.g. when logging SOAP request or reply content) we now use
Python's internal and non-ambiguous representation for this data.
Optionally, we could 'assume the data is actually an utf-8 encoded unicode
string', decode it and get a bit nicer string output, i.e. without the "b''"
wrapper and without having non-ASCII characters displayed as escaped hexadecimal
character codes, but that would require much more detailed usage research to
make sure our assumption holds.
We teach Python's lib2to3 urllib fixer to correctly recognize the
'urllib2.__version__' data member usage and update it to
'urllib.request.__version__'.
This adds a dependency on the Python 3 version of setuptools when running under
Python 3. This should not be a problem since the Python 2 version also depends
on setuptools.
Setup documentation incorrectly states that it will search for packages relative
to the setup script folder by default when in fact it will search for them
relative to the current working folder. It seems avoiding this problem cleanly
and making the setup script runnable with any current working folder would
require better setup() support.
This change allows the setup.py script to work without having to import the
suds package, thus allowing us to:
* Maintain our suds library sources in Python 2 compatible but possibly Python
3 incompatible format (whatever gets imported by setup.py needs to be
compatible with the Python version running that script).
* Have setup.py install any missing suds library depencencies instead of
depending on them itself and requiring them to be installed manually before
hand.
Release notes added for releases 0.3.7, 0.3.8, 0.3.9, 0.4 & 0.4.1 based on
release notes found specified in the file 'python-suds.spec' used for preparing
the suds RPM package.
Running unit tests using the pytest unit testing framework:
* Simplifies the test code a bit.
* Provides the infrastructure for some more complex test setup and teardown
code.
* Avoids problems with incorrect modules getting imported when running the
tests from an unexpected current working folder and/or when another set of
suds library sources are already located on the Python module search path.
Additional changes:
* Cleaned up included module imports.
* Trimmed trailing spaces.
Based on a patch by michaelgruenewald & bennetb01 attached to ticket #342 on the
original suds project issue tracker ('http://fedorahosted.org/suds/ticket/342').
Comments listed related to that ticket seem to indicate that there may be
additional problems with this patch but so far we have not encountered any.
Added a test to make sure that such choice parameters are correctly listed in
the corresponding suds method object.
Parts of previous dynamic suds object class information checking worked only for
new-style classes. Now we found out there is no need to skip those tests when
using old-style classes and instead we only need to find out the object's class
information using its __class__ member and not the global built-in type()
function.
This exception handling style used in the test code consistent with the one used
in the rest of the code base. Simple Python3 2to3 script can be used to easily
and consistently convert all such old-style except statements into new-style
ones.
This test would fail if run directly when run on a computer with a positive
timezone time adjustment while it would not fail when run together with all the
other tests in this module since some other test would leave behind a
nonpositive timezone adjustment setting. Now the test explicitly sets its own
timezone time adjustment to a negative value.
Fixes a bug referenced in the original suds project issue tracker as ticket
#422 ('http://fedorahosted.org/suds/ticket/422').
This makes the module's name indicate more directly that it only tests datetime
related functionality and the 'test_*' prefix makes the pytest unit testing
framework automatically recognize is as a test module.