Skip to content
This repository has been archived by the owner on Apr 29, 2023. It is now read-only.

Assorted fixes: Regex, reproducibility, and more. #97

Open
wants to merge 12 commits into
base: next
Choose a base branch
from
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@
*.wxs
test.log
/build/
/dist/
/PyXB.egg-info/
1 change: 1 addition & 0 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ PyXB includes patches from the following Contributors:

Michael van der Westhuizen
Jon Foster
Eurofins Digital Testing (https://www.eurofins-digitaltesting.com/)

For details on these patches see the git software configuration logs.

Expand Down
15 changes: 14 additions & 1 deletion README.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
PyXB -- Python W3C XML Schema Bindings
Version 1.2.7-DEV
Version 1.2.7.dev1

------------------------------------------------
What is this fork for?:

At work, I use a few closed-source tools that use PyXB - some of which I maintain. This repository has the necessary patches to make PyXB work for me.

I don't have the time, inclination or the knowledge of PyXB's internals to be a proper open-source maintainer for PyXB. This fork is just getting bugfixes as I need them. I will accept small pull requests that fix bugs, but not anything big or risky or hard-to-test. I have no interest in doing formal public releases or submitting this to PyPy.

My experience is that PyXB is very complex and seriously lacking documentation, and does not have a stable API, but it can be made to work with some trial-and-error. The concept is great, and it works, and I'm not aware of anything better (though I haven't looked for a couple of years).

-- Jon Foster
------------------------------------------------
Original (upstream) PyXB README follows:

The source releases includes pre-built bundles for common XML namespaces,
assorted web service namespaces, and SAML. A bundle with over 75 namespaces
Expand Down
Empty file modified doc/Images/BindingModel.jpg
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified doc/Images/CTDValidationExceptions.jpg
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified doc/Images/ComponentModel.jpg
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified doc/Images/ContentModel.jpg
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified doc/Images/FACAutomaton.jpg
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified doc/Images/Namespace.jpg
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified doc/Images/NamespaceArchive.jpg
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified doc/Images/NamespaceCore.jpg
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified doc/Images/RuntimeExceptions.jpg
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified doc/Images/ScopedDeclarations.jpg
100755 → 100644
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@

# General information about the project.
project = 'PyXB'
copyright = '2009-2017, Peter A. Bigot'
copyright = '2009-2018, Peter A. Bigot'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
Expand All @@ -52,7 +52,7 @@
# The short X.Y version.
version = '1.2'
# The full version, including alpha/beta/rc tags.
release = '1.2.7-DEV'
release = '1.2.7.dev1'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
Empty file modified doc/pyxb.eap
100755 → 100644
Empty file.
Empty file modified editix-pyxb.pre
100755 → 100644
Empty file.
2 changes: 2 additions & 0 deletions examples/cablelabs/disabled-test.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

rm -f cablelabs.wxs
sh genbindings.sh \
&& python demo.py
2 changes: 2 additions & 0 deletions examples/cablelabs/genbindings.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

# Note: Module order is in increasing dependency order so schema are
# downloaded and saved only once.
[ -f cablelabs.wxs ] \
Expand Down
2 changes: 2 additions & 0 deletions examples/dictionary/genbindings.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

URI='http://services.aonaware.com/DictService/DictService.asmx?WSDL'
PREFIX='dict'
WSDL="${PREFIX}.wsdl"
Expand Down
2 changes: 2 additions & 0 deletions examples/geocoder/disabled-test.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
#! /bin/sh

sh genbindings.sh \
&& python client.py
2 changes: 2 additions & 0 deletions examples/geocoder/genbindings.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

GEO_WSDL_URI='http://geocoder.us/dist/eg/clients/GeoCoder.wsdl'
GEO_PREFIX=GeoCoder
GEO_WSDL="${GEO_PREFIX}.wsdl"
Expand Down
2 changes: 2 additions & 0 deletions examples/kml/genbindings.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

PYTHONPATH=../..
export PYTHONPATH

Expand Down
2 changes: 2 additions & 0 deletions examples/manual/demo.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

rm -f *.wxs po?.py *.pyc
sh demo1.sh \
&& python demo1.py > demo1.out \
Expand Down
2 changes: 2 additions & 0 deletions examples/manual/demo1.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
#! /bin/sh

