Commit Graph

1521 Commits

Author SHA1 Message Date
Benjamin Dauvergne 5181303ce6 debian: fix changelog 2016-04-25 12:35:56 +02:00
Benjamin Dauvergne 6a6a2c06f0 add debian packaging 2016-03-25 23:11:15 +01:00
Jurko Gospodnetić 56e581706f update todo list 2015-07-27 11:08:20 +02:00
Jurko Gospodnetić 313185c9b4 marshal passed empty object optional params as empty tags
Before, passing an empty suds object as an optional parameter value was treated
the same as not passing that parameter's value or passing it None - the value
would not get marshalled into the constructed SOAP request at all.

Now, user can still not have the value marshalled by passing nothing or None,
but passing an empty object will get marshalled as an actual SOAP request XML
element.

This seems correct as passing an empty object and not passing an object are two
distinct use-cases and there are web-services out there (e.g.
`https://ads.google.com/apis/ads/publisher/v201502/LineItemService?wsdl`) that
do differentiate between the two.

Fixes issue filed on BitBucket under:
`https://bitbucket.org/jurko/suds/issues/81/suds-should-support-an-empty-object`

Kudos to Nicholas Chen (nicholaschen at BitBucket) & Mark Saniscalchi
(msaniscalchi at BitBucket) for reporting the issue and preparing the initial
fix.
2015-07-27 11:04:48 +02:00
Jurko Gospodnetić e346aa2a18 remove extra whitespace (stylistic) 2015-07-27 10:21:56 +02:00
Jurko Gospodnetić 89c6b068c5 remove never used ``suds.mx.appender.DictAppender`` class
All code paths that could potentially lead to this class getting used convert
any encountered dictionaries to ``suds.sudsobject.Object`` instances and report
an error in case a corresponding XSD type can not be found.
2015-07-27 10:15:52 +02:00
Jurko Gospodnetić c9a23c4a1e mark suds.mx.core.Core.node() as abstract
This function was never actually getting used as it is overridden in all
non-abstract mashaller classes, i.e. in both `Encoded` & `Literal`.

Its description also seemed to contain some content incorrectly copy/pasted from
suds.mx.core.Core.suspend().
2015-07-27 10:09:26 +02:00
Jurko Gospodnetić f5ec01e944 remove dead Property code from marshaller's Core.process() 2015-07-27 09:50:28 +02:00
Jurko Gospodnetić e7c3f9a419 test looking for a type in an XSD with recursive type definition 2015-07-26 15:05:32 +02:00
Jurko Gospodnetić a45a9428f5 fix looking for a type in an XSD with recursive type definition
Fixes an infinite recursion bug encountered when looking for an XSD type in an
XSD schema that does not contain it but itself defines a type referencing a
recursively defined type from an imported XSD schema. Kudos to Kevin Pors
(krpors on BitBucket) for detecting, analysing & reporting the issue, plus
preparing a working quick-fix.

Updated README.rst.
2015-07-26 15:05:08 +02:00
Jurko Gospodnetić befa968f28 tidy up test_suds.py test data & test function order (stylistic) 2015-07-26 15:02:34 +02:00
Jurko Gospodnetić 4ba2ec87cc fix test module comment typo 2015-07-26 13:51:45 +02:00
Jurko Gospodnetić 4458125828 test suds.mx.typer.Typer.getprefix()
Added basic unit tests for this function, together with some new cleanup todo
items related to the function's current implementation and test code details.
2015-07-14 11:27:40 +02:00
Jurko Gospodnetić f0ba96e23e fix Typer.genprefix() code broken in recent code cleanup
Unfortunately not covered by the existing test suite, and only added a TODO note
to add the missing tests.
2015-07-14 10:04:41 +02:00
Jurko Gospodnetić 29f6b5917f fix handling recursive XSD imports
Now XSD import does not attempt to refetch XSD schemas already constructed
during the same XSD load operation.

Updated todo list.
Updated project release notes.
2015-07-01 11:46:19 +02:00
Jurko Gospodnetić 492b2dea45 fix comment typo 2015-07-01 11:43:07 +02:00
Jurko Gospodnetić 23bc0434a2 add todo comment on cleaning up XSD Schema build step timing 2015-07-01 11:14:52 +02:00
Jurko Gospodnetić 27970c43fc update comment wording (stylistic) 2015-07-01 10:50:21 +02:00
Jurko Gospodnetić a84fe3a57d add missing empty line in function comment (stylistic, PEP-8) 2015-07-01 10:48:29 +02:00
Jurko Gospodnetić e56c82286c add todo comment to recheck the XSD schema merging implementation
XSD schema imports are not supposed to be transitive. They only allow the
importing schema to reference entities from the imported schema, but do not
include them as their own content. The current XSD schema merging implementation
seems like it's actually including and propagating all the imported content.
2015-07-01 10:46:20 +02:00
Jurko Gospodnetić 556ee3b67d add implementation & todo comment on how Schema objects get built 2015-07-01 10:43:35 +02:00
Jurko Gospodnetić f0cc96b945 sync up error message style for XSD schema import & include 2015-07-01 10:41:21 +02:00
Jurko Gospodnetić 9cd766d2a9 mark XSD schema Include & Import download() methods as private 2015-07-01 10:51:45 +02:00
Jurko Gospodnetić 90cb8d6841 mark XSD schema Import.locate method as private 2015-07-01 10:39:48 +02:00
Jurko Gospodnetić 6c48829634 code cleanup in wsdl.py
- replaced unnecessary list comprehensions with generator expressions to avoid
  creating temporary lists
