diff --git a/README.md b/README.md index 364963ba1181df168706362c3a81f0e017d1aeed..a1fd41079368bbc62d5ad361c63d2e9f956251bb 100644 --- a/README.md +++ b/README.md @@ -55,14 +55,14 @@ File `config.json`: ### /validate endpoint [POST] ```shell -curl -X POST -H "Content-Type: text/xml" -d @valid_xml_matches_xsd http://localhost:5005/validate +curl -X POST -H "Content-Type: text/xml" -d @VALID.xml http://localhost:5005/validate <ok/> ``` Validation against an explizit schema version ```shell -curl -X POST -H "Content-Type: text/xml" -d @valid_xml_matches_xsd http://localhost:5005/validate?v=2.4.0 +curl -X POST -H "Content-Type: text/xml" -d @VALID.xml http://localhost:5005/validate?v=2.4.0 <ok/> ``` @@ -73,59 +73,17 @@ wget --post-file=example.xml --header="Content-Type:text/xml;" -q -O- http://loc ``` ```shell -curl -X POST -H "Content-Type: text/xml?v=2.1.0" -d @no_valid_xml http://localhost:5005/validate +curl -X POST -H "Content-Type: text/xml" -d @INVALID.xml http://localhost:5005/validate <error>invalid xml data</error> ``` ```shell -curl -X POST -H "Content-Type: text/xml" -d @valid_xml_but_dont_matches_xsd http://localhost:5005/validate +curl -X POST -H "Content-Type: text/xml" -d @VALID_XML_BUT_DONT_MATCHES_XSD.xml http://localhost:5005/validate <error>verbose error message</error> ``` -Example: - -```shell -curl -X POST -H "Content-Type: text/xml" -d @11044_17_DCC_v1.8.1_Au_with_error.xml http://localhost:5005/validate - -<error>failed decoding 'A' with XsdAtomicBuiltin(name='xs:double'): - -Reason: could not convert string to float: 'A' - -Schema: - - <simpleType xmlns="http://www.w3.org/2001/XMLSchema" xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty" id="double" name="double"> - <annotation> - <appinfo> - <hfp:hasFacet name="pattern" /> - <hfp:hasFacet name="enumeration" /> - <hfp:hasFacet name="whiteSpace" /> - <hfp:hasFacet name="maxInclusive" /> - <hfp:hasFacet name="maxExclusive" /> - <hfp:hasFacet name="minInclusive" /> - <hfp:hasFacet name="minExclusive" /> - <hfp:hasProperty name="ordered" value="total" /> - <hfp:hasProperty name="bounded" value="true" /> - <hfp:hasProperty name="cardinality" value="finite" /> - <hfp:hasProperty name="numeric" value="true" /> - </appinfo> - <documentation source="http://www.w3.org/TR/xmlschema-2/#double" /> - </annotation> - <restriction base="xs:anySimpleType"> - <whiteSpace fixed="true" id="double.whiteSpace" value="collapse" /> - </restriction> - </simpleType> - -Instance: - - <ns0:coverageProbability xmlns:ns0="https://intranet.ptb.de/fileadmin/dokumente/intranet/abteilungen/abteilung_1/Digitaler_Kalibrierschein/SI">A</ns0:coverageProbability> - -Path: /{https://intranet.ptb.de/fileadmin/dokumente/intranet/abteilungen/abteilung_1/Digitaler_Kalibrierschein/DCC}digitalCalibrationCertificate/{https://intranet.ptb.de/fileadmin/dokumente/intranet/abteilungen/abteilung_1/Digitaler_Kalibrierschein/DCC}measurementResults/{https://intranet.ptb.de/fileadmin/dokumente/intranet/abteilungen/abteilung_1/Digitaler_Kalibrierschein/DCC}influenceConditions/{https://intranet.ptb.de/fileadmin/dokumente/intranet/abteilungen/abteilung_1/Digitaler_Kalibrierschein/DCC}influenceCondition/{https://intranet.ptb.de/fileadmin/dokumente/intranet/abteilungen/abteilung_1/Digitaler_Kalibrierschein/DCC}outcome/{https://intranet.ptb.de/fileadmin/dokumente/intranet/abteilungen/abteilung_1/Digitaler_Kalibrierschein/DCC}data/{https://intranet.ptb.de/fileadmin/dokumente/intranet/abteilungen/abteilung_1/Digitaler_Kalibrierschein/DCC}quantity/{https://intranet.ptb.de/fileadmin/dokumente/intranet/abteilungen/abteilung_1/Digitaler_Kalibrierschein/SI}list/{https://intranet.ptb.de/fileadmin/dokumente/intranet/abteilungen/abteilung_1/Digitaler_Kalibrierschein/SI}coverageProbability -</error> -``` - - ### /version [GET] Returns the version of the validation server: @@ -136,6 +94,12 @@ curl http://localhost:5005/version <version>0.2.0</version> ``` +### /update [POST] + +This URL can be used as a webhook for GitLab (Tag Push Events). With this, +GitLab notifies the Flask server of the existence of a new program version, +which is then requested as a tarball and unpacked. + ## Web interface ``` diff --git a/server.py b/server.py index 395655cb874c92c6d7e6d412d3b5df0bfed204c2..26efbcfdb2d864bda2aecd42f624be9bfbf0210b 100644 --- a/server.py +++ b/server.py @@ -7,8 +7,6 @@ import subprocess, json from pprint import pprint config = utils.get_config_dict() -###releases_dict = utils.get_releases_dict(config['xsd']['releases']) -###versions = utils.get_versions(releases_dict) app = Flask(__name__) CORS(app)