pyxbgen \
-u po1.xsd -m po1
2 changes: 2 additions & 0 deletions examples/manual/demo2.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
#! /bin/sh

pyxbgen \
-u po2.xsd -m po2
2 changes: 2 additions & 0 deletions examples/manual/demo3a.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
#! /bin/sh

pyxbgen \
-u po3.xsd -m po3
2 changes: 2 additions & 0 deletions examples/manual/demo3b.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

pyxbgen \
-u po3.xsd -m po3 \
-u nsaddress.xsd -m address
2 changes: 2 additions & 0 deletions examples/manual/demo3c1.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

pyxbgen \
-u nsaddress.xsd -m address \
--archive-to-file address.wxs
2 changes: 2 additions & 0 deletions examples/manual/demo3c2.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

pyxbgen \
-u po3.xsd -m po3 \
--archive-path .:+
2 changes: 2 additions & 0 deletions examples/manual/demo4.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

pyxbgen \
-u po4.xsd -m po4 \
--archive-path=.:+
Expand Down
2 changes: 2 additions & 0 deletions examples/manual/demo4b.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

pyxbgen \
-u po3.xsd -m po3 \
--archive-path .:+
2 changes: 2 additions & 0 deletions examples/ndfd/genbindings.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

URI='http://graphical.weather.gov/xml/DWMLgen/schema/DWML.xsd'
PREFIX='DWML'

Expand Down
2 changes: 2 additions & 0 deletions examples/tmsxtvd/disabled-test.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
#! /bin/sh

sh genbindings.sh
python dumpsample.py
2 changes: 2 additions & 0 deletions examples/tmsxtvd/genbindings.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

URI='http://docs.tms.tribune.com/tech/xml/schemas/tmsxtvd.xsd'
PREFIX='tmstvd'

Expand Down
2 changes: 2 additions & 0 deletions examples/weather/disabled-test.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
#! /bin/sh

sh genbindings.sh \
&& python client_get.py
2 changes: 2 additions & 0 deletions examples/weather/genbindings.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

WSDL_URI='http://ws.cdyne.com/WeatherWS/Weather.asmx?wsdl'
WSDL_URI='http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL'
wget -O weather.wsdl "${WSDL_URI}"
Expand Down
2 changes: 2 additions & 0 deletions examples/xsdprimer/genbindings.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

PYTHONPATH=../..
export PYTHONPATH
rm -rf raw
Expand Down
2 changes: 2 additions & 0 deletions maintainer/bundlesupport.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

# This module is sourced by genbind scripts in bundle directories to
# initialize a bundle area and provide a function to translate schema.

Expand Down
2 changes: 2 additions & 0 deletions maintainer/genpd.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

find pyxb/bundles -name __init__.py \
| sed -e 's@^@"@' -e 's@/[^/]*$@",@' -e 's@/@.@g' \
| fmt
Expand Down
2 changes: 2 additions & 0 deletions maintainer/getw3c.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

# Download a mirror of the W3C technical archive
# --backup-converted

Expand Down
2 changes: 2 additions & 0 deletions maintainer/usepyxb.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
#! /bin/sh

PYXB_ROOT=${PYXB_ROOT:-/mnt/devel/pyxb}
PYTHONPATH=${PYXB_ROOT}:${PYTHONPATH:+:${PYTHONPATH}}
PATH="${PYXB_ROOT}/scripts:${PYXB_ROOT}/bin:${PATH}"
Expand Down
2 changes: 1 addition & 1 deletion pyxb/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ def __init__ (self, *args, **kw):
if issubclass(self.__class__.mro()[-2], ( list, dict )):
super(cscRoot, self).__init__(*args)

__version__ = '1.2.7-DEV'
__version__ = '1.2.7.dev1'
"""The version of PyXB"""

__url__ = 'http://pyxb.sourceforge.net'
Expand Down
3 changes: 2 additions & 1 deletion pyxb/binding/basis.py
Original file line number Diff line number Diff line change
Expand Up @@ -1023,7 +1023,8 @@ def XsdSuperType (cls):
# otherwise directly descends from a Python type; return
# the recorded XSD supertype.
return cls._XsdBaseType
if issubclass(sc, simpleTypeDefinition):
if (not sc.__name__.startswith('_')) \
and issubclass(sc, simpleTypeDefinition):
return sc
raise pyxb.LogicError('No supertype found for %s' % (cls,))

Expand Down
Loading