- used standard boolean check when checking for empty containers
- removed a corpse variable assignment
2015-07-01 10:35:25 +02:00
Jurko Gospodnetić 02c651cea2 add failing recursive XSD import test 2015-07-01 10:29:26 +02:00
Jurko Gospodnetić 1528dd0641 use six.b instead of suds.byte_str in the test_suds.py test module 2015-07-01 10:26:47 +02:00
Jurko Gospodnetić d55384ff38 better comment a potentially confusing local variable
A SOAP WS method invocation parameter's type is identified by its corresponding
XSD schema element.
2014-07-08 09:07:03 +02:00
Jurko Gospodnetić 34ea1f4dd0 tidy up the suds.sax.attribute module (stylistic)
- PEP-8ified comments & made their style consistent
- used double quotes consistently
- removed unnecessary imports
- replaced star imports with explicit ones
2014-07-02 22:06:43 +02:00
Jurko Gospodnetić 2e9c22daf1 tidy up up the suds.sax module (stylistic)
- PEP-8ified comments
- used double quotes consistently
2014-07-02 20:42:25 +02:00
Jurko Gospodnetić de541a2c31 document WSDL SOAP binding research notes
Researched into which namespace should be used to qualify SOAP message tags
corresponding to WSDL message parts when using the document/literal binding
style.
2014-06-30 13:25:21 +02:00
Jurko Gospodnetić fd611a9b70 tidy up the suds.mx.literal module (stylistic) 2014-06-29 23:46:02 +02:00
Jurko Gospodnetić 860352608d tidy up the suds.mx.typer module (stylistic)
- replaced star imports with explicit ones
- improved module, class & method docstrings
- reordered the XSD schema type list alphabetically
- used double quotes consistently
- minor stylistic code changes
2014-07-03 01:56:54 +02:00
Jurko Gospodnetić 08acf73850 fix typo in the main argparser.py module comment 2014-07-06 19:59:00 +02:00
Jurko Gospodnetić 2e7c8b8e47 use new style Exception raising without the 'comma' syntax 2014-07-03 01:57:41 +02:00
Jurko Gospodnetić 96bf1052a1 correct XSD element 'form' attribute handling project release notes
Fixed in commit a076899c6524084e119207bcb300e88c2436fbb1.
2015-06-30 09:52:54 +02:00
Jurko Gospodnetić 9e16d24385 correct accidental test WSDL schema content
TestTransportUsage.test_operation_request_and_reply() test in the test_client.py
module used a WSDL schema that worked fine for that specific test case but did
not exactly match what the developer originally intended. Part of the WSDL's XSD
schema definition got formatted as an embedded Python bytes literal (b"...")
instead of a simple string, resulting in some extra 'b"' & '"' textual XML data.
The extra text data got ignored by suds when parsing that XSD but it was still
not intended to be there in the first place.

Added an assertion to catch cases where such a problem might try and sneak by us
again in the future.
2014-07-02 18:30:42 +02:00
Jurko Gospodnetić 3580611a8c tidy up test WSDL (stylistic)
- indented some of the content to make it more readable
- removed an unnecessary attributeFormDefault attribute
2014-07-01 23:51:49 +02:00
Jurko Gospodnetić 20a87b6862 add missing comment & empty line (stylistic) 2014-07-01 23:48:45 +02:00
Jurko Gospodnetić 159d8f4c9c make minor coding style details consistent (stylistic) 2014-06-30 20:23:46 +02:00
Jurko Gospodnetić 2597de3b29 update exception string in suds.sax.element.Element.applyns()
The code checks that the passed namespace parameter is a list or a tuple, but
the raised exception message mentioned only a tuple as a valid namespace value
structure.
2014-06-30 20:21:01 +02:00
Jurko Gospodnetić 1d6982a4fd clean up suds.bindings.binding.PartElement docstring 2014-06-30 12:05:22 +02:00
Jurko Gospodnetić 02efc08392 remove unused return value from suds.xsd.sxbasic.Element.implany() 2014-06-30 11:02:43 +02:00
Jurko Gospodnetić 2fce798f01 tidy up comment line wrapping (stylistic) 2014-06-30 20:17:11 +02:00
Jurko Gospodnetić 4ee198364f correct invalid test data
Original data accepted only because of extra suds logic to support invalid XSD
schemas but neither was the data actually a valid XSD schema nor is testing that
logic the purpose of the test in question.
2014-06-30 12:07:02 +02:00
Jurko Gospodnetić e4e4841dd1 mark the word `suds` consistently in the project's README.rst docs 2014-06-30 20:38:09 +02:00
Jurko Gospodnetić 3466d461de rename __wsdl_main() recursive WSDL import test utility function
Renamed to __wsdl_no_binding() as we now have a test in its test class that does
not use this function for constructing its main WSDL schema.
2015-06-30 00:14:44 +02:00
Jurko Gospodnetić 9ae9646e3b add WSDL self import test 2015-06-30 00:11:33 +02:00
Jurko Gospodnetić c9864f7932 updated known defects listings in the project's release notes
- noted broken recursive XSD import/include support
- fixed a few typos
2015-06-30 00:03:25 +02:00
Jurko Gospodnetić a78141ada6 fix an additional broken recursive WSDL import scenario
- added related test
- fixed the issue & commented the fix
- updated related already existing comment in the original WSDL import fix
2015-06-29 23:39:51 +02:00