├── .github └── workflows │ ├── deutschland_generator.yaml │ └── openapi_check.yaml ├── CNAME ├── README.md ├── generator_config.yaml ├── index.html ├── openapi.yaml └── python-client ├── .openapi-generator-ignore ├── .openapi-generator ├── FILES └── VERSION ├── README.md ├── deutschland └── ladestationen │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── apis │ └── __init__.py │ ├── configuration.py │ ├── exceptions.py │ ├── model │ ├── __init__.py │ ├── geometry.py │ ├── quantization_parameter.py │ ├── station_overview.py │ ├── station_overview_attributes.py │ ├── station_overview_features.py │ ├── station_overview_fields.py │ ├── station_overview_spatial_reference.py │ ├── station_overview_transform.py │ └── station_overview_unique_id_field.py │ ├── model_utils.py │ ├── models │ └── __init__.py │ └── rest.py ├── docs ├── DefaultApi.md ├── Geometry.md ├── QuantizationParameter.md ├── StationOverview.md ├── StationOverviewAttributes.md ├── StationOverviewFeatures.md ├── StationOverviewFields.md ├── StationOverviewSpatialReference.md ├── StationOverviewTransform.md └── StationOverviewUniqueIdField.md ├── pyproject.toml ├── requirements.txt ├── sphinx-docs ├── Makefile ├── conf.py ├── index.rst ├── make.bat └── source │ ├── ladestationen.api.rst │ ├── ladestationen.apis.rst │ ├── ladestationen.model.rst │ ├── ladestationen.models.rst │ ├── ladestationen.rst │ └── modules.rst ├── test-requirements.txt ├── test ├── __init__.py ├── test_default_api.py ├── test_geometry.py ├── test_quantization_parameter.py ├── test_station_overview.py ├── test_station_overview_attributes.py ├── test_station_overview_features.py ├── test_station_overview_fields.py ├── test_station_overview_spatial_reference.py ├── test_station_overview_transform.py └── test_station_overview_unique_id_field.py └── tox.ini /.github/workflows/deutschland_generator.yaml: -------------------------------------------------------------------------------- 1 | on: [push, pull_request] 2 | jobs: 3 | deutschland_generation: 4 | name: "Deutschland Generation" 5 | runs-on: ubuntu-latest 6 | strategy: 7 | fail-fast: false 8 | matrix: 9 | python-version: ['3.7.8' ] 10 | steps: 11 | - uses: actions/checkout@v2 12 | 13 | # Runs a single command using the runners shell 14 | - name: "Lint file" 15 | uses: stoplightio/spectral-action@v0.8.1 16 | with: 17 | file_glob: "openapi.yaml" 18 | 19 | - name: "Generate deutschland code" 20 | uses: wirthual/deutschland-generator-action@v0.8.2 21 | with: 22 | openapi-file: ${{ github.workspace }}/openapi.yaml 23 | commit-to-git: true 24 | upload-to-pypi: true 25 | upload-to-testpypi: false 26 | pypi-token: ${{ secrets.PYPI_PRODUCTION }} 27 | testpypi-token: ${{ secrets.PYPI_TEST }} 28 | python-version: ${{ matrix.python-version }} -------------------------------------------------------------------------------- /.github/workflows/openapi_check.yaml: -------------------------------------------------------------------------------- 1 | on: [push, pull_request] 2 | jobs: 3 | openapi_check: 4 | name: "OpenAPI check" 5 | runs-on: ubuntu-latest 6 | steps: 7 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it 8 | - uses: actions/checkout@v2 9 | 10 | - name: "Create .spectral.yaml for linting" 11 | run: | 12 | echo "extends: spectral:oas" > .spectral.yaml 13 | 14 | # Run Spectral 15 | - uses: stoplightio/spectral-action@v0.8.1 16 | with: 17 | file_glob: openapi.yaml 18 | spectral_ruleset: .spectral.yaml 19 | -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | ladestationen.api.bund.dev -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Ladesäulenregister (Bundesnetzagentur) 2 | -------------------------------------------------------------------------------- /generator_config.yaml: -------------------------------------------------------------------------------- 1 | templateDir: deutschland_templates 2 | additionalProperties: 3 | packageName: "ladestationen" 4 | infoName: "BundesAPI" 5 | infoEmail: "kontakt@bund.dev" 6 | packageVersion: 1.0.5 7 | packageUrl: "https://github.com/bundesAPI/ladestationen-api" 8 | namespace: "deutschland" 9 | docLanguage: "de" 10 | gitHost: "github.com" 11 | gitUserId: "bundesAPI" 12 | gitRepoId: "ladestationen-api" 13 | files: 14 | pyproject.mustache: 15 | destinationFilename: pyproject.toml 16 | templateType: SupportingFiles 17 | requirements.txt: {} 18 | create_doc.mustache: 19 | destinationFilename: create_doc.py 20 | templateType: SupportingFiles 21 | rename_generated_code.mustache: 22 | destinationFilename: rename_generated_code.py 23 | templateType: SupportingFiles 24 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Ladesäulen API - Bundesnetzagentur - OpenAPI Documentation 8 | 9 | 10 |
11 | 12 | 13 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /openapi.yaml: -------------------------------------------------------------------------------- 1 | openapi: "3.0.0" 2 | info: 3 | description: "API des Ladesäulenregisters der Bundesnetzagentur" 4 | version: "1.0.0" 5 | title: "Bundesnetzagentur: Ladesäulenregister" 6 | 7 | paths: 8 | /query: 9 | get: 10 | summary: Query für alle Ladesäulen 11 | parameters: 12 | - name: geometry 13 | in: query 14 | description: Geometry filter. URL-enkodiertes JSON Objekt vom Typ `Geometry` 15 | required: true 16 | schema: 17 | type: string 18 | - name: geometryType 19 | in: query 20 | description: Art der Geometry 21 | required: false 22 | schema: 23 | type: string 24 | default: esriGeometryEnvelope 25 | enum: [esriGeometryEnvelope, esriGeometryPoint, esriGeometryPolyline, esriGeometryPolygon, esriGeometryMultipoint] 26 | - name: f 27 | in: query 28 | style: form 29 | description: Ausgabeformat der Daten. Default ist 'html'. 30 | required: false 31 | schema: 32 | type: string 33 | enum: [json, geojson, pbf, html] 34 | - name: outFields 35 | in: query 36 | description: "Auswahl der Felder, die ausgegeben werden sollen, durch Komma getrennt" 37 | required: true 38 | schema: 39 | type: string 40 | default: '*' 41 | - name: objectIds 42 | in: query 43 | description: Komma-separierte Liste von IDs (integer), filtert nach den einzelnen Objekten 44 | required: false 45 | schema: 46 | type: string 47 | example: '42,123,666' 48 | - name: orderByFields 49 | in: query 50 | allowEmptyValue: true 51 | schema: 52 | type: string 53 | - name: returnGeometry 54 | in: query 55 | style: form 56 | description: "" 57 | required: false 58 | allowEmptyValue: true 59 | schema: 60 | type: boolean 61 | - name: spatialRel 62 | in: query 63 | style: form 64 | description: Spatial Relationships 65 | required: false 66 | schema: 67 | type: string 68 | enum: [esriSpatialRelIntersects, esriSpatialRelContains, esriSpatialRelCrosses, esriSpatialRelEnvelopeIntersects, esriSpatialRelIndexIntersects, esriSpatialRelOverlaps, esriSpatialRelTouches, esriSpatialRelWithin, esriSpatialRelDisjoint] 69 | - name: inSR 70 | in: query 71 | description: Input Spatial Reference 72 | required: false 73 | schema: 74 | type: integer 75 | - name: outSR 76 | in: query 77 | description: Output Spatial Reference 78 | required: false 79 | schema: 80 | type: integer 81 | - name: maxRecordCountFactor 82 | in: query 83 | description: '' 84 | required: false 85 | schema: 86 | type: integer 87 | - name: resultType 88 | in: query 89 | description: '' 90 | required: false 91 | schema: 92 | type: string 93 | enum: [none, standard, tile] 94 | - name: quantizationParameters 95 | in: query 96 | description: URL-enkodiertes JSON Objekt vom Typ `QuantizationParameter` 97 | required: false 98 | schema: 99 | type: string 100 | - name: where 101 | in: query 102 | description: SQL "where" Filter 103 | required: false 104 | schema: 105 | type: string 106 | - name: having 107 | in: query 108 | allowEmptyValue: true 109 | schema: 110 | type: string 111 | - name: time 112 | in: query 113 | required: false 114 | schema: 115 | type: integer 116 | - name: distance 117 | in: query 118 | required: false 119 | schema: 120 | type: string 121 | example: '0.0' 122 | - name: units 123 | in: query 124 | required: false 125 | schema: 126 | type: string 127 | enum: [esriSRUnit_Meter, esriSRUnit_StatuteMile, esriSRUnit_Foot, esriSRUnit_Kilometer, esriSRUnit_NauticalMile, esriSRUnit_USNauticalMile] 128 | - name: geometryPrecision 129 | in: query 130 | required: false 131 | allowEmptyValue: true 132 | schema: 133 | type: string 134 | - name: featureEncoding 135 | in: query 136 | required: false 137 | schema: 138 | type: string 139 | enum: [esriDefault, esriCompressedShapeBuffer] 140 | - name: groupByFieldsForStatistics 141 | in: query 142 | allowEmptyValue: true 143 | schema: 144 | type: string 145 | - name: cacheHint 146 | in: query 147 | schema: 148 | type: boolean 149 | - name: returnExtentOnly 150 | in: query 151 | required: false 152 | schema: 153 | type: boolean 154 | - name: returnZ 155 | in: query 156 | schema: 157 | type: boolean 158 | - name: returnIdsOnly 159 | in: query 160 | schema: 161 | type: boolean 162 | - name: returnCentroid 163 | in: query 164 | description: '' 165 | required: false 166 | schema: 167 | type: boolean 168 | - name: returnExceededLimitFeatures 169 | in: query 170 | description: '' 171 | required: false 172 | schema: 173 | type: boolean 174 | - name: datumTransformation 175 | in: query 176 | allowEmptyValue: true 177 | schema: 178 | type: string 179 | - name: resultOffset 180 | in: query 181 | allowEmptyValue: true 182 | schema: 183 | type: string 184 | - name: applyVCSProjection 185 | in: query 186 | schema: 187 | type: boolean 188 | - name: outStatistics 189 | in: query 190 | allowEmptyValue: true 191 | schema: 192 | type: string 193 | - name: returnDistinctValues 194 | in: query 195 | schema: 196 | type: boolean 197 | - name: multipatchOption 198 | in: query 199 | schema: 200 | type: string 201 | enum: [none, xyFootprint, stripMaterials, embedMaterials, externalizeTextures, extent] 202 | - name: returnM 203 | in: query 204 | schema: 205 | type: boolean 206 | - name: maxAllowableOffset 207 | in: query 208 | allowEmptyValue: true 209 | schema: 210 | type: integer 211 | - name: returnCountOnly 212 | in: query 213 | schema: 214 | type: boolean 215 | - name: returnUniqueIdsOnly 216 | in: query 217 | schema: 218 | type: boolean 219 | - name: returnQueryGeometry 220 | in: query 221 | schema: 222 | type: boolean 223 | - name: resultRecordCount 224 | in: query 225 | allowEmptyValue: true 226 | schema: 227 | type: integer 228 | - name: sqlFormat 229 | in: query 230 | schema: 231 | type: string 232 | enum: [none, standard, native] 233 | - name: token 234 | in: query 235 | allowEmptyValue: true 236 | schema: 237 | type: string 238 | - name: returnGeodetic 239 | in: query 240 | schema: 241 | type: boolean 242 | responses: 243 | '200': 244 | description: OK 245 | content: 246 | application/json: 247 | schema: 248 | $ref: '#/components/schemas/StationOverview' 249 | servers: 250 | - url: https://services6.arcgis.com/6jU7RmJig2Wwo1b0/ArcGIS/rest/services/Ladesaeulenregister/FeatureServer/7 251 | 252 | components: 253 | schemas: 254 | StationOverview: 255 | type: object 256 | properties: 257 | objectIdFieldName: 258 | type: string 259 | uniqueIdField: 260 | type: object 261 | properties: 262 | name: 263 | type: string 264 | isSystemMaintained: 265 | type: boolean 266 | globalIdFieldName: 267 | type: string 268 | geometryType: 269 | type: string 270 | spatialReference: 271 | type: object 272 | properties: 273 | wkid: 274 | type: integer 275 | format: int32 276 | latestWkid: 277 | type: integer 278 | format: int32 279 | transform: 280 | type: object 281 | properties: 282 | originPosition: 283 | type: string 284 | scale: 285 | type: array 286 | items: 287 | type: number 288 | translate: 289 | type: array 290 | items: 291 | type: number 292 | fields: 293 | type: array 294 | items: 295 | type: object 296 | properties: 297 | name: 298 | type: string 299 | type: 300 | type: string 301 | alias: 302 | type: string 303 | sqlType: 304 | type: string 305 | domain: 306 | type: string 307 | format: nullable 308 | defaultValue: 309 | type: string 310 | format: nullable 311 | features: 312 | type: array 313 | items: 314 | type: object 315 | properties: 316 | attributes: 317 | type: object 318 | properties: 319 | ID: 320 | type: integer 321 | format: int32 322 | Betreiber_: 323 | type: string 324 | Standort_: 325 | type: string 326 | Längengrad_: 327 | type: number 328 | Breitengrad_: 329 | type: number 330 | für_die_Überschrift_: 331 | type: string 332 | Anzahl_Ladepunkte_: 333 | type: string 334 | Art_des_Ladepunktes_: 335 | type: string 336 | AC_Steckdose_Typ_2__1_: 337 | type: string 338 | AC_Kupplung_Typ_2__1_: 339 | type: string 340 | DC_Kupplung_Combo__1_: 341 | type: string 342 | AC_Schuko__1_: 343 | type: string 344 | AC_CEE_5_polig__1_: 345 | type: string 346 | AC_CEE_3_polig__1_: 347 | type: string 348 | DC_CHAdeMO__1_: 349 | type: string 350 | Sonstige_Stecker__1_: 351 | type: string 352 | Nennleistung_Ladepunkt_1_: 353 | type: string 354 | Public_Key__1_: 355 | type: string 356 | Art_des_Ladepunktes_2_: 357 | type: string 358 | AC_Steckdose_Typ_2__2_: 359 | type: string 360 | AC_Kupplung_Typ_2__2_: 361 | type: string 362 | DC_Kupplung_Combo__2_: 363 | type: string 364 | AC_Schuko__2_: 365 | type: string 366 | AC_CEE_5_polig__2_: 367 | type: string 368 | AC_CEE_3_polig__2_: 369 | type: string 370 | DC_CHAdeMO__2_: 371 | type: string 372 | Sonstige_Stecker__2_: 373 | type: string 374 | Nennleistung_Ladepunkt_2_: 375 | type: string 376 | Public_Key__2_: 377 | type: string 378 | Art_des_Ladepunktes_3_: 379 | type: string 380 | AC_Steckdose_Typ_2__3_: 381 | type: string 382 | AC_Kupplung_Typ_2__3_: 383 | type: string 384 | DC_Kupplung_Combo__3_: 385 | type: string 386 | AC_Schuko__3_: 387 | type: string 388 | AC_CEE_5_polig__3_: 389 | type: string 390 | AC_CEE_3_polig__3_: 391 | type: string 392 | DC_CHAdeMO__3_: 393 | type: string 394 | Sonstige_Stecker__3_: 395 | type: string 396 | Nennleistung_Ladepunkt_3_: 397 | type: string 398 | Public_Key__3_: 399 | type: string 400 | Art_des_Ladepunktes_4_: 401 | type: string 402 | AC_Steckdose_Typ_2__4_: 403 | type: string 404 | AC_Kupplung_Typ_2__4_: 405 | type: string 406 | DC_Kupplung_Combo__4_: 407 | type: string 408 | AC_Schuko__4_: 409 | type: string 410 | AC_CEE_5_polig__4_: 411 | type: string 412 | AC_CEE_3_polig__4_: 413 | type: string 414 | DC_CHAdeMO__4_: 415 | type: string 416 | Sonstige_Stecker__4_: 417 | type: string 418 | Nennleistung_Ladepunkt_4_: 419 | type: string 420 | Public_Key__4_: 421 | type: string 422 | OBJECTID: 423 | type: integer 424 | format: int32 425 | Geometry: 426 | type: object 427 | properties: 428 | xmin: 429 | type: number 430 | ymin: 431 | type: number 432 | xmax: 433 | type: number 434 | ymax: 435 | type: number 436 | spatialReference: 437 | type: object 438 | properties: 439 | wkid: 440 | type: integer 441 | format: int32 442 | latestWkid: 443 | type: integer 444 | format: int32 445 | QuantizationParameter: 446 | type: object 447 | properties: 448 | mode: 449 | type: string 450 | originPosition: 451 | type: string 452 | tolerance: 453 | type: number 454 | extent: 455 | $ref: '#/components/schemas/Geometry' 456 | 457 | externalDocs: 458 | description: "Ausführlichere Dokumentation" 459 | url: "https://services6.arcgis.com/6jU7RmJig2Wwo1b0/ArcGIS/rest/services/Ladesaeulenregister/FeatureServer/7" 460 | -------------------------------------------------------------------------------- /python-client/.openapi-generator-ignore: -------------------------------------------------------------------------------- 1 | # OpenAPI Generator Ignore 2 | # Generated by openapi-generator https://github.com/openapitools/openapi-generator 3 | 4 | # Use this file to prevent files from being overwritten by the generator. 5 | # The patterns follow closely to .gitignore or .dockerignore. 6 | 7 | # As an example, the C# client generator defines ApiClient.cs. 8 | # You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: 9 | #ApiClient.cs 10 | 11 | # You can match any string of characters against a directory, file or extension with a single asterisk (*): 12 | #foo/*/qux 13 | # The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux 14 | 15 | # You can recursively match patterns against a directory, file or extension with a double asterisk (**): 16 | #foo/**/qux 17 | # This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux 18 | 19 | # You can also negate patterns with an exclamation (!). 20 | # For example, you can ignore all files in a docs folder with the file extension .md: 21 | #docs/*.md 22 | # Then explicitly reverse the ignore rule for a single file: 23 | #!docs/README.md 24 | -------------------------------------------------------------------------------- /python-client/.openapi-generator/FILES: -------------------------------------------------------------------------------- 1 | .gitignore 2 | .gitlab-ci.yml 3 | .openapi-generator-ignore 4 | .travis.yml 5 | README.md 6 | create_doc.py 7 | docs/DefaultApi.md 8 | docs/Geometry.md 9 | docs/QuantizationParameter.md 10 | docs/StationOverview.md 11 | docs/StationOverviewAttributes.md 12 | docs/StationOverviewFeatures.md 13 | docs/StationOverviewFields.md 14 | docs/StationOverviewSpatialReference.md 15 | docs/StationOverviewTransform.md 16 | docs/StationOverviewUniqueIdField.md 17 | git_push.sh 18 | ladestationen/__init__.py 19 | ladestationen/api/__init__.py 20 | ladestationen/api/default_api.py 21 | ladestationen/api_client.py 22 | ladestationen/apis/__init__.py 23 | ladestationen/configuration.py 24 | ladestationen/exceptions.py 25 | ladestationen/model/__init__.py 26 | ladestationen/model/geometry.py 27 | ladestationen/model/quantization_parameter.py 28 | ladestationen/model/station_overview.py 29 | ladestationen/model/station_overview_attributes.py 30 | ladestationen/model/station_overview_features.py 31 | ladestationen/model/station_overview_fields.py 32 | ladestationen/model/station_overview_spatial_reference.py 33 | ladestationen/model/station_overview_transform.py 34 | ladestationen/model/station_overview_unique_id_field.py 35 | ladestationen/model_utils.py 36 | ladestationen/models/__init__.py 37 | ladestationen/rest.py 38 | pyproject.toml 39 | rename_generated_code.py 40 | requirements.txt 41 | requirements.txt 42 | setup.cfg 43 | setup.py 44 | test-requirements.txt 45 | test/__init__.py 46 | test/test_default_api.py 47 | test/test_geometry.py 48 | test/test_quantization_parameter.py 49 | test/test_station_overview.py 50 | test/test_station_overview_attributes.py 51 | test/test_station_overview_features.py 52 | test/test_station_overview_fields.py 53 | test/test_station_overview_spatial_reference.py 54 | test/test_station_overview_transform.py 55 | test/test_station_overview_unique_id_field.py 56 | tox.ini 57 | -------------------------------------------------------------------------------- /python-client/.openapi-generator/VERSION: -------------------------------------------------------------------------------- 1 | 6.0.0-SNAPSHOT -------------------------------------------------------------------------------- /python-client/README.md: -------------------------------------------------------------------------------- 1 | # ladestationen 2 | API des Ladesäulenregisters der Bundesnetzagentur 3 | 4 | This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: 5 | 6 | - API version: 1.0.0 7 | - Package version: 1.0.5 8 | - Build package: org.openapitools.codegen.languages.PythonClientCodegen 9 | 10 | ## Requirements. 11 | 12 | Python >=3.6 13 | 14 | ## Installation & Usage 15 | ### pip install 16 | 17 | If the python package is hosted on a repository, you can install directly using: 18 | 19 | ```sh 20 | pip install git+https://github.com/bundesAPI/ladestationen-api.git 21 | ``` 22 | (you may need to run `pip` with root permission: `sudo pip install git+https://github.com/bundesAPI/ladestationen-api.git`) 23 | 24 | Then import the package: 25 | ```python 26 | from deutschland import ladestationen 27 | ``` 28 | 29 | ### Setuptools 30 | 31 | Install via [Setuptools](http://pypi.python.org/pypi/setuptools). 32 | 33 | ```sh 34 | python setup.py install --user 35 | ``` 36 | (or `sudo python setup.py install` to install the package for all users) 37 | 38 | Then import the package: 39 | ```python 40 | from deutschland import ladestationen 41 | ``` 42 | 43 | ## Getting Started 44 | 45 | Please follow the [installation procedure](#installation--usage) and then run the following: 46 | 47 | ```python 48 | 49 | import time 50 | from deutschland import ladestationen 51 | from pprint import pprint 52 | from deutschland.ladestationen.api import default_api 53 | from deutschland.ladestationen.model.station_overview import StationOverview 54 | # Defining the host is optional and defaults to http://localhost 55 | # See configuration.py for a list of all supported configuration parameters. 56 | configuration = ladestationen.Configuration( 57 | host = "http://localhost" 58 | ) 59 | 60 | 61 | 62 | # Enter a context with an instance of the API client 63 | with ladestationen.ApiClient(configuration) as api_client: 64 | # Create an instance of the API class 65 | api_instance = default_api.DefaultApi(api_client) 66 | geometry = "geometry_example" # str | Geometry filter. URL-enkodiertes JSON Objekt vom Typ `Geometry` 67 | out_fields = "*" # str | Auswahl der Felder, die ausgegeben werden sollen, durch Komma getrennt (default to "*") 68 | geometry_type = "esriGeometryEnvelope" # str | Art der Geometry (optional) (default to "esriGeometryEnvelope") 69 | f = "json" # str | Ausgabeformat der Daten. Default ist 'html'. (optional) 70 | object_ids = "42,123,666" # str | Komma-separierte Liste von IDs (integer), filtert nach den einzelnen Objekten (optional) 71 | order_by_fields = "orderByFields_example" # str | (optional) 72 | return_geometry = True # bool | (optional) 73 | spatial_rel = "esriSpatialRelIntersects" # str | Spatial Relationships (optional) 74 | in_sr = 1 # int | Input Spatial Reference (optional) 75 | out_sr = 1 # int | Output Spatial Reference (optional) 76 | max_record_count_factor = 1 # int | (optional) 77 | result_type = "none" # str | (optional) 78 | quantization_parameters = "quantizationParameters_example" # str | URL-enkodiertes JSON Objekt vom Typ `QuantizationParameter` (optional) 79 | where = "where_example" # str | SQL \"where\" Filter (optional) 80 | having = "having_example" # str | (optional) 81 | time = 1 # int | (optional) 82 | distance = "0.0" # str | (optional) 83 | units = "esriSRUnit_Meter" # str | (optional) 84 | geometry_precision = "geometryPrecision_example" # str | (optional) 85 | feature_encoding = "esriDefault" # str | (optional) 86 | group_by_fields_for_statistics = "groupByFieldsForStatistics_example" # str | (optional) 87 | cache_hint = True # bool | (optional) 88 | return_extent_only = True # bool | (optional) 89 | return_z = True # bool | (optional) 90 | return_ids_only = True # bool | (optional) 91 | return_centroid = True # bool | (optional) 92 | return_exceeded_limit_features = True # bool | (optional) 93 | datum_transformation = "datumTransformation_example" # str | (optional) 94 | result_offset = "resultOffset_example" # str | (optional) 95 | apply_vcs_projection = True # bool | (optional) 96 | out_statistics = "outStatistics_example" # str | (optional) 97 | return_distinct_values = True # bool | (optional) 98 | multipatch_option = "none" # str | (optional) 99 | return_m = True # bool | (optional) 100 | max_allowable_offset = 1 # int | (optional) 101 | return_count_only = True # bool | (optional) 102 | return_unique_ids_only = True # bool | (optional) 103 | return_query_geometry = True # bool | (optional) 104 | result_record_count = 1 # int | (optional) 105 | sql_format = "none" # str | (optional) 106 | token = "token_example" # str | (optional) 107 | return_geodetic = True # bool | (optional) 108 | 109 | try: 110 | # Query für alle Ladesäulen 111 | api_response = api_instance.query_get(geometry, out_fields, geometry_type=geometry_type, f=f, object_ids=object_ids, order_by_fields=order_by_fields, return_geometry=return_geometry, spatial_rel=spatial_rel, in_sr=in_sr, out_sr=out_sr, max_record_count_factor=max_record_count_factor, result_type=result_type, quantization_parameters=quantization_parameters, where=where, having=having, time=time, distance=distance, units=units, geometry_precision=geometry_precision, feature_encoding=feature_encoding, group_by_fields_for_statistics=group_by_fields_for_statistics, cache_hint=cache_hint, return_extent_only=return_extent_only, return_z=return_z, return_ids_only=return_ids_only, return_centroid=return_centroid, return_exceeded_limit_features=return_exceeded_limit_features, datum_transformation=datum_transformation, result_offset=result_offset, apply_vcs_projection=apply_vcs_projection, out_statistics=out_statistics, return_distinct_values=return_distinct_values, multipatch_option=multipatch_option, return_m=return_m, max_allowable_offset=max_allowable_offset, return_count_only=return_count_only, return_unique_ids_only=return_unique_ids_only, return_query_geometry=return_query_geometry, result_record_count=result_record_count, sql_format=sql_format, token=token, return_geodetic=return_geodetic) 112 | pprint(api_response) 113 | except ladestationen.ApiException as e: 114 | print("Exception when calling DefaultApi->query_get: %s\n" % e) 115 | ``` 116 | 117 | ## Documentation for API Endpoints 118 | 119 | All URIs are relative to *http://localhost* 120 | 121 | Class | Method | HTTP request | Description 122 | ------------ | ------------- | ------------- | ------------- 123 | *DefaultApi* | [**query_get**](docs/DefaultApi.md#query_get) | **GET** /query | Query für alle Ladesäulen 124 | 125 | 126 | ## Documentation For Models 127 | 128 | - [Geometry](docs/Geometry.md) 129 | - [QuantizationParameter](docs/QuantizationParameter.md) 130 | - [StationOverview](docs/StationOverview.md) 131 | - [StationOverviewAttributes](docs/StationOverviewAttributes.md) 132 | - [StationOverviewFeatures](docs/StationOverviewFeatures.md) 133 | - [StationOverviewFields](docs/StationOverviewFields.md) 134 | - [StationOverviewSpatialReference](docs/StationOverviewSpatialReference.md) 135 | - [StationOverviewTransform](docs/StationOverviewTransform.md) 136 | - [StationOverviewUniqueIdField](docs/StationOverviewUniqueIdField.md) 137 | 138 | 139 | ## Documentation For Authorization 140 | 141 | All endpoints do not require authorization. 142 | 143 | ## Author 144 | 145 | kontakt@bund.dev 146 | 147 | 148 | ## Notes for Large OpenAPI documents 149 | If the OpenAPI document is large, imports in ladestationen.apis and ladestationen.models may fail with a 150 | RecursionError indicating the maximum recursion limit has been exceeded. In that case, there are a couple of solutions: 151 | 152 | Solution 1: 153 | Use specific imports for apis and models like: 154 | - `from deutschland.ladestationen.api.default_api import DefaultApi` 155 | - `from deutschland.ladestationen.model.pet import Pet` 156 | 157 | Solution 2: 158 | Before importing the package, adjust the maximum recursion limit as shown below: 159 | ``` 160 | import sys 161 | sys.setrecursionlimit(1500) 162 | from deutschland import ladestationen 163 | from deutschland.ladestationen.apis import * 164 | from deutschland.ladestationen.models import * 165 | ``` 166 | 167 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | """ 4 | Bundesnetzagentur: Ladesäulenregister 5 | 6 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 7 | 8 | The version of the OpenAPI document: 1.0.0 9 | Contact: kontakt@bund.dev 10 | Generated by: https://openapi-generator.tech 11 | """ 12 | 13 | 14 | __version__ = "1.0.5" 15 | 16 | # import ApiClient 17 | from deutschland.ladestationen.api_client import ApiClient 18 | 19 | # import Configuration 20 | from deutschland.ladestationen.configuration import Configuration 21 | 22 | # import exceptions 23 | from deutschland.ladestationen.exceptions import ( 24 | ApiAttributeError, 25 | ApiException, 26 | ApiKeyError, 27 | ApiTypeError, 28 | ApiValueError, 29 | OpenApiException, 30 | ) 31 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/api/__init__.py: -------------------------------------------------------------------------------- 1 | # do not import all apis into this module because that uses a lot of memory and stack frames 2 | # if you need the ability to import all apis from one package, import them with 3 | # from deutschland.ladestationen.apis import DefaultApi 4 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/apis/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # Import all APIs into this package. 4 | # If you have many APIs here with many many models used in each API this may 5 | # raise a `RecursionError`. 6 | # In order to avoid this, import only the API that you directly need like: 7 | # 8 | # from .api.default_api import DefaultApi 9 | # 10 | # or import this package, but before doing it, use: 11 | # 12 | # import sys 13 | # sys.setrecursionlimit(n) 14 | 15 | # Import APIs into API package: 16 | from deutschland.ladestationen.api.default_api import DefaultApi 17 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/configuration.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import copy 13 | import logging 14 | import multiprocessing 15 | import sys 16 | from http import client as http_client 17 | 18 | import urllib3 19 | from deutschland.ladestationen.exceptions import ApiValueError 20 | 21 | JSON_SCHEMA_VALIDATION_KEYWORDS = { 22 | "multipleOf", 23 | "maximum", 24 | "exclusiveMaximum", 25 | "minimum", 26 | "exclusiveMinimum", 27 | "maxLength", 28 | "minLength", 29 | "pattern", 30 | "maxItems", 31 | "minItems", 32 | } 33 | 34 | 35 | class Configuration(object): 36 | """NOTE: This class is auto generated by OpenAPI Generator 37 | 38 | Ref: https://openapi-generator.tech 39 | Do not edit the class manually. 40 | 41 | :param host: Base url 42 | :param api_key: Dict to store API key(s). 43 | Each entry in the dict specifies an API key. 44 | The dict key is the name of the security scheme in the OAS specification. 45 | The dict value is the API key secret. 46 | :param api_key_prefix: Dict to store API prefix (e.g. Bearer) 47 | The dict key is the name of the security scheme in the OAS specification. 48 | The dict value is an API key prefix when generating the auth data. 49 | :param username: Username for HTTP basic authentication 50 | :param password: Password for HTTP basic authentication 51 | :param discard_unknown_keys: Boolean value indicating whether to discard 52 | unknown properties. A server may send a response that includes additional 53 | properties that are not known by the client in the following scenarios: 54 | 1. The OpenAPI document is incomplete, i.e. it does not match the server 55 | implementation. 56 | 2. The client was generated using an older version of the OpenAPI document 57 | and the server has been upgraded since then. 58 | If a schema in the OpenAPI document defines the additionalProperties attribute, 59 | then all undeclared properties received by the server are injected into the 60 | additional properties map. In that case, there are undeclared properties, and 61 | nothing to discard. 62 | :param disabled_client_side_validations (string): Comma-separated list of 63 | JSON schema validation keywords to disable JSON schema structural validation 64 | rules. The following keywords may be specified: multipleOf, maximum, 65 | exclusiveMaximum, minimum, exclusiveMinimum, maxLength, minLength, pattern, 66 | maxItems, minItems. 67 | By default, the validation is performed for data generated locally by the client 68 | and data received from the server, independent of any validation performed by 69 | the server side. If the input data does not satisfy the JSON schema validation 70 | rules specified in the OpenAPI document, an exception is raised. 71 | If disabled_client_side_validations is set, structural validation is 72 | disabled. This can be useful to troubleshoot data validation problem, such as 73 | when the OpenAPI document validation rules do not match the actual API data 74 | received by the server. 75 | :param server_index: Index to servers configuration. 76 | :param server_variables: Mapping with string values to replace variables in 77 | templated server configuration. The validation of enums is performed for 78 | variables with defined enum values before. 79 | :param server_operation_index: Mapping from operation ID to an index to server 80 | configuration. 81 | :param server_operation_variables: Mapping from operation ID to a mapping with 82 | string values to replace variables in templated server configuration. 83 | The validation of enums is performed for variables with defined enum values before. 84 | :param ssl_ca_cert: str - the path to a file of concatenated CA certificates 85 | in PEM format 86 | 87 | """ 88 | 89 | _default = None 90 | 91 | def __init__( 92 | self, 93 | host=None, 94 | api_key=None, 95 | api_key_prefix=None, 96 | access_token=None, 97 | username=None, 98 | password=None, 99 | discard_unknown_keys=False, 100 | disabled_client_side_validations="", 101 | server_index=None, 102 | server_variables=None, 103 | server_operation_index=None, 104 | server_operation_variables=None, 105 | ssl_ca_cert=None, 106 | ): 107 | """Constructor""" 108 | self._base_path = "http://localhost" if host is None else host 109 | """Default Base url 110 | """ 111 | self.server_index = 0 if server_index is None and host is None else server_index 112 | self.server_operation_index = server_operation_index or {} 113 | """Default server index 114 | """ 115 | self.server_variables = server_variables or {} 116 | self.server_operation_variables = server_operation_variables or {} 117 | """Default server variables 118 | """ 119 | self.temp_folder_path = None 120 | """Temp file folder for downloading files 121 | """ 122 | # Authentication Settings 123 | self.access_token = access_token 124 | self.api_key = {} 125 | if api_key: 126 | self.api_key = api_key 127 | """dict to store API key(s) 128 | """ 129 | self.api_key_prefix = {} 130 | if api_key_prefix: 131 | self.api_key_prefix = api_key_prefix 132 | """dict to store API prefix (e.g. Bearer) 133 | """ 134 | self.refresh_api_key_hook = None 135 | """function hook to refresh API key if expired 136 | """ 137 | self.username = username 138 | """Username for HTTP basic authentication 139 | """ 140 | self.password = password 141 | """Password for HTTP basic authentication 142 | """ 143 | self.discard_unknown_keys = discard_unknown_keys 144 | self.disabled_client_side_validations = disabled_client_side_validations 145 | self.logger = {} 146 | """Logging Settings 147 | """ 148 | self.logger["package_logger"] = logging.getLogger("ladestationen") 149 | self.logger["urllib3_logger"] = logging.getLogger("urllib3") 150 | self.logger_format = "%(asctime)s %(levelname)s %(message)s" 151 | """Log format 152 | """ 153 | self.logger_stream_handler = None 154 | """Log stream handler 155 | """ 156 | self.logger_file_handler = None 157 | """Log file handler 158 | """ 159 | self.logger_file = None 160 | """Debug file location 161 | """ 162 | self.debug = False 163 | """Debug switch 164 | """ 165 | 166 | self.verify_ssl = True 167 | """SSL/TLS verification 168 | Set this to false to skip verifying SSL certificate when calling API 169 | from https server. 170 | """ 171 | self.ssl_ca_cert = ssl_ca_cert 172 | """Set this to customize the certificate file to verify the peer. 173 | """ 174 | self.cert_file = None 175 | """client certificate file 176 | """ 177 | self.key_file = None 178 | """client key file 179 | """ 180 | self.assert_hostname = None 181 | """Set this to True/False to enable/disable SSL hostname verification. 182 | """ 183 | 184 | self.connection_pool_maxsize = multiprocessing.cpu_count() * 5 185 | """urllib3 connection pool's maximum number of connections saved 186 | per pool. urllib3 uses 1 connection as default value, but this is 187 | not the best value when you are making a lot of possibly parallel 188 | requests to the same host, which is often the case here. 189 | cpu_count * 5 is used as default value to increase performance. 190 | """ 191 | 192 | self.proxy = None 193 | """Proxy URL 194 | """ 195 | self.no_proxy = None 196 | """bypass proxy for host in the no_proxy list. 197 | """ 198 | self.proxy_headers = None 199 | """Proxy headers 200 | """ 201 | self.safe_chars_for_path_param = "" 202 | """Safe chars for path_param 203 | """ 204 | self.retries = None 205 | """Adding retries to override urllib3 default value 3 206 | """ 207 | # Enable client side validation 208 | self.client_side_validation = True 209 | 210 | # Options to pass down to the underlying urllib3 socket 211 | self.socket_options = None 212 | 213 | def __deepcopy__(self, memo): 214 | cls = self.__class__ 215 | result = cls.__new__(cls) 216 | memo[id(self)] = result 217 | for k, v in self.__dict__.items(): 218 | if k not in ("logger", "logger_file_handler"): 219 | setattr(result, k, copy.deepcopy(v, memo)) 220 | # shallow copy of loggers 221 | result.logger = copy.copy(self.logger) 222 | # use setters to configure loggers 223 | result.logger_file = self.logger_file 224 | result.debug = self.debug 225 | return result 226 | 227 | def __setattr__(self, name, value): 228 | object.__setattr__(self, name, value) 229 | if name == "disabled_client_side_validations": 230 | s = set(filter(None, value.split(","))) 231 | for v in s: 232 | if v not in JSON_SCHEMA_VALIDATION_KEYWORDS: 233 | raise ApiValueError("Invalid keyword: '{0}''".format(v)) 234 | self._disabled_client_side_validations = s 235 | 236 | @classmethod 237 | def set_default(cls, default): 238 | """Set default instance of configuration. 239 | 240 | It stores default configuration, which can be 241 | returned by get_default_copy method. 242 | 243 | :param default: object of Configuration 244 | """ 245 | cls._default = copy.deepcopy(default) 246 | 247 | @classmethod 248 | def get_default_copy(cls): 249 | """Return new instance of configuration. 250 | 251 | This method returns newly created, based on default constructor, 252 | object of Configuration class or returns a copy of default 253 | configuration passed by the set_default method. 254 | 255 | :return: The configuration object. 256 | """ 257 | if cls._default is not None: 258 | return copy.deepcopy(cls._default) 259 | return Configuration() 260 | 261 | @property 262 | def logger_file(self): 263 | """The logger file. 264 | 265 | If the logger_file is None, then add stream handler and remove file 266 | handler. Otherwise, add file handler and remove stream handler. 267 | 268 | :param value: The logger_file path. 269 | :type: str 270 | """ 271 | return self.__logger_file 272 | 273 | @logger_file.setter 274 | def logger_file(self, value): 275 | """The logger file. 276 | 277 | If the logger_file is None, then add stream handler and remove file 278 | handler. Otherwise, add file handler and remove stream handler. 279 | 280 | :param value: The logger_file path. 281 | :type: str 282 | """ 283 | self.__logger_file = value 284 | if self.__logger_file: 285 | # If set logging file, 286 | # then add file handler and remove stream handler. 287 | self.logger_file_handler = logging.FileHandler(self.__logger_file) 288 | self.logger_file_handler.setFormatter(self.logger_formatter) 289 | for _, logger in self.logger.items(): 290 | logger.addHandler(self.logger_file_handler) 291 | 292 | @property 293 | def debug(self): 294 | """Debug status 295 | 296 | :param value: The debug status, True or False. 297 | :type: bool 298 | """ 299 | return self.__debug 300 | 301 | @debug.setter 302 | def debug(self, value): 303 | """Debug status 304 | 305 | :param value: The debug status, True or False. 306 | :type: bool 307 | """ 308 | self.__debug = value 309 | if self.__debug: 310 | # if debug status is True, turn on debug logging 311 | for _, logger in self.logger.items(): 312 | logger.setLevel(logging.DEBUG) 313 | # turn on http_client debug 314 | http_client.HTTPConnection.debuglevel = 1 315 | else: 316 | # if debug status is False, turn off debug logging, 317 | # setting log level to default `logging.WARNING` 318 | for _, logger in self.logger.items(): 319 | logger.setLevel(logging.WARNING) 320 | # turn off http_client debug 321 | http_client.HTTPConnection.debuglevel = 0 322 | 323 | @property 324 | def logger_format(self): 325 | """The logger format. 326 | 327 | The logger_formatter will be updated when sets logger_format. 328 | 329 | :param value: The format string. 330 | :type: str 331 | """ 332 | return self.__logger_format 333 | 334 | @logger_format.setter 335 | def logger_format(self, value): 336 | """The logger format. 337 | 338 | The logger_formatter will be updated when sets logger_format. 339 | 340 | :param value: The format string. 341 | :type: str 342 | """ 343 | self.__logger_format = value 344 | self.logger_formatter = logging.Formatter(self.__logger_format) 345 | 346 | def get_api_key_with_prefix(self, identifier, alias=None): 347 | """Gets API key (with prefix if set). 348 | 349 | :param identifier: The identifier of apiKey. 350 | :param alias: The alternative identifier of apiKey. 351 | :return: The token for api key authentication. 352 | """ 353 | if self.refresh_api_key_hook is not None: 354 | self.refresh_api_key_hook(self) 355 | key = self.api_key.get( 356 | identifier, self.api_key.get(alias) if alias is not None else None 357 | ) 358 | if key: 359 | prefix = self.api_key_prefix.get(identifier) 360 | if prefix: 361 | return "%s %s" % (prefix, key) 362 | else: 363 | return key 364 | 365 | def get_basic_auth_token(self): 366 | """Gets HTTP basic authentication header (string). 367 | 368 | :return: The token for basic HTTP authentication. 369 | """ 370 | username = "" 371 | if self.username is not None: 372 | username = self.username 373 | password = "" 374 | if self.password is not None: 375 | password = self.password 376 | return urllib3.util.make_headers(basic_auth=username + ":" + password).get( 377 | "authorization" 378 | ) 379 | 380 | def auth_settings(self): 381 | """Gets Auth Settings dict for api client. 382 | 383 | :return: The Auth Settings information dict. 384 | """ 385 | auth = {} 386 | return auth 387 | 388 | def to_debug_report(self): 389 | """Gets the essential information for debugging. 390 | 391 | :return: The report for debugging. 392 | """ 393 | return ( 394 | "Python SDK Debug Report:\n" 395 | "OS: {env}\n" 396 | "Python Version: {pyversion}\n" 397 | "Version of the API: 1.0.0\n" 398 | "SDK Package Version: 1.0.5".format(env=sys.platform, pyversion=sys.version) 399 | ) 400 | 401 | def get_host_settings(self): 402 | """Gets an array of host settings 403 | 404 | :return: An array of host settings 405 | """ 406 | return [ 407 | { 408 | "url": "", 409 | "description": "No description provided", 410 | } 411 | ] 412 | 413 | def get_host_from_settings(self, index, variables=None, servers=None): 414 | """Gets host URL based on the index and variables 415 | :param index: array index of the host settings 416 | :param variables: hash of variable and the corresponding value 417 | :param servers: an array of host settings or None 418 | :return: URL based on host settings 419 | """ 420 | if index is None: 421 | return self._base_path 422 | 423 | variables = {} if variables is None else variables 424 | servers = self.get_host_settings() if servers is None else servers 425 | 426 | try: 427 | server = servers[index] 428 | except IndexError: 429 | raise ValueError( 430 | "Invalid index {0} when selecting the host settings. " 431 | "Must be less than {1}".format(index, len(servers)) 432 | ) 433 | 434 | url = server["url"] 435 | 436 | # go through variables and replace placeholders 437 | for variable_name, variable in server.get("variables", {}).items(): 438 | used_value = variables.get(variable_name, variable["default_value"]) 439 | 440 | if "enum_values" in variable and used_value not in variable["enum_values"]: 441 | raise ValueError( 442 | "The variable `{0}` in the host URL has invalid value " 443 | "{1}. Must be {2}.".format( 444 | variable_name, variables[variable_name], variable["enum_values"] 445 | ) 446 | ) 447 | 448 | url = url.replace("{" + variable_name + "}", used_value) 449 | 450 | return url 451 | 452 | @property 453 | def host(self): 454 | """Return generated host.""" 455 | return self.get_host_from_settings( 456 | self.server_index, variables=self.server_variables 457 | ) 458 | 459 | @host.setter 460 | def host(self, value): 461 | """Fix base path.""" 462 | self._base_path = value 463 | self.server_index = None 464 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/exceptions.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | class OpenApiException(Exception): 13 | """The base exception class for all OpenAPIExceptions""" 14 | 15 | 16 | class ApiTypeError(OpenApiException, TypeError): 17 | def __init__(self, msg, path_to_item=None, valid_classes=None, key_type=None): 18 | """Raises an exception for TypeErrors 19 | 20 | Args: 21 | msg (str): the exception message 22 | 23 | Keyword Args: 24 | path_to_item (list): a list of keys an indices to get to the 25 | current_item 26 | None if unset 27 | valid_classes (tuple): the primitive classes that current item 28 | should be an instance of 29 | None if unset 30 | key_type (bool): False if our value is a value in a dict 31 | True if it is a key in a dict 32 | False if our item is an item in a list 33 | None if unset 34 | """ 35 | self.path_to_item = path_to_item 36 | self.valid_classes = valid_classes 37 | self.key_type = key_type 38 | full_msg = msg 39 | if path_to_item: 40 | full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) 41 | super(ApiTypeError, self).__init__(full_msg) 42 | 43 | 44 | class ApiValueError(OpenApiException, ValueError): 45 | def __init__(self, msg, path_to_item=None): 46 | """ 47 | Args: 48 | msg (str): the exception message 49 | 50 | Keyword Args: 51 | path_to_item (list) the path to the exception in the 52 | received_data dict. None if unset 53 | """ 54 | 55 | self.path_to_item = path_to_item 56 | full_msg = msg 57 | if path_to_item: 58 | full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) 59 | super(ApiValueError, self).__init__(full_msg) 60 | 61 | 62 | class ApiAttributeError(OpenApiException, AttributeError): 63 | def __init__(self, msg, path_to_item=None): 64 | """ 65 | Raised when an attribute reference or assignment fails. 66 | 67 | Args: 68 | msg (str): the exception message 69 | 70 | Keyword Args: 71 | path_to_item (None/list) the path to the exception in the 72 | received_data dict 73 | """ 74 | self.path_to_item = path_to_item 75 | full_msg = msg 76 | if path_to_item: 77 | full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) 78 | super(ApiAttributeError, self).__init__(full_msg) 79 | 80 | 81 | class ApiKeyError(OpenApiException, KeyError): 82 | def __init__(self, msg, path_to_item=None): 83 | """ 84 | Args: 85 | msg (str): the exception message 86 | 87 | Keyword Args: 88 | path_to_item (None/list) the path to the exception in the 89 | received_data dict 90 | """ 91 | self.path_to_item = path_to_item 92 | full_msg = msg 93 | if path_to_item: 94 | full_msg = "{0} at {1}".format(msg, render_path(path_to_item)) 95 | super(ApiKeyError, self).__init__(full_msg) 96 | 97 | 98 | class ApiException(OpenApiException): 99 | def __init__(self, status=None, reason=None, http_resp=None): 100 | if http_resp: 101 | self.status = http_resp.status 102 | self.reason = http_resp.reason 103 | self.body = http_resp.data 104 | self.headers = http_resp.getheaders() 105 | else: 106 | self.status = status 107 | self.reason = reason 108 | self.body = None 109 | self.headers = None 110 | 111 | def __str__(self): 112 | """Custom error messages for exception""" 113 | error_message = "({0})\n" "Reason: {1}\n".format(self.status, self.reason) 114 | if self.headers: 115 | error_message += "HTTP response headers: {0}\n".format(self.headers) 116 | 117 | if self.body: 118 | error_message += "HTTP response body: {0}\n".format(self.body) 119 | 120 | return error_message 121 | 122 | 123 | class NotFoundException(ApiException): 124 | def __init__(self, status=None, reason=None, http_resp=None): 125 | super(NotFoundException, self).__init__(status, reason, http_resp) 126 | 127 | 128 | class UnauthorizedException(ApiException): 129 | def __init__(self, status=None, reason=None, http_resp=None): 130 | super(UnauthorizedException, self).__init__(status, reason, http_resp) 131 | 132 | 133 | class ForbiddenException(ApiException): 134 | def __init__(self, status=None, reason=None, http_resp=None): 135 | super(ForbiddenException, self).__init__(status, reason, http_resp) 136 | 137 | 138 | class ServiceException(ApiException): 139 | def __init__(self, status=None, reason=None, http_resp=None): 140 | super(ServiceException, self).__init__(status, reason, http_resp) 141 | 142 | 143 | def render_path(path_to_item): 144 | """Returns a string representation of a path""" 145 | result = "" 146 | for pth in path_to_item: 147 | if isinstance(pth, int): 148 | result += "[{0}]".format(pth) 149 | else: 150 | result += "['{0}']".format(pth) 151 | return result 152 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/model/__init__.py: -------------------------------------------------------------------------------- 1 | # we can not import model classes here because that would create a circular 2 | # reference which would not work in python2 3 | # do not import all models into this module because that uses a lot of memory and stack frames 4 | # if you need the ability to import all models from one package, import them with 5 | # from deutschland.ladestationen.models import ModelA, ModelB 6 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/model/geometry.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import re # noqa: F401 13 | import sys # noqa: F401 14 | 15 | from deutschland.ladestationen.exceptions import ApiAttributeError 16 | from deutschland.ladestationen.model_utils import ( # noqa: F401 17 | ApiTypeError, 18 | ModelComposed, 19 | ModelNormal, 20 | ModelSimple, 21 | OpenApiModel, 22 | cached_property, 23 | change_keys_js_to_python, 24 | convert_js_args_to_python_args, 25 | date, 26 | datetime, 27 | file_type, 28 | none_type, 29 | validate_get_composed_info, 30 | ) 31 | 32 | 33 | def lazy_import(): 34 | from deutschland.ladestationen.model.station_overview_spatial_reference import ( 35 | StationOverviewSpatialReference, 36 | ) 37 | 38 | globals()["StationOverviewSpatialReference"] = StationOverviewSpatialReference 39 | 40 | 41 | class Geometry(ModelNormal): 42 | """NOTE: This class is auto generated by OpenAPI Generator. 43 | Ref: https://openapi-generator.tech 44 | 45 | Do not edit the class manually. 46 | 47 | Attributes: 48 | allowed_values (dict): The key is the tuple path to the attribute 49 | and the for var_name this is (var_name,). The value is a dict 50 | with a capitalized key describing the allowed value and an allowed 51 | value. These dicts store the allowed enum values. 52 | attribute_map (dict): The key is attribute name 53 | and the value is json key in definition. 54 | discriminator_value_class_map (dict): A dict to go from the discriminator 55 | variable value to the discriminator class name. 56 | validations (dict): The key is the tuple path to the attribute 57 | and the for var_name this is (var_name,). The value is a dict 58 | that stores validations for max_length, min_length, max_items, 59 | min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, 60 | inclusive_minimum, and regex. 61 | additional_properties_type (tuple): A tuple of classes accepted 62 | as additional properties values. 63 | """ 64 | 65 | allowed_values = {} 66 | 67 | validations = {} 68 | 69 | @cached_property 70 | def additional_properties_type(): 71 | """ 72 | This must be a method because a model may have properties that are 73 | of type self, this must run after the class is loaded 74 | """ 75 | lazy_import() 76 | return ( 77 | bool, 78 | date, 79 | datetime, 80 | dict, 81 | float, 82 | int, 83 | list, 84 | str, 85 | none_type, 86 | ) # noqa: E501 87 | 88 | _nullable = False 89 | 90 | @cached_property 91 | def openapi_types(): 92 | """ 93 | This must be a method because a model may have properties that are 94 | of type self, this must run after the class is loaded 95 | 96 | Returns 97 | openapi_types (dict): The key is attribute name 98 | and the value is attribute type. 99 | """ 100 | lazy_import() 101 | return { 102 | "xmin": (float,), # noqa: E501 103 | "ymin": (float,), # noqa: E501 104 | "xmax": (float,), # noqa: E501 105 | "ymax": (float,), # noqa: E501 106 | "spatial_reference": (StationOverviewSpatialReference,), # noqa: E501 107 | } 108 | 109 | @cached_property 110 | def discriminator(): 111 | return None 112 | 113 | attribute_map = { 114 | "xmin": "xmin", # noqa: E501 115 | "ymin": "ymin", # noqa: E501 116 | "xmax": "xmax", # noqa: E501 117 | "ymax": "ymax", # noqa: E501 118 | "spatial_reference": "spatialReference", # noqa: E501 119 | } 120 | 121 | read_only_vars = {} 122 | 123 | _composed_schemas = {} 124 | 125 | @classmethod 126 | @convert_js_args_to_python_args 127 | def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 128 | """Geometry - a model defined in OpenAPI 129 | 130 | Keyword Args: 131 | _check_type (bool): if True, values for parameters in openapi_types 132 | will be type checked and a TypeError will be 133 | raised if the wrong type is input. 134 | Defaults to True 135 | _path_to_item (tuple/list): This is a list of keys or values to 136 | drill down to the model in received_data 137 | when deserializing a response 138 | _spec_property_naming (bool): True if the variable names in the input data 139 | are serialized names, as specified in the OpenAPI document. 140 | False if the variable names in the input data 141 | are pythonic names, e.g. snake case (default) 142 | _configuration (Configuration): the instance to use when 143 | deserializing a file_type parameter. 144 | If passed, type conversion is attempted 145 | If omitted no type conversion is done. 146 | _visited_composed_classes (tuple): This stores a tuple of 147 | classes that we have traveled through so that 148 | if we see that class again we will not use its 149 | discriminator again. 150 | When traveling through a discriminator, the 151 | composed schema that is 152 | is traveled through is added to this set. 153 | For example if Animal has a discriminator 154 | petType and we pass in "Dog", and the class Dog 155 | allOf includes Animal, we move through Animal 156 | once using the discriminator, and pick Dog. 157 | Then in Dog, we will make an instance of the 158 | Animal class but this time we won't travel 159 | through its discriminator because we passed in 160 | _visited_composed_classes = (Animal,) 161 | xmin (float): [optional] # noqa: E501 162 | ymin (float): [optional] # noqa: E501 163 | xmax (float): [optional] # noqa: E501 164 | ymax (float): [optional] # noqa: E501 165 | spatial_reference (StationOverviewSpatialReference): [optional] # noqa: E501 166 | """ 167 | 168 | _check_type = kwargs.pop("_check_type", True) 169 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 170 | _path_to_item = kwargs.pop("_path_to_item", ()) 171 | _configuration = kwargs.pop("_configuration", None) 172 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 173 | 174 | self = super(OpenApiModel, cls).__new__(cls) 175 | 176 | if args: 177 | raise ApiTypeError( 178 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 179 | % ( 180 | args, 181 | self.__class__.__name__, 182 | ), 183 | path_to_item=_path_to_item, 184 | valid_classes=(self.__class__,), 185 | ) 186 | 187 | self._data_store = {} 188 | self._check_type = _check_type 189 | self._spec_property_naming = _spec_property_naming 190 | self._path_to_item = _path_to_item 191 | self._configuration = _configuration 192 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 193 | 194 | for var_name, var_value in kwargs.items(): 195 | if ( 196 | var_name not in self.attribute_map 197 | and self._configuration is not None 198 | and self._configuration.discard_unknown_keys 199 | and self.additional_properties_type is None 200 | ): 201 | # discard variable. 202 | continue 203 | setattr(self, var_name, var_value) 204 | return self 205 | 206 | required_properties = set( 207 | [ 208 | "_data_store", 209 | "_check_type", 210 | "_spec_property_naming", 211 | "_path_to_item", 212 | "_configuration", 213 | "_visited_composed_classes", 214 | ] 215 | ) 216 | 217 | @convert_js_args_to_python_args 218 | def __init__(self, *args, **kwargs): # noqa: E501 219 | """Geometry - a model defined in OpenAPI 220 | 221 | Keyword Args: 222 | _check_type (bool): if True, values for parameters in openapi_types 223 | will be type checked and a TypeError will be 224 | raised if the wrong type is input. 225 | Defaults to True 226 | _path_to_item (tuple/list): This is a list of keys or values to 227 | drill down to the model in received_data 228 | when deserializing a response 229 | _spec_property_naming (bool): True if the variable names in the input data 230 | are serialized names, as specified in the OpenAPI document. 231 | False if the variable names in the input data 232 | are pythonic names, e.g. snake case (default) 233 | _configuration (Configuration): the instance to use when 234 | deserializing a file_type parameter. 235 | If passed, type conversion is attempted 236 | If omitted no type conversion is done. 237 | _visited_composed_classes (tuple): This stores a tuple of 238 | classes that we have traveled through so that 239 | if we see that class again we will not use its 240 | discriminator again. 241 | When traveling through a discriminator, the 242 | composed schema that is 243 | is traveled through is added to this set. 244 | For example if Animal has a discriminator 245 | petType and we pass in "Dog", and the class Dog 246 | allOf includes Animal, we move through Animal 247 | once using the discriminator, and pick Dog. 248 | Then in Dog, we will make an instance of the 249 | Animal class but this time we won't travel 250 | through its discriminator because we passed in 251 | _visited_composed_classes = (Animal,) 252 | xmin (float): [optional] # noqa: E501 253 | ymin (float): [optional] # noqa: E501 254 | xmax (float): [optional] # noqa: E501 255 | ymax (float): [optional] # noqa: E501 256 | spatial_reference (StationOverviewSpatialReference): [optional] # noqa: E501 257 | """ 258 | 259 | _check_type = kwargs.pop("_check_type", True) 260 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 261 | _path_to_item = kwargs.pop("_path_to_item", ()) 262 | _configuration = kwargs.pop("_configuration", None) 263 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 264 | 265 | if args: 266 | raise ApiTypeError( 267 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 268 | % ( 269 | args, 270 | self.__class__.__name__, 271 | ), 272 | path_to_item=_path_to_item, 273 | valid_classes=(self.__class__,), 274 | ) 275 | 276 | self._data_store = {} 277 | self._check_type = _check_type 278 | self._spec_property_naming = _spec_property_naming 279 | self._path_to_item = _path_to_item 280 | self._configuration = _configuration 281 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 282 | 283 | for var_name, var_value in kwargs.items(): 284 | if ( 285 | var_name not in self.attribute_map 286 | and self._configuration is not None 287 | and self._configuration.discard_unknown_keys 288 | and self.additional_properties_type is None 289 | ): 290 | # discard variable. 291 | continue 292 | setattr(self, var_name, var_value) 293 | if var_name in self.read_only_vars: 294 | raise ApiAttributeError( 295 | f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " 296 | f"class with read only attributes." 297 | ) 298 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/model/quantization_parameter.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import re # noqa: F401 13 | import sys # noqa: F401 14 | 15 | from deutschland.ladestationen.exceptions import ApiAttributeError 16 | from deutschland.ladestationen.model_utils import ( # noqa: F401 17 | ApiTypeError, 18 | ModelComposed, 19 | ModelNormal, 20 | ModelSimple, 21 | OpenApiModel, 22 | cached_property, 23 | change_keys_js_to_python, 24 | convert_js_args_to_python_args, 25 | date, 26 | datetime, 27 | file_type, 28 | none_type, 29 | validate_get_composed_info, 30 | ) 31 | 32 | 33 | def lazy_import(): 34 | from deutschland.ladestationen.model.geometry import Geometry 35 | 36 | globals()["Geometry"] = Geometry 37 | 38 | 39 | class QuantizationParameter(ModelNormal): 40 | """NOTE: This class is auto generated by OpenAPI Generator. 41 | Ref: https://openapi-generator.tech 42 | 43 | Do not edit the class manually. 44 | 45 | Attributes: 46 | allowed_values (dict): The key is the tuple path to the attribute 47 | and the for var_name this is (var_name,). The value is a dict 48 | with a capitalized key describing the allowed value and an allowed 49 | value. These dicts store the allowed enum values. 50 | attribute_map (dict): The key is attribute name 51 | and the value is json key in definition. 52 | discriminator_value_class_map (dict): A dict to go from the discriminator 53 | variable value to the discriminator class name. 54 | validations (dict): The key is the tuple path to the attribute 55 | and the for var_name this is (var_name,). The value is a dict 56 | that stores validations for max_length, min_length, max_items, 57 | min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, 58 | inclusive_minimum, and regex. 59 | additional_properties_type (tuple): A tuple of classes accepted 60 | as additional properties values. 61 | """ 62 | 63 | allowed_values = {} 64 | 65 | validations = {} 66 | 67 | @cached_property 68 | def additional_properties_type(): 69 | """ 70 | This must be a method because a model may have properties that are 71 | of type self, this must run after the class is loaded 72 | """ 73 | lazy_import() 74 | return ( 75 | bool, 76 | date, 77 | datetime, 78 | dict, 79 | float, 80 | int, 81 | list, 82 | str, 83 | none_type, 84 | ) # noqa: E501 85 | 86 | _nullable = False 87 | 88 | @cached_property 89 | def openapi_types(): 90 | """ 91 | This must be a method because a model may have properties that are 92 | of type self, this must run after the class is loaded 93 | 94 | Returns 95 | openapi_types (dict): The key is attribute name 96 | and the value is attribute type. 97 | """ 98 | lazy_import() 99 | return { 100 | "mode": (str,), # noqa: E501 101 | "origin_position": (str,), # noqa: E501 102 | "tolerance": (float,), # noqa: E501 103 | "extent": (Geometry,), # noqa: E501 104 | } 105 | 106 | @cached_property 107 | def discriminator(): 108 | return None 109 | 110 | attribute_map = { 111 | "mode": "mode", # noqa: E501 112 | "origin_position": "originPosition", # noqa: E501 113 | "tolerance": "tolerance", # noqa: E501 114 | "extent": "extent", # noqa: E501 115 | } 116 | 117 | read_only_vars = {} 118 | 119 | _composed_schemas = {} 120 | 121 | @classmethod 122 | @convert_js_args_to_python_args 123 | def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 124 | """QuantizationParameter - a model defined in OpenAPI 125 | 126 | Keyword Args: 127 | _check_type (bool): if True, values for parameters in openapi_types 128 | will be type checked and a TypeError will be 129 | raised if the wrong type is input. 130 | Defaults to True 131 | _path_to_item (tuple/list): This is a list of keys or values to 132 | drill down to the model in received_data 133 | when deserializing a response 134 | _spec_property_naming (bool): True if the variable names in the input data 135 | are serialized names, as specified in the OpenAPI document. 136 | False if the variable names in the input data 137 | are pythonic names, e.g. snake case (default) 138 | _configuration (Configuration): the instance to use when 139 | deserializing a file_type parameter. 140 | If passed, type conversion is attempted 141 | If omitted no type conversion is done. 142 | _visited_composed_classes (tuple): This stores a tuple of 143 | classes that we have traveled through so that 144 | if we see that class again we will not use its 145 | discriminator again. 146 | When traveling through a discriminator, the 147 | composed schema that is 148 | is traveled through is added to this set. 149 | For example if Animal has a discriminator 150 | petType and we pass in "Dog", and the class Dog 151 | allOf includes Animal, we move through Animal 152 | once using the discriminator, and pick Dog. 153 | Then in Dog, we will make an instance of the 154 | Animal class but this time we won't travel 155 | through its discriminator because we passed in 156 | _visited_composed_classes = (Animal,) 157 | mode (str): [optional] # noqa: E501 158 | origin_position (str): [optional] # noqa: E501 159 | tolerance (float): [optional] # noqa: E501 160 | extent (Geometry): [optional] # noqa: E501 161 | """ 162 | 163 | _check_type = kwargs.pop("_check_type", True) 164 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 165 | _path_to_item = kwargs.pop("_path_to_item", ()) 166 | _configuration = kwargs.pop("_configuration", None) 167 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 168 | 169 | self = super(OpenApiModel, cls).__new__(cls) 170 | 171 | if args: 172 | raise ApiTypeError( 173 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 174 | % ( 175 | args, 176 | self.__class__.__name__, 177 | ), 178 | path_to_item=_path_to_item, 179 | valid_classes=(self.__class__,), 180 | ) 181 | 182 | self._data_store = {} 183 | self._check_type = _check_type 184 | self._spec_property_naming = _spec_property_naming 185 | self._path_to_item = _path_to_item 186 | self._configuration = _configuration 187 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 188 | 189 | for var_name, var_value in kwargs.items(): 190 | if ( 191 | var_name not in self.attribute_map 192 | and self._configuration is not None 193 | and self._configuration.discard_unknown_keys 194 | and self.additional_properties_type is None 195 | ): 196 | # discard variable. 197 | continue 198 | setattr(self, var_name, var_value) 199 | return self 200 | 201 | required_properties = set( 202 | [ 203 | "_data_store", 204 | "_check_type", 205 | "_spec_property_naming", 206 | "_path_to_item", 207 | "_configuration", 208 | "_visited_composed_classes", 209 | ] 210 | ) 211 | 212 | @convert_js_args_to_python_args 213 | def __init__(self, *args, **kwargs): # noqa: E501 214 | """QuantizationParameter - a model defined in OpenAPI 215 | 216 | Keyword Args: 217 | _check_type (bool): if True, values for parameters in openapi_types 218 | will be type checked and a TypeError will be 219 | raised if the wrong type is input. 220 | Defaults to True 221 | _path_to_item (tuple/list): This is a list of keys or values to 222 | drill down to the model in received_data 223 | when deserializing a response 224 | _spec_property_naming (bool): True if the variable names in the input data 225 | are serialized names, as specified in the OpenAPI document. 226 | False if the variable names in the input data 227 | are pythonic names, e.g. snake case (default) 228 | _configuration (Configuration): the instance to use when 229 | deserializing a file_type parameter. 230 | If passed, type conversion is attempted 231 | If omitted no type conversion is done. 232 | _visited_composed_classes (tuple): This stores a tuple of 233 | classes that we have traveled through so that 234 | if we see that class again we will not use its 235 | discriminator again. 236 | When traveling through a discriminator, the 237 | composed schema that is 238 | is traveled through is added to this set. 239 | For example if Animal has a discriminator 240 | petType and we pass in "Dog", and the class Dog 241 | allOf includes Animal, we move through Animal 242 | once using the discriminator, and pick Dog. 243 | Then in Dog, we will make an instance of the 244 | Animal class but this time we won't travel 245 | through its discriminator because we passed in 246 | _visited_composed_classes = (Animal,) 247 | mode (str): [optional] # noqa: E501 248 | origin_position (str): [optional] # noqa: E501 249 | tolerance (float): [optional] # noqa: E501 250 | extent (Geometry): [optional] # noqa: E501 251 | """ 252 | 253 | _check_type = kwargs.pop("_check_type", True) 254 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 255 | _path_to_item = kwargs.pop("_path_to_item", ()) 256 | _configuration = kwargs.pop("_configuration", None) 257 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 258 | 259 | if args: 260 | raise ApiTypeError( 261 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 262 | % ( 263 | args, 264 | self.__class__.__name__, 265 | ), 266 | path_to_item=_path_to_item, 267 | valid_classes=(self.__class__,), 268 | ) 269 | 270 | self._data_store = {} 271 | self._check_type = _check_type 272 | self._spec_property_naming = _spec_property_naming 273 | self._path_to_item = _path_to_item 274 | self._configuration = _configuration 275 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 276 | 277 | for var_name, var_value in kwargs.items(): 278 | if ( 279 | var_name not in self.attribute_map 280 | and self._configuration is not None 281 | and self._configuration.discard_unknown_keys 282 | and self.additional_properties_type is None 283 | ): 284 | # discard variable. 285 | continue 286 | setattr(self, var_name, var_value) 287 | if var_name in self.read_only_vars: 288 | raise ApiAttributeError( 289 | f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " 290 | f"class with read only attributes." 291 | ) 292 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/model/station_overview.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import re # noqa: F401 13 | import sys # noqa: F401 14 | 15 | from deutschland.ladestationen.exceptions import ApiAttributeError 16 | from deutschland.ladestationen.model_utils import ( # noqa: F401 17 | ApiTypeError, 18 | ModelComposed, 19 | ModelNormal, 20 | ModelSimple, 21 | OpenApiModel, 22 | cached_property, 23 | change_keys_js_to_python, 24 | convert_js_args_to_python_args, 25 | date, 26 | datetime, 27 | file_type, 28 | none_type, 29 | validate_get_composed_info, 30 | ) 31 | 32 | 33 | def lazy_import(): 34 | from deutschland.ladestationen.model.station_overview_features import ( 35 | StationOverviewFeatures, 36 | ) 37 | from deutschland.ladestationen.model.station_overview_fields import ( 38 | StationOverviewFields, 39 | ) 40 | from deutschland.ladestationen.model.station_overview_spatial_reference import ( 41 | StationOverviewSpatialReference, 42 | ) 43 | from deutschland.ladestationen.model.station_overview_transform import ( 44 | StationOverviewTransform, 45 | ) 46 | from deutschland.ladestationen.model.station_overview_unique_id_field import ( 47 | StationOverviewUniqueIdField, 48 | ) 49 | 50 | globals()["StationOverviewFeatures"] = StationOverviewFeatures 51 | globals()["StationOverviewFields"] = StationOverviewFields 52 | globals()["StationOverviewSpatialReference"] = StationOverviewSpatialReference 53 | globals()["StationOverviewTransform"] = StationOverviewTransform 54 | globals()["StationOverviewUniqueIdField"] = StationOverviewUniqueIdField 55 | 56 | 57 | class StationOverview(ModelNormal): 58 | """NOTE: This class is auto generated by OpenAPI Generator. 59 | Ref: https://openapi-generator.tech 60 | 61 | Do not edit the class manually. 62 | 63 | Attributes: 64 | allowed_values (dict): The key is the tuple path to the attribute 65 | and the for var_name this is (var_name,). The value is a dict 66 | with a capitalized key describing the allowed value and an allowed 67 | value. These dicts store the allowed enum values. 68 | attribute_map (dict): The key is attribute name 69 | and the value is json key in definition. 70 | discriminator_value_class_map (dict): A dict to go from the discriminator 71 | variable value to the discriminator class name. 72 | validations (dict): The key is the tuple path to the attribute 73 | and the for var_name this is (var_name,). The value is a dict 74 | that stores validations for max_length, min_length, max_items, 75 | min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, 76 | inclusive_minimum, and regex. 77 | additional_properties_type (tuple): A tuple of classes accepted 78 | as additional properties values. 79 | """ 80 | 81 | allowed_values = {} 82 | 83 | validations = {} 84 | 85 | @cached_property 86 | def additional_properties_type(): 87 | """ 88 | This must be a method because a model may have properties that are 89 | of type self, this must run after the class is loaded 90 | """ 91 | lazy_import() 92 | return ( 93 | bool, 94 | date, 95 | datetime, 96 | dict, 97 | float, 98 | int, 99 | list, 100 | str, 101 | none_type, 102 | ) # noqa: E501 103 | 104 | _nullable = False 105 | 106 | @cached_property 107 | def openapi_types(): 108 | """ 109 | This must be a method because a model may have properties that are 110 | of type self, this must run after the class is loaded 111 | 112 | Returns 113 | openapi_types (dict): The key is attribute name 114 | and the value is attribute type. 115 | """ 116 | lazy_import() 117 | return { 118 | "object_id_field_name": (str,), # noqa: E501 119 | "unique_id_field": (StationOverviewUniqueIdField,), # noqa: E501 120 | "global_id_field_name": (str,), # noqa: E501 121 | "geometry_type": (str,), # noqa: E501 122 | "spatial_reference": (StationOverviewSpatialReference,), # noqa: E501 123 | "transform": (StationOverviewTransform,), # noqa: E501 124 | "fields": ([StationOverviewFields],), # noqa: E501 125 | "features": ([StationOverviewFeatures],), # noqa: E501 126 | } 127 | 128 | @cached_property 129 | def discriminator(): 130 | return None 131 | 132 | attribute_map = { 133 | "object_id_field_name": "objectIdFieldName", # noqa: E501 134 | "unique_id_field": "uniqueIdField", # noqa: E501 135 | "global_id_field_name": "globalIdFieldName", # noqa: E501 136 | "geometry_type": "geometryType", # noqa: E501 137 | "spatial_reference": "spatialReference", # noqa: E501 138 | "transform": "transform", # noqa: E501 139 | "fields": "fields", # noqa: E501 140 | "features": "features", # noqa: E501 141 | } 142 | 143 | read_only_vars = {} 144 | 145 | _composed_schemas = {} 146 | 147 | @classmethod 148 | @convert_js_args_to_python_args 149 | def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 150 | """StationOverview - a model defined in OpenAPI 151 | 152 | Keyword Args: 153 | _check_type (bool): if True, values for parameters in openapi_types 154 | will be type checked and a TypeError will be 155 | raised if the wrong type is input. 156 | Defaults to True 157 | _path_to_item (tuple/list): This is a list of keys or values to 158 | drill down to the model in received_data 159 | when deserializing a response 160 | _spec_property_naming (bool): True if the variable names in the input data 161 | are serialized names, as specified in the OpenAPI document. 162 | False if the variable names in the input data 163 | are pythonic names, e.g. snake case (default) 164 | _configuration (Configuration): the instance to use when 165 | deserializing a file_type parameter. 166 | If passed, type conversion is attempted 167 | If omitted no type conversion is done. 168 | _visited_composed_classes (tuple): This stores a tuple of 169 | classes that we have traveled through so that 170 | if we see that class again we will not use its 171 | discriminator again. 172 | When traveling through a discriminator, the 173 | composed schema that is 174 | is traveled through is added to this set. 175 | For example if Animal has a discriminator 176 | petType and we pass in "Dog", and the class Dog 177 | allOf includes Animal, we move through Animal 178 | once using the discriminator, and pick Dog. 179 | Then in Dog, we will make an instance of the 180 | Animal class but this time we won't travel 181 | through its discriminator because we passed in 182 | _visited_composed_classes = (Animal,) 183 | object_id_field_name (str): [optional] # noqa: E501 184 | unique_id_field (StationOverviewUniqueIdField): [optional] # noqa: E501 185 | global_id_field_name (str): [optional] # noqa: E501 186 | geometry_type (str): [optional] # noqa: E501 187 | spatial_reference (StationOverviewSpatialReference): [optional] # noqa: E501 188 | transform (StationOverviewTransform): [optional] # noqa: E501 189 | fields ([StationOverviewFields]): [optional] # noqa: E501 190 | features ([StationOverviewFeatures]): [optional] # noqa: E501 191 | """ 192 | 193 | _check_type = kwargs.pop("_check_type", True) 194 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 195 | _path_to_item = kwargs.pop("_path_to_item", ()) 196 | _configuration = kwargs.pop("_configuration", None) 197 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 198 | 199 | self = super(OpenApiModel, cls).__new__(cls) 200 | 201 | if args: 202 | raise ApiTypeError( 203 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 204 | % ( 205 | args, 206 | self.__class__.__name__, 207 | ), 208 | path_to_item=_path_to_item, 209 | valid_classes=(self.__class__,), 210 | ) 211 | 212 | self._data_store = {} 213 | self._check_type = _check_type 214 | self._spec_property_naming = _spec_property_naming 215 | self._path_to_item = _path_to_item 216 | self._configuration = _configuration 217 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 218 | 219 | for var_name, var_value in kwargs.items(): 220 | if ( 221 | var_name not in self.attribute_map 222 | and self._configuration is not None 223 | and self._configuration.discard_unknown_keys 224 | and self.additional_properties_type is None 225 | ): 226 | # discard variable. 227 | continue 228 | setattr(self, var_name, var_value) 229 | return self 230 | 231 | required_properties = set( 232 | [ 233 | "_data_store", 234 | "_check_type", 235 | "_spec_property_naming", 236 | "_path_to_item", 237 | "_configuration", 238 | "_visited_composed_classes", 239 | ] 240 | ) 241 | 242 | @convert_js_args_to_python_args 243 | def __init__(self, *args, **kwargs): # noqa: E501 244 | """StationOverview - a model defined in OpenAPI 245 | 246 | Keyword Args: 247 | _check_type (bool): if True, values for parameters in openapi_types 248 | will be type checked and a TypeError will be 249 | raised if the wrong type is input. 250 | Defaults to True 251 | _path_to_item (tuple/list): This is a list of keys or values to 252 | drill down to the model in received_data 253 | when deserializing a response 254 | _spec_property_naming (bool): True if the variable names in the input data 255 | are serialized names, as specified in the OpenAPI document. 256 | False if the variable names in the input data 257 | are pythonic names, e.g. snake case (default) 258 | _configuration (Configuration): the instance to use when 259 | deserializing a file_type parameter. 260 | If passed, type conversion is attempted 261 | If omitted no type conversion is done. 262 | _visited_composed_classes (tuple): This stores a tuple of 263 | classes that we have traveled through so that 264 | if we see that class again we will not use its 265 | discriminator again. 266 | When traveling through a discriminator, the 267 | composed schema that is 268 | is traveled through is added to this set. 269 | For example if Animal has a discriminator 270 | petType and we pass in "Dog", and the class Dog 271 | allOf includes Animal, we move through Animal 272 | once using the discriminator, and pick Dog. 273 | Then in Dog, we will make an instance of the 274 | Animal class but this time we won't travel 275 | through its discriminator because we passed in 276 | _visited_composed_classes = (Animal,) 277 | object_id_field_name (str): [optional] # noqa: E501 278 | unique_id_field (StationOverviewUniqueIdField): [optional] # noqa: E501 279 | global_id_field_name (str): [optional] # noqa: E501 280 | geometry_type (str): [optional] # noqa: E501 281 | spatial_reference (StationOverviewSpatialReference): [optional] # noqa: E501 282 | transform (StationOverviewTransform): [optional] # noqa: E501 283 | fields ([StationOverviewFields]): [optional] # noqa: E501 284 | features ([StationOverviewFeatures]): [optional] # noqa: E501 285 | """ 286 | 287 | _check_type = kwargs.pop("_check_type", True) 288 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 289 | _path_to_item = kwargs.pop("_path_to_item", ()) 290 | _configuration = kwargs.pop("_configuration", None) 291 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 292 | 293 | if args: 294 | raise ApiTypeError( 295 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 296 | % ( 297 | args, 298 | self.__class__.__name__, 299 | ), 300 | path_to_item=_path_to_item, 301 | valid_classes=(self.__class__,), 302 | ) 303 | 304 | self._data_store = {} 305 | self._check_type = _check_type 306 | self._spec_property_naming = _spec_property_naming 307 | self._path_to_item = _path_to_item 308 | self._configuration = _configuration 309 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 310 | 311 | for var_name, var_value in kwargs.items(): 312 | if ( 313 | var_name not in self.attribute_map 314 | and self._configuration is not None 315 | and self._configuration.discard_unknown_keys 316 | and self.additional_properties_type is None 317 | ): 318 | # discard variable. 319 | continue 320 | setattr(self, var_name, var_value) 321 | if var_name in self.read_only_vars: 322 | raise ApiAttributeError( 323 | f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " 324 | f"class with read only attributes." 325 | ) 326 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/model/station_overview_features.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import re # noqa: F401 13 | import sys # noqa: F401 14 | 15 | from deutschland.ladestationen.exceptions import ApiAttributeError 16 | from deutschland.ladestationen.model_utils import ( # noqa: F401 17 | ApiTypeError, 18 | ModelComposed, 19 | ModelNormal, 20 | ModelSimple, 21 | OpenApiModel, 22 | cached_property, 23 | change_keys_js_to_python, 24 | convert_js_args_to_python_args, 25 | date, 26 | datetime, 27 | file_type, 28 | none_type, 29 | validate_get_composed_info, 30 | ) 31 | 32 | 33 | def lazy_import(): 34 | from deutschland.ladestationen.model.station_overview_attributes import ( 35 | StationOverviewAttributes, 36 | ) 37 | 38 | globals()["StationOverviewAttributes"] = StationOverviewAttributes 39 | 40 | 41 | class StationOverviewFeatures(ModelNormal): 42 | """NOTE: This class is auto generated by OpenAPI Generator. 43 | Ref: https://openapi-generator.tech 44 | 45 | Do not edit the class manually. 46 | 47 | Attributes: 48 | allowed_values (dict): The key is the tuple path to the attribute 49 | and the for var_name this is (var_name,). The value is a dict 50 | with a capitalized key describing the allowed value and an allowed 51 | value. These dicts store the allowed enum values. 52 | attribute_map (dict): The key is attribute name 53 | and the value is json key in definition. 54 | discriminator_value_class_map (dict): A dict to go from the discriminator 55 | variable value to the discriminator class name. 56 | validations (dict): The key is the tuple path to the attribute 57 | and the for var_name this is (var_name,). The value is a dict 58 | that stores validations for max_length, min_length, max_items, 59 | min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, 60 | inclusive_minimum, and regex. 61 | additional_properties_type (tuple): A tuple of classes accepted 62 | as additional properties values. 63 | """ 64 | 65 | allowed_values = {} 66 | 67 | validations = {} 68 | 69 | @cached_property 70 | def additional_properties_type(): 71 | """ 72 | This must be a method because a model may have properties that are 73 | of type self, this must run after the class is loaded 74 | """ 75 | lazy_import() 76 | return ( 77 | bool, 78 | date, 79 | datetime, 80 | dict, 81 | float, 82 | int, 83 | list, 84 | str, 85 | none_type, 86 | ) # noqa: E501 87 | 88 | _nullable = False 89 | 90 | @cached_property 91 | def openapi_types(): 92 | """ 93 | This must be a method because a model may have properties that are 94 | of type self, this must run after the class is loaded 95 | 96 | Returns 97 | openapi_types (dict): The key is attribute name 98 | and the value is attribute type. 99 | """ 100 | lazy_import() 101 | return { 102 | "attributes": (StationOverviewAttributes,), # noqa: E501 103 | } 104 | 105 | @cached_property 106 | def discriminator(): 107 | return None 108 | 109 | attribute_map = { 110 | "attributes": "attributes", # noqa: E501 111 | } 112 | 113 | read_only_vars = {} 114 | 115 | _composed_schemas = {} 116 | 117 | @classmethod 118 | @convert_js_args_to_python_args 119 | def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 120 | """StationOverviewFeatures - a model defined in OpenAPI 121 | 122 | Keyword Args: 123 | _check_type (bool): if True, values for parameters in openapi_types 124 | will be type checked and a TypeError will be 125 | raised if the wrong type is input. 126 | Defaults to True 127 | _path_to_item (tuple/list): This is a list of keys or values to 128 | drill down to the model in received_data 129 | when deserializing a response 130 | _spec_property_naming (bool): True if the variable names in the input data 131 | are serialized names, as specified in the OpenAPI document. 132 | False if the variable names in the input data 133 | are pythonic names, e.g. snake case (default) 134 | _configuration (Configuration): the instance to use when 135 | deserializing a file_type parameter. 136 | If passed, type conversion is attempted 137 | If omitted no type conversion is done. 138 | _visited_composed_classes (tuple): This stores a tuple of 139 | classes that we have traveled through so that 140 | if we see that class again we will not use its 141 | discriminator again. 142 | When traveling through a discriminator, the 143 | composed schema that is 144 | is traveled through is added to this set. 145 | For example if Animal has a discriminator 146 | petType and we pass in "Dog", and the class Dog 147 | allOf includes Animal, we move through Animal 148 | once using the discriminator, and pick Dog. 149 | Then in Dog, we will make an instance of the 150 | Animal class but this time we won't travel 151 | through its discriminator because we passed in 152 | _visited_composed_classes = (Animal,) 153 | attributes (StationOverviewAttributes): [optional] # noqa: E501 154 | """ 155 | 156 | _check_type = kwargs.pop("_check_type", True) 157 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 158 | _path_to_item = kwargs.pop("_path_to_item", ()) 159 | _configuration = kwargs.pop("_configuration", None) 160 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 161 | 162 | self = super(OpenApiModel, cls).__new__(cls) 163 | 164 | if args: 165 | raise ApiTypeError( 166 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 167 | % ( 168 | args, 169 | self.__class__.__name__, 170 | ), 171 | path_to_item=_path_to_item, 172 | valid_classes=(self.__class__,), 173 | ) 174 | 175 | self._data_store = {} 176 | self._check_type = _check_type 177 | self._spec_property_naming = _spec_property_naming 178 | self._path_to_item = _path_to_item 179 | self._configuration = _configuration 180 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 181 | 182 | for var_name, var_value in kwargs.items(): 183 | if ( 184 | var_name not in self.attribute_map 185 | and self._configuration is not None 186 | and self._configuration.discard_unknown_keys 187 | and self.additional_properties_type is None 188 | ): 189 | # discard variable. 190 | continue 191 | setattr(self, var_name, var_value) 192 | return self 193 | 194 | required_properties = set( 195 | [ 196 | "_data_store", 197 | "_check_type", 198 | "_spec_property_naming", 199 | "_path_to_item", 200 | "_configuration", 201 | "_visited_composed_classes", 202 | ] 203 | ) 204 | 205 | @convert_js_args_to_python_args 206 | def __init__(self, *args, **kwargs): # noqa: E501 207 | """StationOverviewFeatures - a model defined in OpenAPI 208 | 209 | Keyword Args: 210 | _check_type (bool): if True, values for parameters in openapi_types 211 | will be type checked and a TypeError will be 212 | raised if the wrong type is input. 213 | Defaults to True 214 | _path_to_item (tuple/list): This is a list of keys or values to 215 | drill down to the model in received_data 216 | when deserializing a response 217 | _spec_property_naming (bool): True if the variable names in the input data 218 | are serialized names, as specified in the OpenAPI document. 219 | False if the variable names in the input data 220 | are pythonic names, e.g. snake case (default) 221 | _configuration (Configuration): the instance to use when 222 | deserializing a file_type parameter. 223 | If passed, type conversion is attempted 224 | If omitted no type conversion is done. 225 | _visited_composed_classes (tuple): This stores a tuple of 226 | classes that we have traveled through so that 227 | if we see that class again we will not use its 228 | discriminator again. 229 | When traveling through a discriminator, the 230 | composed schema that is 231 | is traveled through is added to this set. 232 | For example if Animal has a discriminator 233 | petType and we pass in "Dog", and the class Dog 234 | allOf includes Animal, we move through Animal 235 | once using the discriminator, and pick Dog. 236 | Then in Dog, we will make an instance of the 237 | Animal class but this time we won't travel 238 | through its discriminator because we passed in 239 | _visited_composed_classes = (Animal,) 240 | attributes (StationOverviewAttributes): [optional] # noqa: E501 241 | """ 242 | 243 | _check_type = kwargs.pop("_check_type", True) 244 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 245 | _path_to_item = kwargs.pop("_path_to_item", ()) 246 | _configuration = kwargs.pop("_configuration", None) 247 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 248 | 249 | if args: 250 | raise ApiTypeError( 251 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 252 | % ( 253 | args, 254 | self.__class__.__name__, 255 | ), 256 | path_to_item=_path_to_item, 257 | valid_classes=(self.__class__,), 258 | ) 259 | 260 | self._data_store = {} 261 | self._check_type = _check_type 262 | self._spec_property_naming = _spec_property_naming 263 | self._path_to_item = _path_to_item 264 | self._configuration = _configuration 265 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 266 | 267 | for var_name, var_value in kwargs.items(): 268 | if ( 269 | var_name not in self.attribute_map 270 | and self._configuration is not None 271 | and self._configuration.discard_unknown_keys 272 | and self.additional_properties_type is None 273 | ): 274 | # discard variable. 275 | continue 276 | setattr(self, var_name, var_value) 277 | if var_name in self.read_only_vars: 278 | raise ApiAttributeError( 279 | f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " 280 | f"class with read only attributes." 281 | ) 282 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/model/station_overview_fields.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import re # noqa: F401 13 | import sys # noqa: F401 14 | 15 | from deutschland.ladestationen.exceptions import ApiAttributeError 16 | from deutschland.ladestationen.model_utils import ( # noqa: F401 17 | ApiTypeError, 18 | ModelComposed, 19 | ModelNormal, 20 | ModelSimple, 21 | OpenApiModel, 22 | cached_property, 23 | change_keys_js_to_python, 24 | convert_js_args_to_python_args, 25 | date, 26 | datetime, 27 | file_type, 28 | none_type, 29 | validate_get_composed_info, 30 | ) 31 | 32 | 33 | class StationOverviewFields(ModelNormal): 34 | """NOTE: This class is auto generated by OpenAPI Generator. 35 | Ref: https://openapi-generator.tech 36 | 37 | Do not edit the class manually. 38 | 39 | Attributes: 40 | allowed_values (dict): The key is the tuple path to the attribute 41 | and the for var_name this is (var_name,). The value is a dict 42 | with a capitalized key describing the allowed value and an allowed 43 | value. These dicts store the allowed enum values. 44 | attribute_map (dict): The key is attribute name 45 | and the value is json key in definition. 46 | discriminator_value_class_map (dict): A dict to go from the discriminator 47 | variable value to the discriminator class name. 48 | validations (dict): The key is the tuple path to the attribute 49 | and the for var_name this is (var_name,). The value is a dict 50 | that stores validations for max_length, min_length, max_items, 51 | min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, 52 | inclusive_minimum, and regex. 53 | additional_properties_type (tuple): A tuple of classes accepted 54 | as additional properties values. 55 | """ 56 | 57 | allowed_values = {} 58 | 59 | validations = {} 60 | 61 | @cached_property 62 | def additional_properties_type(): 63 | """ 64 | This must be a method because a model may have properties that are 65 | of type self, this must run after the class is loaded 66 | """ 67 | return ( 68 | bool, 69 | date, 70 | datetime, 71 | dict, 72 | float, 73 | int, 74 | list, 75 | str, 76 | none_type, 77 | ) # noqa: E501 78 | 79 | _nullable = False 80 | 81 | @cached_property 82 | def openapi_types(): 83 | """ 84 | This must be a method because a model may have properties that are 85 | of type self, this must run after the class is loaded 86 | 87 | Returns 88 | openapi_types (dict): The key is attribute name 89 | and the value is attribute type. 90 | """ 91 | return { 92 | "name": (str,), # noqa: E501 93 | "type": (str,), # noqa: E501 94 | "alias": (str,), # noqa: E501 95 | "sql_type": (str,), # noqa: E501 96 | "domain": (str,), # noqa: E501 97 | "default_value": (str,), # noqa: E501 98 | } 99 | 100 | @cached_property 101 | def discriminator(): 102 | return None 103 | 104 | attribute_map = { 105 | "name": "name", # noqa: E501 106 | "type": "type", # noqa: E501 107 | "alias": "alias", # noqa: E501 108 | "sql_type": "sqlType", # noqa: E501 109 | "domain": "domain", # noqa: E501 110 | "default_value": "defaultValue", # noqa: E501 111 | } 112 | 113 | read_only_vars = {} 114 | 115 | _composed_schemas = {} 116 | 117 | @classmethod 118 | @convert_js_args_to_python_args 119 | def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 120 | """StationOverviewFields - a model defined in OpenAPI 121 | 122 | Keyword Args: 123 | _check_type (bool): if True, values for parameters in openapi_types 124 | will be type checked and a TypeError will be 125 | raised if the wrong type is input. 126 | Defaults to True 127 | _path_to_item (tuple/list): This is a list of keys or values to 128 | drill down to the model in received_data 129 | when deserializing a response 130 | _spec_property_naming (bool): True if the variable names in the input data 131 | are serialized names, as specified in the OpenAPI document. 132 | False if the variable names in the input data 133 | are pythonic names, e.g. snake case (default) 134 | _configuration (Configuration): the instance to use when 135 | deserializing a file_type parameter. 136 | If passed, type conversion is attempted 137 | If omitted no type conversion is done. 138 | _visited_composed_classes (tuple): This stores a tuple of 139 | classes that we have traveled through so that 140 | if we see that class again we will not use its 141 | discriminator again. 142 | When traveling through a discriminator, the 143 | composed schema that is 144 | is traveled through is added to this set. 145 | For example if Animal has a discriminator 146 | petType and we pass in "Dog", and the class Dog 147 | allOf includes Animal, we move through Animal 148 | once using the discriminator, and pick Dog. 149 | Then in Dog, we will make an instance of the 150 | Animal class but this time we won't travel 151 | through its discriminator because we passed in 152 | _visited_composed_classes = (Animal,) 153 | name (str): [optional] # noqa: E501 154 | type (str): [optional] # noqa: E501 155 | alias (str): [optional] # noqa: E501 156 | sql_type (str): [optional] # noqa: E501 157 | domain (str): [optional] # noqa: E501 158 | default_value (str): [optional] # noqa: E501 159 | """ 160 | 161 | _check_type = kwargs.pop("_check_type", True) 162 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 163 | _path_to_item = kwargs.pop("_path_to_item", ()) 164 | _configuration = kwargs.pop("_configuration", None) 165 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 166 | 167 | self = super(OpenApiModel, cls).__new__(cls) 168 | 169 | if args: 170 | raise ApiTypeError( 171 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 172 | % ( 173 | args, 174 | self.__class__.__name__, 175 | ), 176 | path_to_item=_path_to_item, 177 | valid_classes=(self.__class__,), 178 | ) 179 | 180 | self._data_store = {} 181 | self._check_type = _check_type 182 | self._spec_property_naming = _spec_property_naming 183 | self._path_to_item = _path_to_item 184 | self._configuration = _configuration 185 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 186 | 187 | for var_name, var_value in kwargs.items(): 188 | if ( 189 | var_name not in self.attribute_map 190 | and self._configuration is not None 191 | and self._configuration.discard_unknown_keys 192 | and self.additional_properties_type is None 193 | ): 194 | # discard variable. 195 | continue 196 | setattr(self, var_name, var_value) 197 | return self 198 | 199 | required_properties = set( 200 | [ 201 | "_data_store", 202 | "_check_type", 203 | "_spec_property_naming", 204 | "_path_to_item", 205 | "_configuration", 206 | "_visited_composed_classes", 207 | ] 208 | ) 209 | 210 | @convert_js_args_to_python_args 211 | def __init__(self, *args, **kwargs): # noqa: E501 212 | """StationOverviewFields - a model defined in OpenAPI 213 | 214 | Keyword Args: 215 | _check_type (bool): if True, values for parameters in openapi_types 216 | will be type checked and a TypeError will be 217 | raised if the wrong type is input. 218 | Defaults to True 219 | _path_to_item (tuple/list): This is a list of keys or values to 220 | drill down to the model in received_data 221 | when deserializing a response 222 | _spec_property_naming (bool): True if the variable names in the input data 223 | are serialized names, as specified in the OpenAPI document. 224 | False if the variable names in the input data 225 | are pythonic names, e.g. snake case (default) 226 | _configuration (Configuration): the instance to use when 227 | deserializing a file_type parameter. 228 | If passed, type conversion is attempted 229 | If omitted no type conversion is done. 230 | _visited_composed_classes (tuple): This stores a tuple of 231 | classes that we have traveled through so that 232 | if we see that class again we will not use its 233 | discriminator again. 234 | When traveling through a discriminator, the 235 | composed schema that is 236 | is traveled through is added to this set. 237 | For example if Animal has a discriminator 238 | petType and we pass in "Dog", and the class Dog 239 | allOf includes Animal, we move through Animal 240 | once using the discriminator, and pick Dog. 241 | Then in Dog, we will make an instance of the 242 | Animal class but this time we won't travel 243 | through its discriminator because we passed in 244 | _visited_composed_classes = (Animal,) 245 | name (str): [optional] # noqa: E501 246 | type (str): [optional] # noqa: E501 247 | alias (str): [optional] # noqa: E501 248 | sql_type (str): [optional] # noqa: E501 249 | domain (str): [optional] # noqa: E501 250 | default_value (str): [optional] # noqa: E501 251 | """ 252 | 253 | _check_type = kwargs.pop("_check_type", True) 254 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 255 | _path_to_item = kwargs.pop("_path_to_item", ()) 256 | _configuration = kwargs.pop("_configuration", None) 257 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 258 | 259 | if args: 260 | raise ApiTypeError( 261 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 262 | % ( 263 | args, 264 | self.__class__.__name__, 265 | ), 266 | path_to_item=_path_to_item, 267 | valid_classes=(self.__class__,), 268 | ) 269 | 270 | self._data_store = {} 271 | self._check_type = _check_type 272 | self._spec_property_naming = _spec_property_naming 273 | self._path_to_item = _path_to_item 274 | self._configuration = _configuration 275 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 276 | 277 | for var_name, var_value in kwargs.items(): 278 | if ( 279 | var_name not in self.attribute_map 280 | and self._configuration is not None 281 | and self._configuration.discard_unknown_keys 282 | and self.additional_properties_type is None 283 | ): 284 | # discard variable. 285 | continue 286 | setattr(self, var_name, var_value) 287 | if var_name in self.read_only_vars: 288 | raise ApiAttributeError( 289 | f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " 290 | f"class with read only attributes." 291 | ) 292 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/model/station_overview_spatial_reference.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import re # noqa: F401 13 | import sys # noqa: F401 14 | 15 | from deutschland.ladestationen.exceptions import ApiAttributeError 16 | from deutschland.ladestationen.model_utils import ( # noqa: F401 17 | ApiTypeError, 18 | ModelComposed, 19 | ModelNormal, 20 | ModelSimple, 21 | OpenApiModel, 22 | cached_property, 23 | change_keys_js_to_python, 24 | convert_js_args_to_python_args, 25 | date, 26 | datetime, 27 | file_type, 28 | none_type, 29 | validate_get_composed_info, 30 | ) 31 | 32 | 33 | class StationOverviewSpatialReference(ModelNormal): 34 | """NOTE: This class is auto generated by OpenAPI Generator. 35 | Ref: https://openapi-generator.tech 36 | 37 | Do not edit the class manually. 38 | 39 | Attributes: 40 | allowed_values (dict): The key is the tuple path to the attribute 41 | and the for var_name this is (var_name,). The value is a dict 42 | with a capitalized key describing the allowed value and an allowed 43 | value. These dicts store the allowed enum values. 44 | attribute_map (dict): The key is attribute name 45 | and the value is json key in definition. 46 | discriminator_value_class_map (dict): A dict to go from the discriminator 47 | variable value to the discriminator class name. 48 | validations (dict): The key is the tuple path to the attribute 49 | and the for var_name this is (var_name,). The value is a dict 50 | that stores validations for max_length, min_length, max_items, 51 | min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, 52 | inclusive_minimum, and regex. 53 | additional_properties_type (tuple): A tuple of classes accepted 54 | as additional properties values. 55 | """ 56 | 57 | allowed_values = {} 58 | 59 | validations = {} 60 | 61 | @cached_property 62 | def additional_properties_type(): 63 | """ 64 | This must be a method because a model may have properties that are 65 | of type self, this must run after the class is loaded 66 | """ 67 | return ( 68 | bool, 69 | date, 70 | datetime, 71 | dict, 72 | float, 73 | int, 74 | list, 75 | str, 76 | none_type, 77 | ) # noqa: E501 78 | 79 | _nullable = False 80 | 81 | @cached_property 82 | def openapi_types(): 83 | """ 84 | This must be a method because a model may have properties that are 85 | of type self, this must run after the class is loaded 86 | 87 | Returns 88 | openapi_types (dict): The key is attribute name 89 | and the value is attribute type. 90 | """ 91 | return { 92 | "wkid": (int,), # noqa: E501 93 | "latest_wkid": (int,), # noqa: E501 94 | } 95 | 96 | @cached_property 97 | def discriminator(): 98 | return None 99 | 100 | attribute_map = { 101 | "wkid": "wkid", # noqa: E501 102 | "latest_wkid": "latestWkid", # noqa: E501 103 | } 104 | 105 | read_only_vars = {} 106 | 107 | _composed_schemas = {} 108 | 109 | @classmethod 110 | @convert_js_args_to_python_args 111 | def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 112 | """StationOverviewSpatialReference - a model defined in OpenAPI 113 | 114 | Keyword Args: 115 | _check_type (bool): if True, values for parameters in openapi_types 116 | will be type checked and a TypeError will be 117 | raised if the wrong type is input. 118 | Defaults to True 119 | _path_to_item (tuple/list): This is a list of keys or values to 120 | drill down to the model in received_data 121 | when deserializing a response 122 | _spec_property_naming (bool): True if the variable names in the input data 123 | are serialized names, as specified in the OpenAPI document. 124 | False if the variable names in the input data 125 | are pythonic names, e.g. snake case (default) 126 | _configuration (Configuration): the instance to use when 127 | deserializing a file_type parameter. 128 | If passed, type conversion is attempted 129 | If omitted no type conversion is done. 130 | _visited_composed_classes (tuple): This stores a tuple of 131 | classes that we have traveled through so that 132 | if we see that class again we will not use its 133 | discriminator again. 134 | When traveling through a discriminator, the 135 | composed schema that is 136 | is traveled through is added to this set. 137 | For example if Animal has a discriminator 138 | petType and we pass in "Dog", and the class Dog 139 | allOf includes Animal, we move through Animal 140 | once using the discriminator, and pick Dog. 141 | Then in Dog, we will make an instance of the 142 | Animal class but this time we won't travel 143 | through its discriminator because we passed in 144 | _visited_composed_classes = (Animal,) 145 | wkid (int): [optional] # noqa: E501 146 | latest_wkid (int): [optional] # noqa: E501 147 | """ 148 | 149 | _check_type = kwargs.pop("_check_type", True) 150 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 151 | _path_to_item = kwargs.pop("_path_to_item", ()) 152 | _configuration = kwargs.pop("_configuration", None) 153 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 154 | 155 | self = super(OpenApiModel, cls).__new__(cls) 156 | 157 | if args: 158 | raise ApiTypeError( 159 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 160 | % ( 161 | args, 162 | self.__class__.__name__, 163 | ), 164 | path_to_item=_path_to_item, 165 | valid_classes=(self.__class__,), 166 | ) 167 | 168 | self._data_store = {} 169 | self._check_type = _check_type 170 | self._spec_property_naming = _spec_property_naming 171 | self._path_to_item = _path_to_item 172 | self._configuration = _configuration 173 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 174 | 175 | for var_name, var_value in kwargs.items(): 176 | if ( 177 | var_name not in self.attribute_map 178 | and self._configuration is not None 179 | and self._configuration.discard_unknown_keys 180 | and self.additional_properties_type is None 181 | ): 182 | # discard variable. 183 | continue 184 | setattr(self, var_name, var_value) 185 | return self 186 | 187 | required_properties = set( 188 | [ 189 | "_data_store", 190 | "_check_type", 191 | "_spec_property_naming", 192 | "_path_to_item", 193 | "_configuration", 194 | "_visited_composed_classes", 195 | ] 196 | ) 197 | 198 | @convert_js_args_to_python_args 199 | def __init__(self, *args, **kwargs): # noqa: E501 200 | """StationOverviewSpatialReference - a model defined in OpenAPI 201 | 202 | Keyword Args: 203 | _check_type (bool): if True, values for parameters in openapi_types 204 | will be type checked and a TypeError will be 205 | raised if the wrong type is input. 206 | Defaults to True 207 | _path_to_item (tuple/list): This is a list of keys or values to 208 | drill down to the model in received_data 209 | when deserializing a response 210 | _spec_property_naming (bool): True if the variable names in the input data 211 | are serialized names, as specified in the OpenAPI document. 212 | False if the variable names in the input data 213 | are pythonic names, e.g. snake case (default) 214 | _configuration (Configuration): the instance to use when 215 | deserializing a file_type parameter. 216 | If passed, type conversion is attempted 217 | If omitted no type conversion is done. 218 | _visited_composed_classes (tuple): This stores a tuple of 219 | classes that we have traveled through so that 220 | if we see that class again we will not use its 221 | discriminator again. 222 | When traveling through a discriminator, the 223 | composed schema that is 224 | is traveled through is added to this set. 225 | For example if Animal has a discriminator 226 | petType and we pass in "Dog", and the class Dog 227 | allOf includes Animal, we move through Animal 228 | once using the discriminator, and pick Dog. 229 | Then in Dog, we will make an instance of the 230 | Animal class but this time we won't travel 231 | through its discriminator because we passed in 232 | _visited_composed_classes = (Animal,) 233 | wkid (int): [optional] # noqa: E501 234 | latest_wkid (int): [optional] # noqa: E501 235 | """ 236 | 237 | _check_type = kwargs.pop("_check_type", True) 238 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 239 | _path_to_item = kwargs.pop("_path_to_item", ()) 240 | _configuration = kwargs.pop("_configuration", None) 241 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 242 | 243 | if args: 244 | raise ApiTypeError( 245 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 246 | % ( 247 | args, 248 | self.__class__.__name__, 249 | ), 250 | path_to_item=_path_to_item, 251 | valid_classes=(self.__class__,), 252 | ) 253 | 254 | self._data_store = {} 255 | self._check_type = _check_type 256 | self._spec_property_naming = _spec_property_naming 257 | self._path_to_item = _path_to_item 258 | self._configuration = _configuration 259 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 260 | 261 | for var_name, var_value in kwargs.items(): 262 | if ( 263 | var_name not in self.attribute_map 264 | and self._configuration is not None 265 | and self._configuration.discard_unknown_keys 266 | and self.additional_properties_type is None 267 | ): 268 | # discard variable. 269 | continue 270 | setattr(self, var_name, var_value) 271 | if var_name in self.read_only_vars: 272 | raise ApiAttributeError( 273 | f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " 274 | f"class with read only attributes." 275 | ) 276 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/model/station_overview_transform.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import re # noqa: F401 13 | import sys # noqa: F401 14 | 15 | from deutschland.ladestationen.exceptions import ApiAttributeError 16 | from deutschland.ladestationen.model_utils import ( # noqa: F401 17 | ApiTypeError, 18 | ModelComposed, 19 | ModelNormal, 20 | ModelSimple, 21 | OpenApiModel, 22 | cached_property, 23 | change_keys_js_to_python, 24 | convert_js_args_to_python_args, 25 | date, 26 | datetime, 27 | file_type, 28 | none_type, 29 | validate_get_composed_info, 30 | ) 31 | 32 | 33 | class StationOverviewTransform(ModelNormal): 34 | """NOTE: This class is auto generated by OpenAPI Generator. 35 | Ref: https://openapi-generator.tech 36 | 37 | Do not edit the class manually. 38 | 39 | Attributes: 40 | allowed_values (dict): The key is the tuple path to the attribute 41 | and the for var_name this is (var_name,). The value is a dict 42 | with a capitalized key describing the allowed value and an allowed 43 | value. These dicts store the allowed enum values. 44 | attribute_map (dict): The key is attribute name 45 | and the value is json key in definition. 46 | discriminator_value_class_map (dict): A dict to go from the discriminator 47 | variable value to the discriminator class name. 48 | validations (dict): The key is the tuple path to the attribute 49 | and the for var_name this is (var_name,). The value is a dict 50 | that stores validations for max_length, min_length, max_items, 51 | min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, 52 | inclusive_minimum, and regex. 53 | additional_properties_type (tuple): A tuple of classes accepted 54 | as additional properties values. 55 | """ 56 | 57 | allowed_values = {} 58 | 59 | validations = {} 60 | 61 | @cached_property 62 | def additional_properties_type(): 63 | """ 64 | This must be a method because a model may have properties that are 65 | of type self, this must run after the class is loaded 66 | """ 67 | return ( 68 | bool, 69 | date, 70 | datetime, 71 | dict, 72 | float, 73 | int, 74 | list, 75 | str, 76 | none_type, 77 | ) # noqa: E501 78 | 79 | _nullable = False 80 | 81 | @cached_property 82 | def openapi_types(): 83 | """ 84 | This must be a method because a model may have properties that are 85 | of type self, this must run after the class is loaded 86 | 87 | Returns 88 | openapi_types (dict): The key is attribute name 89 | and the value is attribute type. 90 | """ 91 | return { 92 | "origin_position": (str,), # noqa: E501 93 | "scale": ([float],), # noqa: E501 94 | "translate": ([float],), # noqa: E501 95 | } 96 | 97 | @cached_property 98 | def discriminator(): 99 | return None 100 | 101 | attribute_map = { 102 | "origin_position": "originPosition", # noqa: E501 103 | "scale": "scale", # noqa: E501 104 | "translate": "translate", # noqa: E501 105 | } 106 | 107 | read_only_vars = {} 108 | 109 | _composed_schemas = {} 110 | 111 | @classmethod 112 | @convert_js_args_to_python_args 113 | def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 114 | """StationOverviewTransform - a model defined in OpenAPI 115 | 116 | Keyword Args: 117 | _check_type (bool): if True, values for parameters in openapi_types 118 | will be type checked and a TypeError will be 119 | raised if the wrong type is input. 120 | Defaults to True 121 | _path_to_item (tuple/list): This is a list of keys or values to 122 | drill down to the model in received_data 123 | when deserializing a response 124 | _spec_property_naming (bool): True if the variable names in the input data 125 | are serialized names, as specified in the OpenAPI document. 126 | False if the variable names in the input data 127 | are pythonic names, e.g. snake case (default) 128 | _configuration (Configuration): the instance to use when 129 | deserializing a file_type parameter. 130 | If passed, type conversion is attempted 131 | If omitted no type conversion is done. 132 | _visited_composed_classes (tuple): This stores a tuple of 133 | classes that we have traveled through so that 134 | if we see that class again we will not use its 135 | discriminator again. 136 | When traveling through a discriminator, the 137 | composed schema that is 138 | is traveled through is added to this set. 139 | For example if Animal has a discriminator 140 | petType and we pass in "Dog", and the class Dog 141 | allOf includes Animal, we move through Animal 142 | once using the discriminator, and pick Dog. 143 | Then in Dog, we will make an instance of the 144 | Animal class but this time we won't travel 145 | through its discriminator because we passed in 146 | _visited_composed_classes = (Animal,) 147 | origin_position (str): [optional] # noqa: E501 148 | scale ([float]): [optional] # noqa: E501 149 | translate ([float]): [optional] # noqa: E501 150 | """ 151 | 152 | _check_type = kwargs.pop("_check_type", True) 153 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 154 | _path_to_item = kwargs.pop("_path_to_item", ()) 155 | _configuration = kwargs.pop("_configuration", None) 156 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 157 | 158 | self = super(OpenApiModel, cls).__new__(cls) 159 | 160 | if args: 161 | raise ApiTypeError( 162 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 163 | % ( 164 | args, 165 | self.__class__.__name__, 166 | ), 167 | path_to_item=_path_to_item, 168 | valid_classes=(self.__class__,), 169 | ) 170 | 171 | self._data_store = {} 172 | self._check_type = _check_type 173 | self._spec_property_naming = _spec_property_naming 174 | self._path_to_item = _path_to_item 175 | self._configuration = _configuration 176 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 177 | 178 | for var_name, var_value in kwargs.items(): 179 | if ( 180 | var_name not in self.attribute_map 181 | and self._configuration is not None 182 | and self._configuration.discard_unknown_keys 183 | and self.additional_properties_type is None 184 | ): 185 | # discard variable. 186 | continue 187 | setattr(self, var_name, var_value) 188 | return self 189 | 190 | required_properties = set( 191 | [ 192 | "_data_store", 193 | "_check_type", 194 | "_spec_property_naming", 195 | "_path_to_item", 196 | "_configuration", 197 | "_visited_composed_classes", 198 | ] 199 | ) 200 | 201 | @convert_js_args_to_python_args 202 | def __init__(self, *args, **kwargs): # noqa: E501 203 | """StationOverviewTransform - a model defined in OpenAPI 204 | 205 | Keyword Args: 206 | _check_type (bool): if True, values for parameters in openapi_types 207 | will be type checked and a TypeError will be 208 | raised if the wrong type is input. 209 | Defaults to True 210 | _path_to_item (tuple/list): This is a list of keys or values to 211 | drill down to the model in received_data 212 | when deserializing a response 213 | _spec_property_naming (bool): True if the variable names in the input data 214 | are serialized names, as specified in the OpenAPI document. 215 | False if the variable names in the input data 216 | are pythonic names, e.g. snake case (default) 217 | _configuration (Configuration): the instance to use when 218 | deserializing a file_type parameter. 219 | If passed, type conversion is attempted 220 | If omitted no type conversion is done. 221 | _visited_composed_classes (tuple): This stores a tuple of 222 | classes that we have traveled through so that 223 | if we see that class again we will not use its 224 | discriminator again. 225 | When traveling through a discriminator, the 226 | composed schema that is 227 | is traveled through is added to this set. 228 | For example if Animal has a discriminator 229 | petType and we pass in "Dog", and the class Dog 230 | allOf includes Animal, we move through Animal 231 | once using the discriminator, and pick Dog. 232 | Then in Dog, we will make an instance of the 233 | Animal class but this time we won't travel 234 | through its discriminator because we passed in 235 | _visited_composed_classes = (Animal,) 236 | origin_position (str): [optional] # noqa: E501 237 | scale ([float]): [optional] # noqa: E501 238 | translate ([float]): [optional] # noqa: E501 239 | """ 240 | 241 | _check_type = kwargs.pop("_check_type", True) 242 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 243 | _path_to_item = kwargs.pop("_path_to_item", ()) 244 | _configuration = kwargs.pop("_configuration", None) 245 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 246 | 247 | if args: 248 | raise ApiTypeError( 249 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 250 | % ( 251 | args, 252 | self.__class__.__name__, 253 | ), 254 | path_to_item=_path_to_item, 255 | valid_classes=(self.__class__,), 256 | ) 257 | 258 | self._data_store = {} 259 | self._check_type = _check_type 260 | self._spec_property_naming = _spec_property_naming 261 | self._path_to_item = _path_to_item 262 | self._configuration = _configuration 263 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 264 | 265 | for var_name, var_value in kwargs.items(): 266 | if ( 267 | var_name not in self.attribute_map 268 | and self._configuration is not None 269 | and self._configuration.discard_unknown_keys 270 | and self.additional_properties_type is None 271 | ): 272 | # discard variable. 273 | continue 274 | setattr(self, var_name, var_value) 275 | if var_name in self.read_only_vars: 276 | raise ApiAttributeError( 277 | f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " 278 | f"class with read only attributes." 279 | ) 280 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/model/station_overview_unique_id_field.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import re # noqa: F401 13 | import sys # noqa: F401 14 | 15 | from deutschland.ladestationen.exceptions import ApiAttributeError 16 | from deutschland.ladestationen.model_utils import ( # noqa: F401 17 | ApiTypeError, 18 | ModelComposed, 19 | ModelNormal, 20 | ModelSimple, 21 | OpenApiModel, 22 | cached_property, 23 | change_keys_js_to_python, 24 | convert_js_args_to_python_args, 25 | date, 26 | datetime, 27 | file_type, 28 | none_type, 29 | validate_get_composed_info, 30 | ) 31 | 32 | 33 | class StationOverviewUniqueIdField(ModelNormal): 34 | """NOTE: This class is auto generated by OpenAPI Generator. 35 | Ref: https://openapi-generator.tech 36 | 37 | Do not edit the class manually. 38 | 39 | Attributes: 40 | allowed_values (dict): The key is the tuple path to the attribute 41 | and the for var_name this is (var_name,). The value is a dict 42 | with a capitalized key describing the allowed value and an allowed 43 | value. These dicts store the allowed enum values. 44 | attribute_map (dict): The key is attribute name 45 | and the value is json key in definition. 46 | discriminator_value_class_map (dict): A dict to go from the discriminator 47 | variable value to the discriminator class name. 48 | validations (dict): The key is the tuple path to the attribute 49 | and the for var_name this is (var_name,). The value is a dict 50 | that stores validations for max_length, min_length, max_items, 51 | min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, 52 | inclusive_minimum, and regex. 53 | additional_properties_type (tuple): A tuple of classes accepted 54 | as additional properties values. 55 | """ 56 | 57 | allowed_values = {} 58 | 59 | validations = {} 60 | 61 | @cached_property 62 | def additional_properties_type(): 63 | """ 64 | This must be a method because a model may have properties that are 65 | of type self, this must run after the class is loaded 66 | """ 67 | return ( 68 | bool, 69 | date, 70 | datetime, 71 | dict, 72 | float, 73 | int, 74 | list, 75 | str, 76 | none_type, 77 | ) # noqa: E501 78 | 79 | _nullable = False 80 | 81 | @cached_property 82 | def openapi_types(): 83 | """ 84 | This must be a method because a model may have properties that are 85 | of type self, this must run after the class is loaded 86 | 87 | Returns 88 | openapi_types (dict): The key is attribute name 89 | and the value is attribute type. 90 | """ 91 | return { 92 | "name": (str,), # noqa: E501 93 | "is_system_maintained": (bool,), # noqa: E501 94 | } 95 | 96 | @cached_property 97 | def discriminator(): 98 | return None 99 | 100 | attribute_map = { 101 | "name": "name", # noqa: E501 102 | "is_system_maintained": "isSystemMaintained", # noqa: E501 103 | } 104 | 105 | read_only_vars = {} 106 | 107 | _composed_schemas = {} 108 | 109 | @classmethod 110 | @convert_js_args_to_python_args 111 | def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 112 | """StationOverviewUniqueIdField - a model defined in OpenAPI 113 | 114 | Keyword Args: 115 | _check_type (bool): if True, values for parameters in openapi_types 116 | will be type checked and a TypeError will be 117 | raised if the wrong type is input. 118 | Defaults to True 119 | _path_to_item (tuple/list): This is a list of keys or values to 120 | drill down to the model in received_data 121 | when deserializing a response 122 | _spec_property_naming (bool): True if the variable names in the input data 123 | are serialized names, as specified in the OpenAPI document. 124 | False if the variable names in the input data 125 | are pythonic names, e.g. snake case (default) 126 | _configuration (Configuration): the instance to use when 127 | deserializing a file_type parameter. 128 | If passed, type conversion is attempted 129 | If omitted no type conversion is done. 130 | _visited_composed_classes (tuple): This stores a tuple of 131 | classes that we have traveled through so that 132 | if we see that class again we will not use its 133 | discriminator again. 134 | When traveling through a discriminator, the 135 | composed schema that is 136 | is traveled through is added to this set. 137 | For example if Animal has a discriminator 138 | petType and we pass in "Dog", and the class Dog 139 | allOf includes Animal, we move through Animal 140 | once using the discriminator, and pick Dog. 141 | Then in Dog, we will make an instance of the 142 | Animal class but this time we won't travel 143 | through its discriminator because we passed in 144 | _visited_composed_classes = (Animal,) 145 | name (str): [optional] # noqa: E501 146 | is_system_maintained (bool): [optional] # noqa: E501 147 | """ 148 | 149 | _check_type = kwargs.pop("_check_type", True) 150 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 151 | _path_to_item = kwargs.pop("_path_to_item", ()) 152 | _configuration = kwargs.pop("_configuration", None) 153 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 154 | 155 | self = super(OpenApiModel, cls).__new__(cls) 156 | 157 | if args: 158 | raise ApiTypeError( 159 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 160 | % ( 161 | args, 162 | self.__class__.__name__, 163 | ), 164 | path_to_item=_path_to_item, 165 | valid_classes=(self.__class__,), 166 | ) 167 | 168 | self._data_store = {} 169 | self._check_type = _check_type 170 | self._spec_property_naming = _spec_property_naming 171 | self._path_to_item = _path_to_item 172 | self._configuration = _configuration 173 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 174 | 175 | for var_name, var_value in kwargs.items(): 176 | if ( 177 | var_name not in self.attribute_map 178 | and self._configuration is not None 179 | and self._configuration.discard_unknown_keys 180 | and self.additional_properties_type is None 181 | ): 182 | # discard variable. 183 | continue 184 | setattr(self, var_name, var_value) 185 | return self 186 | 187 | required_properties = set( 188 | [ 189 | "_data_store", 190 | "_check_type", 191 | "_spec_property_naming", 192 | "_path_to_item", 193 | "_configuration", 194 | "_visited_composed_classes", 195 | ] 196 | ) 197 | 198 | @convert_js_args_to_python_args 199 | def __init__(self, *args, **kwargs): # noqa: E501 200 | """StationOverviewUniqueIdField - a model defined in OpenAPI 201 | 202 | Keyword Args: 203 | _check_type (bool): if True, values for parameters in openapi_types 204 | will be type checked and a TypeError will be 205 | raised if the wrong type is input. 206 | Defaults to True 207 | _path_to_item (tuple/list): This is a list of keys or values to 208 | drill down to the model in received_data 209 | when deserializing a response 210 | _spec_property_naming (bool): True if the variable names in the input data 211 | are serialized names, as specified in the OpenAPI document. 212 | False if the variable names in the input data 213 | are pythonic names, e.g. snake case (default) 214 | _configuration (Configuration): the instance to use when 215 | deserializing a file_type parameter. 216 | If passed, type conversion is attempted 217 | If omitted no type conversion is done. 218 | _visited_composed_classes (tuple): This stores a tuple of 219 | classes that we have traveled through so that 220 | if we see that class again we will not use its 221 | discriminator again. 222 | When traveling through a discriminator, the 223 | composed schema that is 224 | is traveled through is added to this set. 225 | For example if Animal has a discriminator 226 | petType and we pass in "Dog", and the class Dog 227 | allOf includes Animal, we move through Animal 228 | once using the discriminator, and pick Dog. 229 | Then in Dog, we will make an instance of the 230 | Animal class but this time we won't travel 231 | through its discriminator because we passed in 232 | _visited_composed_classes = (Animal,) 233 | name (str): [optional] # noqa: E501 234 | is_system_maintained (bool): [optional] # noqa: E501 235 | """ 236 | 237 | _check_type = kwargs.pop("_check_type", True) 238 | _spec_property_naming = kwargs.pop("_spec_property_naming", False) 239 | _path_to_item = kwargs.pop("_path_to_item", ()) 240 | _configuration = kwargs.pop("_configuration", None) 241 | _visited_composed_classes = kwargs.pop("_visited_composed_classes", ()) 242 | 243 | if args: 244 | raise ApiTypeError( 245 | "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." 246 | % ( 247 | args, 248 | self.__class__.__name__, 249 | ), 250 | path_to_item=_path_to_item, 251 | valid_classes=(self.__class__,), 252 | ) 253 | 254 | self._data_store = {} 255 | self._check_type = _check_type 256 | self._spec_property_naming = _spec_property_naming 257 | self._path_to_item = _path_to_item 258 | self._configuration = _configuration 259 | self._visited_composed_classes = _visited_composed_classes + (self.__class__,) 260 | 261 | for var_name, var_value in kwargs.items(): 262 | if ( 263 | var_name not in self.attribute_map 264 | and self._configuration is not None 265 | and self._configuration.discard_unknown_keys 266 | and self.additional_properties_type is None 267 | ): 268 | # discard variable. 269 | continue 270 | setattr(self, var_name, var_value) 271 | if var_name in self.read_only_vars: 272 | raise ApiAttributeError( 273 | f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " 274 | f"class with read only attributes." 275 | ) 276 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/models/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import all models into this package 4 | # if you have many models here with many references from one model to another this may 5 | # raise a RecursionError 6 | # to avoid this, import only the models that you directly need like: 7 | # from from deutschland.ladestationen.model.pet import Pet 8 | # or import this package, but before doing it, use: 9 | # import sys 10 | # sys.setrecursionlimit(n) 11 | 12 | from deutschland.ladestationen.model.geometry import Geometry 13 | from deutschland.ladestationen.model.quantization_parameter import QuantizationParameter 14 | from deutschland.ladestationen.model.station_overview import StationOverview 15 | from deutschland.ladestationen.model.station_overview_attributes import ( 16 | StationOverviewAttributes, 17 | ) 18 | from deutschland.ladestationen.model.station_overview_features import ( 19 | StationOverviewFeatures, 20 | ) 21 | from deutschland.ladestationen.model.station_overview_fields import ( 22 | StationOverviewFields, 23 | ) 24 | from deutschland.ladestationen.model.station_overview_spatial_reference import ( 25 | StationOverviewSpatialReference, 26 | ) 27 | from deutschland.ladestationen.model.station_overview_transform import ( 28 | StationOverviewTransform, 29 | ) 30 | from deutschland.ladestationen.model.station_overview_unique_id_field import ( 31 | StationOverviewUniqueIdField, 32 | ) 33 | -------------------------------------------------------------------------------- /python-client/deutschland/ladestationen/rest.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import io 13 | import ipaddress 14 | import json 15 | import logging 16 | import re 17 | import ssl 18 | from urllib.parse import urlencode, urlparse 19 | from urllib.request import proxy_bypass_environment 20 | 21 | import urllib3 22 | from deutschland.ladestationen.exceptions import ( 23 | ApiException, 24 | ApiValueError, 25 | ForbiddenException, 26 | NotFoundException, 27 | ServiceException, 28 | UnauthorizedException, 29 | ) 30 | 31 | logger = logging.getLogger(__name__) 32 | 33 | 34 | class RESTResponse(io.IOBase): 35 | def __init__(self, resp): 36 | self.urllib3_response = resp 37 | self.status = resp.status 38 | self.reason = resp.reason 39 | self.data = resp.data 40 | 41 | def getheaders(self): 42 | """Returns a dictionary of the response headers.""" 43 | return self.urllib3_response.getheaders() 44 | 45 | def getheader(self, name, default=None): 46 | """Returns a given response header.""" 47 | return self.urllib3_response.getheader(name, default) 48 | 49 | 50 | class RESTClientObject(object): 51 | def __init__(self, configuration, pools_size=4, maxsize=None): 52 | # urllib3.PoolManager will pass all kw parameters to connectionpool 53 | # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 # noqa: E501 54 | # https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 # noqa: E501 55 | # maxsize is the number of requests to host that are allowed in parallel # noqa: E501 56 | # Custom SSL certificates and client certificates: http://urllib3.readthedocs.io/en/latest/advanced-usage.html # noqa: E501 57 | 58 | # cert_reqs 59 | if configuration.verify_ssl: 60 | cert_reqs = ssl.CERT_REQUIRED 61 | else: 62 | cert_reqs = ssl.CERT_NONE 63 | 64 | addition_pool_args = {} 65 | if configuration.assert_hostname is not None: 66 | addition_pool_args[ 67 | "assert_hostname" 68 | ] = configuration.assert_hostname # noqa: E501 69 | 70 | if configuration.retries is not None: 71 | addition_pool_args["retries"] = configuration.retries 72 | 73 | if configuration.socket_options is not None: 74 | addition_pool_args["socket_options"] = configuration.socket_options 75 | 76 | if maxsize is None: 77 | if configuration.connection_pool_maxsize is not None: 78 | maxsize = configuration.connection_pool_maxsize 79 | else: 80 | maxsize = 4 81 | 82 | # https pool manager 83 | if configuration.proxy and not should_bypass_proxies( 84 | configuration.host, no_proxy=configuration.no_proxy or "" 85 | ): 86 | self.pool_manager = urllib3.ProxyManager( 87 | num_pools=pools_size, 88 | maxsize=maxsize, 89 | cert_reqs=cert_reqs, 90 | ca_certs=configuration.ssl_ca_cert, 91 | cert_file=configuration.cert_file, 92 | key_file=configuration.key_file, 93 | proxy_url=configuration.proxy, 94 | proxy_headers=configuration.proxy_headers, 95 | **addition_pool_args 96 | ) 97 | else: 98 | self.pool_manager = urllib3.PoolManager( 99 | num_pools=pools_size, 100 | maxsize=maxsize, 101 | cert_reqs=cert_reqs, 102 | ca_certs=configuration.ssl_ca_cert, 103 | cert_file=configuration.cert_file, 104 | key_file=configuration.key_file, 105 | **addition_pool_args 106 | ) 107 | 108 | def request( 109 | self, 110 | method, 111 | url, 112 | query_params=None, 113 | headers=None, 114 | body=None, 115 | post_params=None, 116 | _preload_content=True, 117 | _request_timeout=None, 118 | ): 119 | """Perform requests. 120 | 121 | :param method: http request method 122 | :param url: http request url 123 | :param query_params: query parameters in the url 124 | :param headers: http request headers 125 | :param body: request json body, for `application/json` 126 | :param post_params: request post parameters, 127 | `application/x-www-form-urlencoded` 128 | and `multipart/form-data` 129 | :param _preload_content: if False, the urllib3.HTTPResponse object will 130 | be returned without reading/decoding response 131 | data. Default is True. 132 | :param _request_timeout: timeout setting for this request. If one 133 | number provided, it will be total request 134 | timeout. It can also be a pair (tuple) of 135 | (connection, read) timeouts. 136 | """ 137 | method = method.upper() 138 | assert method in ["GET", "HEAD", "DELETE", "POST", "PUT", "PATCH", "OPTIONS"] 139 | 140 | if post_params and body: 141 | raise ApiValueError( 142 | "body parameter cannot be used with post_params parameter." 143 | ) 144 | 145 | post_params = post_params or {} 146 | headers = headers or {} 147 | 148 | timeout = None 149 | if _request_timeout: 150 | if isinstance(_request_timeout, (int, float)): # noqa: E501,F821 151 | timeout = urllib3.Timeout(total=_request_timeout) 152 | elif isinstance(_request_timeout, tuple) and len(_request_timeout) == 2: 153 | timeout = urllib3.Timeout( 154 | connect=_request_timeout[0], read=_request_timeout[1] 155 | ) 156 | 157 | try: 158 | # For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE` 159 | if method in ["POST", "PUT", "PATCH", "OPTIONS", "DELETE"]: 160 | # Only set a default Content-Type for POST, PUT, PATCH and OPTIONS requests 161 | if (method != "DELETE") and ("Content-Type" not in headers): 162 | headers["Content-Type"] = "application/json" 163 | if query_params: 164 | url += "?" + urlencode(query_params) 165 | if ("Content-Type" not in headers) or ( 166 | re.search("json", headers["Content-Type"], re.IGNORECASE) 167 | ): 168 | request_body = None 169 | if body is not None: 170 | request_body = json.dumps(body) 171 | r = self.pool_manager.request( 172 | method, 173 | url, 174 | body=request_body, 175 | preload_content=_preload_content, 176 | timeout=timeout, 177 | headers=headers, 178 | ) 179 | elif ( 180 | headers["Content-Type"] == "application/x-www-form-urlencoded" 181 | ): # noqa: E501 182 | r = self.pool_manager.request( 183 | method, 184 | url, 185 | fields=post_params, 186 | encode_multipart=False, 187 | preload_content=_preload_content, 188 | timeout=timeout, 189 | headers=headers, 190 | ) 191 | elif headers["Content-Type"] == "multipart/form-data": 192 | # must del headers['Content-Type'], or the correct 193 | # Content-Type which generated by urllib3 will be 194 | # overwritten. 195 | del headers["Content-Type"] 196 | r = self.pool_manager.request( 197 | method, 198 | url, 199 | fields=post_params, 200 | encode_multipart=True, 201 | preload_content=_preload_content, 202 | timeout=timeout, 203 | headers=headers, 204 | ) 205 | # Pass a `string` parameter directly in the body to support 206 | # other content types than Json when `body` argument is 207 | # provided in serialized form 208 | elif isinstance(body, str) or isinstance(body, bytes): 209 | request_body = body 210 | r = self.pool_manager.request( 211 | method, 212 | url, 213 | body=request_body, 214 | preload_content=_preload_content, 215 | timeout=timeout, 216 | headers=headers, 217 | ) 218 | else: 219 | # Cannot generate the request from given parameters 220 | msg = """Cannot prepare a request message for provided 221 | arguments. Please check that your arguments match 222 | declared content type.""" 223 | raise ApiException(status=0, reason=msg) 224 | # For `GET`, `HEAD` 225 | else: 226 | r = self.pool_manager.request( 227 | method, 228 | url, 229 | fields=query_params, 230 | preload_content=_preload_content, 231 | timeout=timeout, 232 | headers=headers, 233 | ) 234 | except urllib3.exceptions.SSLError as e: 235 | msg = "{0}\n{1}".format(type(e).__name__, str(e)) 236 | raise ApiException(status=0, reason=msg) 237 | 238 | if _preload_content: 239 | r = RESTResponse(r) 240 | 241 | # log response body 242 | logger.debug("response body: %s", r.data) 243 | 244 | if not 200 <= r.status <= 299: 245 | if r.status == 401: 246 | raise UnauthorizedException(http_resp=r) 247 | 248 | if r.status == 403: 249 | raise ForbiddenException(http_resp=r) 250 | 251 | if r.status == 404: 252 | raise NotFoundException(http_resp=r) 253 | 254 | if 500 <= r.status <= 599: 255 | raise ServiceException(http_resp=r) 256 | 257 | raise ApiException(http_resp=r) 258 | 259 | return r 260 | 261 | def GET( 262 | self, 263 | url, 264 | headers=None, 265 | query_params=None, 266 | _preload_content=True, 267 | _request_timeout=None, 268 | ): 269 | return self.request( 270 | "GET", 271 | url, 272 | headers=headers, 273 | _preload_content=_preload_content, 274 | _request_timeout=_request_timeout, 275 | query_params=query_params, 276 | ) 277 | 278 | def HEAD( 279 | self, 280 | url, 281 | headers=None, 282 | query_params=None, 283 | _preload_content=True, 284 | _request_timeout=None, 285 | ): 286 | return self.request( 287 | "HEAD", 288 | url, 289 | headers=headers, 290 | _preload_content=_preload_content, 291 | _request_timeout=_request_timeout, 292 | query_params=query_params, 293 | ) 294 | 295 | def OPTIONS( 296 | self, 297 | url, 298 | headers=None, 299 | query_params=None, 300 | post_params=None, 301 | body=None, 302 | _preload_content=True, 303 | _request_timeout=None, 304 | ): 305 | return self.request( 306 | "OPTIONS", 307 | url, 308 | headers=headers, 309 | query_params=query_params, 310 | post_params=post_params, 311 | _preload_content=_preload_content, 312 | _request_timeout=_request_timeout, 313 | body=body, 314 | ) 315 | 316 | def DELETE( 317 | self, 318 | url, 319 | headers=None, 320 | query_params=None, 321 | body=None, 322 | _preload_content=True, 323 | _request_timeout=None, 324 | ): 325 | return self.request( 326 | "DELETE", 327 | url, 328 | headers=headers, 329 | query_params=query_params, 330 | _preload_content=_preload_content, 331 | _request_timeout=_request_timeout, 332 | body=body, 333 | ) 334 | 335 | def POST( 336 | self, 337 | url, 338 | headers=None, 339 | query_params=None, 340 | post_params=None, 341 | body=None, 342 | _preload_content=True, 343 | _request_timeout=None, 344 | ): 345 | return self.request( 346 | "POST", 347 | url, 348 | headers=headers, 349 | query_params=query_params, 350 | post_params=post_params, 351 | _preload_content=_preload_content, 352 | _request_timeout=_request_timeout, 353 | body=body, 354 | ) 355 | 356 | def PUT( 357 | self, 358 | url, 359 | headers=None, 360 | query_params=None, 361 | post_params=None, 362 | body=None, 363 | _preload_content=True, 364 | _request_timeout=None, 365 | ): 366 | return self.request( 367 | "PUT", 368 | url, 369 | headers=headers, 370 | query_params=query_params, 371 | post_params=post_params, 372 | _preload_content=_preload_content, 373 | _request_timeout=_request_timeout, 374 | body=body, 375 | ) 376 | 377 | def PATCH( 378 | self, 379 | url, 380 | headers=None, 381 | query_params=None, 382 | post_params=None, 383 | body=None, 384 | _preload_content=True, 385 | _request_timeout=None, 386 | ): 387 | return self.request( 388 | "PATCH", 389 | url, 390 | headers=headers, 391 | query_params=query_params, 392 | post_params=post_params, 393 | _preload_content=_preload_content, 394 | _request_timeout=_request_timeout, 395 | body=body, 396 | ) 397 | 398 | 399 | # end of class RESTClientObject 400 | def is_ipv4(target): 401 | """Test if IPv4 address or not""" 402 | try: 403 | chk = ipaddress.IPv4Address(target) 404 | return True 405 | except ipaddress.AddressValueError: 406 | return False 407 | 408 | 409 | def in_ipv4net(target, net): 410 | """Test if target belongs to given IPv4 network""" 411 | try: 412 | nw = ipaddress.IPv4Network(net) 413 | ip = ipaddress.IPv4Address(target) 414 | if ip in nw: 415 | return True 416 | return False 417 | except ipaddress.AddressValueError: 418 | return False 419 | except ipaddress.NetmaskValueError: 420 | return False 421 | 422 | 423 | def should_bypass_proxies(url, no_proxy=None): 424 | """Yet another requests.should_bypass_proxies 425 | Test if proxies should not be used for a particular url. 426 | """ 427 | 428 | parsed = urlparse(url) 429 | 430 | # special cases 431 | if parsed.hostname in [None, ""]: 432 | return True 433 | 434 | # special cases 435 | if no_proxy in [None, ""]: 436 | return False 437 | if no_proxy == "*": 438 | return True 439 | 440 | no_proxy = no_proxy.lower().replace(" ", "") 441 | entries = (host for host in no_proxy.split(",") if host) 442 | 443 | if is_ipv4(parsed.hostname): 444 | for item in entries: 445 | if in_ipv4net(parsed.hostname, item): 446 | return True 447 | return proxy_bypass_environment(parsed.hostname, {"no": no_proxy}) 448 | -------------------------------------------------------------------------------- /python-client/docs/DefaultApi.md: -------------------------------------------------------------------------------- 1 | # ladestationen.DefaultApi 2 | 3 | All URIs are relative to *http://localhost* 4 | 5 | Method | HTTP request | Description 6 | ------------- | ------------- | ------------- 7 | [**query_get**](DefaultApi.md#query_get) | **GET** /query | Query für alle Ladesäulen 8 | 9 | 10 | # **query_get** 11 | > StationOverview query_get(geometry, ) 12 | 13 | Query für alle Ladesäulen 14 | 15 | ### Example 16 | 17 | 18 | ```python 19 | import time 20 | from deutschland import ladestationen 21 | from deutschland.ladestationen.api import default_api 22 | from deutschland.ladestationen.model.station_overview import StationOverview 23 | from pprint import pprint 24 | # Defining the host is optional and defaults to http://localhost 25 | # See configuration.py for a list of all supported configuration parameters. 26 | configuration = ladestationen.Configuration( 27 | host = "http://localhost" 28 | ) 29 | 30 | 31 | # Enter a context with an instance of the API client 32 | with ladestationen.ApiClient() as api_client: 33 | # Create an instance of the API class 34 | api_instance = default_api.DefaultApi(api_client) 35 | geometry = "geometry_example" # str | Geometry filter. URL-enkodiertes JSON Objekt vom Typ `Geometry` 36 | geometry_type = "esriGeometryEnvelope" # str | Art der Geometry (optional) if omitted the server will use the default value of "esriGeometryEnvelope" 37 | f = "json" # str | Ausgabeformat der Daten. Default ist 'html'. (optional) 38 | object_ids = "42,123,666" # str | Komma-separierte Liste von IDs (integer), filtert nach den einzelnen Objekten (optional) 39 | order_by_fields = "orderByFields_example" # str | (optional) 40 | return_geometry = True # bool | (optional) 41 | spatial_rel = "esriSpatialRelIntersects" # str | Spatial Relationships (optional) 42 | in_sr = 1 # int | Input Spatial Reference (optional) 43 | out_sr = 1 # int | Output Spatial Reference (optional) 44 | max_record_count_factor = 1 # int | (optional) 45 | result_type = "none" # str | (optional) 46 | quantization_parameters = "quantizationParameters_example" # str | URL-enkodiertes JSON Objekt vom Typ `QuantizationParameter` (optional) 47 | where = "where_example" # str | SQL \"where\" Filter (optional) 48 | having = "having_example" # str | (optional) 49 | time = 1 # int | (optional) 50 | distance = "0.0" # str | (optional) 51 | units = "esriSRUnit_Meter" # str | (optional) 52 | geometry_precision = "geometryPrecision_example" # str | (optional) 53 | feature_encoding = "esriDefault" # str | (optional) 54 | group_by_fields_for_statistics = "groupByFieldsForStatistics_example" # str | (optional) 55 | cache_hint = True # bool | (optional) 56 | return_extent_only = True # bool | (optional) 57 | return_z = True # bool | (optional) 58 | return_ids_only = True # bool | (optional) 59 | return_centroid = True # bool | (optional) 60 | return_exceeded_limit_features = True # bool | (optional) 61 | datum_transformation = "datumTransformation_example" # str | (optional) 62 | result_offset = "resultOffset_example" # str | (optional) 63 | apply_vcs_projection = True # bool | (optional) 64 | out_statistics = "outStatistics_example" # str | (optional) 65 | return_distinct_values = True # bool | (optional) 66 | multipatch_option = "none" # str | (optional) 67 | return_m = True # bool | (optional) 68 | max_allowable_offset = 1 # int | (optional) 69 | return_count_only = True # bool | (optional) 70 | return_unique_ids_only = True # bool | (optional) 71 | return_query_geometry = True # bool | (optional) 72 | result_record_count = 1 # int | (optional) 73 | sql_format = "none" # str | (optional) 74 | token = "token_example" # str | (optional) 75 | return_geodetic = True # bool | (optional) 76 | 77 | # example passing only required values which don't have defaults set 78 | try: 79 | # Query für alle Ladesäulen 80 | api_response = api_instance.query_get(geometry, ) 81 | pprint(api_response) 82 | except ladestationen.ApiException as e: 83 | print("Exception when calling DefaultApi->query_get: %s\n" % e) 84 | 85 | # example passing only required values which don't have defaults set 86 | # and optional values 87 | try: 88 | # Query für alle Ladesäulen 89 | api_response = api_instance.query_get(geometry, geometry_type=geometry_type, f=f, object_ids=object_ids, order_by_fields=order_by_fields, return_geometry=return_geometry, spatial_rel=spatial_rel, in_sr=in_sr, out_sr=out_sr, max_record_count_factor=max_record_count_factor, result_type=result_type, quantization_parameters=quantization_parameters, where=where, having=having, time=time, distance=distance, units=units, geometry_precision=geometry_precision, feature_encoding=feature_encoding, group_by_fields_for_statistics=group_by_fields_for_statistics, cache_hint=cache_hint, return_extent_only=return_extent_only, return_z=return_z, return_ids_only=return_ids_only, return_centroid=return_centroid, return_exceeded_limit_features=return_exceeded_limit_features, datum_transformation=datum_transformation, result_offset=result_offset, apply_vcs_projection=apply_vcs_projection, out_statistics=out_statistics, return_distinct_values=return_distinct_values, multipatch_option=multipatch_option, return_m=return_m, max_allowable_offset=max_allowable_offset, return_count_only=return_count_only, return_unique_ids_only=return_unique_ids_only, return_query_geometry=return_query_geometry, result_record_count=result_record_count, sql_format=sql_format, token=token, return_geodetic=return_geodetic) 90 | pprint(api_response) 91 | except ladestationen.ApiException as e: 92 | print("Exception when calling DefaultApi->query_get: %s\n" % e) 93 | ``` 94 | 95 | 96 | ### Parameters 97 | 98 | Name | Type | Description | Notes 99 | ------------- | ------------- | ------------- | ------------- 100 | **geometry** | **str**| Geometry filter. URL-enkodiertes JSON Objekt vom Typ `Geometry` | 101 | **out_fields** | **str**| Auswahl der Felder, die ausgegeben werden sollen, durch Komma getrennt | defaults to "*" 102 | **geometry_type** | **str**| Art der Geometry | [optional] if omitted the server will use the default value of "esriGeometryEnvelope" 103 | **f** | **str**| Ausgabeformat der Daten. Default ist 'html'. | [optional] 104 | **object_ids** | **str**| Komma-separierte Liste von IDs (integer), filtert nach den einzelnen Objekten | [optional] 105 | **order_by_fields** | **str**| | [optional] 106 | **return_geometry** | **bool**| | [optional] 107 | **spatial_rel** | **str**| Spatial Relationships | [optional] 108 | **in_sr** | **int**| Input Spatial Reference | [optional] 109 | **out_sr** | **int**| Output Spatial Reference | [optional] 110 | **max_record_count_factor** | **int**| | [optional] 111 | **result_type** | **str**| | [optional] 112 | **quantization_parameters** | **str**| URL-enkodiertes JSON Objekt vom Typ `QuantizationParameter` | [optional] 113 | **where** | **str**| SQL \"where\" Filter | [optional] 114 | **having** | **str**| | [optional] 115 | **time** | **int**| | [optional] 116 | **distance** | **str**| | [optional] 117 | **units** | **str**| | [optional] 118 | **geometry_precision** | **str**| | [optional] 119 | **feature_encoding** | **str**| | [optional] 120 | **group_by_fields_for_statistics** | **str**| | [optional] 121 | **cache_hint** | **bool**| | [optional] 122 | **return_extent_only** | **bool**| | [optional] 123 | **return_z** | **bool**| | [optional] 124 | **return_ids_only** | **bool**| | [optional] 125 | **return_centroid** | **bool**| | [optional] 126 | **return_exceeded_limit_features** | **bool**| | [optional] 127 | **datum_transformation** | **str**| | [optional] 128 | **result_offset** | **str**| | [optional] 129 | **apply_vcs_projection** | **bool**| | [optional] 130 | **out_statistics** | **str**| | [optional] 131 | **return_distinct_values** | **bool**| | [optional] 132 | **multipatch_option** | **str**| | [optional] 133 | **return_m** | **bool**| | [optional] 134 | **max_allowable_offset** | **int**| | [optional] 135 | **return_count_only** | **bool**| | [optional] 136 | **return_unique_ids_only** | **bool**| | [optional] 137 | **return_query_geometry** | **bool**| | [optional] 138 | **result_record_count** | **int**| | [optional] 139 | **sql_format** | **str**| | [optional] 140 | **token** | **str**| | [optional] 141 | **return_geodetic** | **bool**| | [optional] 142 | 143 | ### Return type 144 | 145 | [**StationOverview**](StationOverview.md) 146 | 147 | ### Authorization 148 | 149 | No authorization required 150 | 151 | ### HTTP request headers 152 | 153 | - **Content-Type**: Not defined 154 | - **Accept**: application/json 155 | 156 | 157 | ### HTTP response details 158 | 159 | | Status code | Description | Response headers | 160 | |-------------|-------------|------------------| 161 | **200** | OK | - | 162 | 163 | [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) 164 | 165 | -------------------------------------------------------------------------------- /python-client/docs/Geometry.md: -------------------------------------------------------------------------------- 1 | # Geometry 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **xmin** | **float** | | [optional] 8 | **ymin** | **float** | | [optional] 9 | **xmax** | **float** | | [optional] 10 | **ymax** | **float** | | [optional] 11 | **spatial_reference** | [**StationOverviewSpatialReference**](StationOverviewSpatialReference.md) | | [optional] 12 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 13 | 14 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 15 | 16 | 17 | -------------------------------------------------------------------------------- /python-client/docs/QuantizationParameter.md: -------------------------------------------------------------------------------- 1 | # QuantizationParameter 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **mode** | **str** | | [optional] 8 | **origin_position** | **str** | | [optional] 9 | **tolerance** | **float** | | [optional] 10 | **extent** | [**Geometry**](Geometry.md) | | [optional] 11 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 12 | 13 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 14 | 15 | 16 | -------------------------------------------------------------------------------- /python-client/docs/StationOverview.md: -------------------------------------------------------------------------------- 1 | # StationOverview 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **object_id_field_name** | **str** | | [optional] 8 | **unique_id_field** | [**StationOverviewUniqueIdField**](StationOverviewUniqueIdField.md) | | [optional] 9 | **global_id_field_name** | **str** | | [optional] 10 | **geometry_type** | **str** | | [optional] 11 | **spatial_reference** | [**StationOverviewSpatialReference**](StationOverviewSpatialReference.md) | | [optional] 12 | **transform** | [**StationOverviewTransform**](StationOverviewTransform.md) | | [optional] 13 | **fields** | [**[StationOverviewFields]**](StationOverviewFields.md) | | [optional] 14 | **features** | [**[StationOverviewFeatures]**](StationOverviewFeatures.md) | | [optional] 15 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 16 | 17 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 18 | 19 | 20 | -------------------------------------------------------------------------------- /python-client/docs/StationOverviewAttributes.md: -------------------------------------------------------------------------------- 1 | # StationOverviewAttributes 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **id** | **int** | | [optional] 8 | **betreiber_** | **str** | | [optional] 9 | **standort_** | **str** | | [optional] 10 | **lngengrad_** | **float** | | [optional] 11 | **breitengrad_** | **float** | | [optional] 12 | **fr_die_berschrift_** | **str** | | [optional] 13 | **anzahl_ladepunkte_** | **str** | | [optional] 14 | **art_des_ladepunktes_** | **str** | | [optional] 15 | **ac_steckdose_typ_2__1_** | **str** | | [optional] 16 | **ac_kupplung_typ_2__1_** | **str** | | [optional] 17 | **dc_kupplung_combo__1_** | **str** | | [optional] 18 | **ac_schuko__1_** | **str** | | [optional] 19 | **ac_cee_5_polig__1_** | **str** | | [optional] 20 | **ac_cee_3_polig__1_** | **str** | | [optional] 21 | **dc_ch_ade_mo__1_** | **str** | | [optional] 22 | **sonstige_stecker__1_** | **str** | | [optional] 23 | **nennleistung_ladepunkt_1_** | **str** | | [optional] 24 | **public_key__1_** | **str** | | [optional] 25 | **art_des_ladepunktes_2_** | **str** | | [optional] 26 | **ac_steckdose_typ_2__2_** | **str** | | [optional] 27 | **ac_kupplung_typ_2__2_** | **str** | | [optional] 28 | **dc_kupplung_combo__2_** | **str** | | [optional] 29 | **ac_schuko__2_** | **str** | | [optional] 30 | **ac_cee_5_polig__2_** | **str** | | [optional] 31 | **ac_cee_3_polig__2_** | **str** | | [optional] 32 | **dc_ch_ade_mo__2_** | **str** | | [optional] 33 | **sonstige_stecker__2_** | **str** | | [optional] 34 | **nennleistung_ladepunkt_2_** | **str** | | [optional] 35 | **public_key__2_** | **str** | | [optional] 36 | **art_des_ladepunktes_3_** | **str** | | [optional] 37 | **ac_steckdose_typ_2__3_** | **str** | | [optional] 38 | **ac_kupplung_typ_2__3_** | **str** | | [optional] 39 | **dc_kupplung_combo__3_** | **str** | | [optional] 40 | **ac_schuko__3_** | **str** | | [optional] 41 | **ac_cee_5_polig__3_** | **str** | | [optional] 42 | **ac_cee_3_polig__3_** | **str** | | [optional] 43 | **dc_ch_ade_mo__3_** | **str** | | [optional] 44 | **sonstige_stecker__3_** | **str** | | [optional] 45 | **nennleistung_ladepunkt_3_** | **str** | | [optional] 46 | **public_key__3_** | **str** | | [optional] 47 | **art_des_ladepunktes_4_** | **str** | | [optional] 48 | **ac_steckdose_typ_2__4_** | **str** | | [optional] 49 | **ac_kupplung_typ_2__4_** | **str** | | [optional] 50 | **dc_kupplung_combo__4_** | **str** | | [optional] 51 | **ac_schuko__4_** | **str** | | [optional] 52 | **ac_cee_5_polig__4_** | **str** | | [optional] 53 | **ac_cee_3_polig__4_** | **str** | | [optional] 54 | **dc_ch_ade_mo__4_** | **str** | | [optional] 55 | **sonstige_stecker__4_** | **str** | | [optional] 56 | **nennleistung_ladepunkt_4_** | **str** | | [optional] 57 | **public_key__4_** | **str** | | [optional] 58 | **objectid** | **int** | | [optional] 59 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 60 | 61 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 62 | 63 | 64 | -------------------------------------------------------------------------------- /python-client/docs/StationOverviewFeatures.md: -------------------------------------------------------------------------------- 1 | # StationOverviewFeatures 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **attributes** | [**StationOverviewAttributes**](StationOverviewAttributes.md) | | [optional] 8 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 9 | 10 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 11 | 12 | 13 | -------------------------------------------------------------------------------- /python-client/docs/StationOverviewFields.md: -------------------------------------------------------------------------------- 1 | # StationOverviewFields 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **name** | **str** | | [optional] 8 | **type** | **str** | | [optional] 9 | **alias** | **str** | | [optional] 10 | **sql_type** | **str** | | [optional] 11 | **domain** | **str** | | [optional] 12 | **default_value** | **str** | | [optional] 13 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 14 | 15 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 16 | 17 | 18 | -------------------------------------------------------------------------------- /python-client/docs/StationOverviewSpatialReference.md: -------------------------------------------------------------------------------- 1 | # StationOverviewSpatialReference 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **wkid** | **int** | | [optional] 8 | **latest_wkid** | **int** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /python-client/docs/StationOverviewTransform.md: -------------------------------------------------------------------------------- 1 | # StationOverviewTransform 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **origin_position** | **str** | | [optional] 8 | **scale** | **[float]** | | [optional] 9 | **translate** | **[float]** | | [optional] 10 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 11 | 12 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 13 | 14 | 15 | -------------------------------------------------------------------------------- /python-client/docs/StationOverviewUniqueIdField.md: -------------------------------------------------------------------------------- 1 | # StationOverviewUniqueIdField 2 | 3 | 4 | ## Properties 5 | Name | Type | Description | Notes 6 | ------------ | ------------- | ------------- | ------------- 7 | **name** | **str** | | [optional] 8 | **is_system_maintained** | **bool** | | [optional] 9 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] 10 | 11 | [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) 12 | 13 | 14 | -------------------------------------------------------------------------------- /python-client/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool] 2 | [tool.poetry] 3 | name = "de-ladestationen" 4 | version = "1.0.5" 5 | description = "Bundesnetzagentur: Ladesäulenregister" 6 | keywords = ["OpenAPI", "OpenAPI-Generator", "ladestationen", "App", "API"] 7 | homepage = "https://github.com/bundesAPI/ladestationen-api" 8 | authors = ["BundesAPI "] 9 | packages = [ 10 | { include = "deutschland"} 11 | ] 12 | license = "Apache-2.0" 13 | readme = "README.md" 14 | 15 | [tool.poetry.dependencies] 16 | python = ">=3.6" 17 | python-dateutil = "*" 18 | urllib3 = ">=1.25.3" 19 | 20 | [tool.poetry.urls] 21 | "Bug Tracker" = "https://github.com/bundesAPI/ladestationen-api/issues" 22 | 23 | [tool.poetry.dev-dependencies] 24 | black = "^21.7b0" 25 | pytest = "^6.2.4" 26 | 27 | 28 | [build-system] 29 | requires = ["poetry-core>=1.0.0"] 30 | build-backend = "poetry.core.masonry.api" 31 | 32 | -------------------------------------------------------------------------------- /python-client/requirements.txt: -------------------------------------------------------------------------------- 1 | python_dateutil >= 2.5.3 2 | setuptools >= 59.0.0 3 | urllib3 >= 1.25.3 4 | -------------------------------------------------------------------------------- /python-client/sphinx-docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /python-client/sphinx-docs/conf.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | 4 | sys.path.insert(0, os.path.abspath("../")) 5 | # Configuration file for the Sphinx documentation builder. 6 | # 7 | # This file only contains a selection of the most common options. For a full 8 | # list see the documentation: 9 | # https://www.sphinx-doc.org/en/master/usage/configuration.html 10 | 11 | # -- Path setup -------------------------------------------------------------- 12 | 13 | # If extensions (or modules to document with autodoc) are in another directory, 14 | # add these directories to sys.path here. If the directory is relative to the 15 | # documentation root, use os.path.abspath to make it absolute, like shown here. 16 | # 17 | # import os 18 | # import sys 19 | # sys.path.insert(0, os.path.abspath('.')) 20 | 21 | 22 | # -- Project information ----------------------------------------------------- 23 | 24 | project = "ladestationen-api" 25 | copyright = "2022, BundesAPI" 26 | author = "BundesAPI" 27 | 28 | # The short X.Y version 29 | version = "1.0.5" 30 | 31 | # The full version, including alpha/beta/rc tags 32 | release = "1.0.5" 33 | 34 | 35 | # -- General configuration --------------------------------------------------- 36 | 37 | # Add any Sphinx extension module names here, as strings. They can be 38 | # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom 39 | # ones. 40 | extensions = [ 41 | "m2r2", 42 | "sphinx.ext.autodoc", 43 | "sphinx.ext.napoleon", 44 | "sphinx.ext.autosummary", 45 | ] 46 | 47 | # Add any paths that contain templates here, relative to this directory. 48 | templates_path = ["_templates"] 49 | 50 | # The language for content autogenerated by Sphinx. Refer to documentation 51 | # for a list of supported languages. 52 | # 53 | # This is also used if you do content translation via gettext catalogs. 54 | # Usually you set "language" from the command line for these cases. 55 | language = "de" 56 | 57 | # List of patterns, relative to source directory, that match files and 58 | # directories to ignore when looking for source files. 59 | # This pattern also affects html_static_path and html_extra_path. 60 | exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] 61 | 62 | 63 | # -- Options for HTML output ------------------------------------------------- 64 | 65 | # The theme to use for HTML and HTML Help pages. See the documentation for 66 | # a list of builtin themes. 67 | # 68 | html_theme = "alabaster" 69 | 70 | # Add any paths that contain custom static files (such as style sheets) here, 71 | # relative to this directory. They are copied after the builtin static files, 72 | # so a file named "default.css" will overwrite the builtin "default.css". 73 | html_static_path = ["_static"] 74 | 75 | 76 | # -- Extension configuration ------------------------------------------------- 77 | source_extensions = [".rst", ".md"] 78 | -------------------------------------------------------------------------------- /python-client/sphinx-docs/index.rst: -------------------------------------------------------------------------------- 1 | ladestationen-api Documentation 2 | =============================== 3 | 4 | .. toctree:: 5 | :glob: 6 | 7 | source/* 8 | -------------------------------------------------------------------------------- /python-client/sphinx-docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=. 11 | set BUILDDIR=_build 12 | 13 | if "%1" == "" goto help 14 | 15 | %SPHINXBUILD% >NUL 2>NUL 16 | if errorlevel 9009 ( 17 | echo. 18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 19 | echo.installed, then set the SPHINXBUILD environment variable to point 20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 21 | echo.may add the Sphinx directory to PATH. 22 | echo. 23 | echo.If you don't have Sphinx installed, grab it from 24 | echo.https://www.sphinx-doc.org/ 25 | exit /b 1 26 | ) 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /python-client/sphinx-docs/source/ladestationen.api.rst: -------------------------------------------------------------------------------- 1 | ladestationen.api package 2 | ========================= 3 | 4 | Submodules 5 | ---------- 6 | 7 | ladestationen.api.default\_api module 8 | ------------------------------------- 9 | 10 | .. automodule:: ladestationen.api.default_api 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | 15 | Module contents 16 | --------------- 17 | 18 | .. automodule:: ladestationen.api 19 | :members: 20 | :undoc-members: 21 | :show-inheritance: 22 | -------------------------------------------------------------------------------- /python-client/sphinx-docs/source/ladestationen.apis.rst: -------------------------------------------------------------------------------- 1 | ladestationen.apis package 2 | ========================== 3 | 4 | Module contents 5 | --------------- 6 | 7 | .. automodule:: ladestationen.apis 8 | :members: 9 | :undoc-members: 10 | :show-inheritance: 11 | -------------------------------------------------------------------------------- /python-client/sphinx-docs/source/ladestationen.model.rst: -------------------------------------------------------------------------------- 1 | ladestationen.model package 2 | =========================== 3 | 4 | Submodules 5 | ---------- 6 | 7 | ladestationen.model.geometry module 8 | ----------------------------------- 9 | 10 | .. automodule:: ladestationen.model.geometry 11 | :members: 12 | :undoc-members: 13 | :show-inheritance: 14 | 15 | ladestationen.model.quantization\_parameter module 16 | -------------------------------------------------- 17 | 18 | .. automodule:: ladestationen.model.quantization_parameter 19 | :members: 20 | :undoc-members: 21 | :show-inheritance: 22 | 23 | ladestationen.model.station\_overview module 24 | -------------------------------------------- 25 | 26 | .. automodule:: ladestationen.model.station_overview 27 | :members: 28 | :undoc-members: 29 | :show-inheritance: 30 | 31 | ladestationen.model.station\_overview\_attributes module 32 | -------------------------------------------------------- 33 | 34 | .. automodule:: ladestationen.model.station_overview_attributes 35 | :members: 36 | :undoc-members: 37 | :show-inheritance: 38 | 39 | ladestationen.model.station\_overview\_features module 40 | ------------------------------------------------------ 41 | 42 | .. automodule:: ladestationen.model.station_overview_features 43 | :members: 44 | :undoc-members: 45 | :show-inheritance: 46 | 47 | ladestationen.model.station\_overview\_fields module 48 | ---------------------------------------------------- 49 | 50 | .. automodule:: ladestationen.model.station_overview_fields 51 | :members: 52 | :undoc-members: 53 | :show-inheritance: 54 | 55 | ladestationen.model.station\_overview\_spatial\_reference module 56 | ---------------------------------------------------------------- 57 | 58 | .. automodule:: ladestationen.model.station_overview_spatial_reference 59 | :members: 60 | :undoc-members: 61 | :show-inheritance: 62 | 63 | ladestationen.model.station\_overview\_transform module 64 | ------------------------------------------------------- 65 | 66 | .. automodule:: ladestationen.model.station_overview_transform 67 | :members: 68 | :undoc-members: 69 | :show-inheritance: 70 | 71 | ladestationen.model.station\_overview\_unique\_id\_field module 72 | --------------------------------------------------------------- 73 | 74 | .. automodule:: ladestationen.model.station_overview_unique_id_field 75 | :members: 76 | :undoc-members: 77 | :show-inheritance: 78 | 79 | Module contents 80 | --------------- 81 | 82 | .. automodule:: ladestationen.model 83 | :members: 84 | :undoc-members: 85 | :show-inheritance: 86 | -------------------------------------------------------------------------------- /python-client/sphinx-docs/source/ladestationen.models.rst: -------------------------------------------------------------------------------- 1 | ladestationen.models package 2 | ============================ 3 | 4 | Module contents 5 | --------------- 6 | 7 | .. automodule:: ladestationen.models 8 | :members: 9 | :undoc-members: 10 | :show-inheritance: 11 | -------------------------------------------------------------------------------- /python-client/sphinx-docs/source/ladestationen.rst: -------------------------------------------------------------------------------- 1 | ladestationen package 2 | ===================== 3 | 4 | Subpackages 5 | ----------- 6 | 7 | .. toctree:: 8 | :maxdepth: 4 9 | 10 | ladestationen.api 11 | ladestationen.apis 12 | ladestationen.model 13 | ladestationen.models 14 | 15 | Submodules 16 | ---------- 17 | 18 | ladestationen.api\_client module 19 | -------------------------------- 20 | 21 | .. automodule:: ladestationen.api_client 22 | :members: 23 | :undoc-members: 24 | :show-inheritance: 25 | 26 | ladestationen.configuration module 27 | ---------------------------------- 28 | 29 | .. automodule:: ladestationen.configuration 30 | :members: 31 | :undoc-members: 32 | :show-inheritance: 33 | 34 | ladestationen.exceptions module 35 | ------------------------------- 36 | 37 | .. automodule:: ladestationen.exceptions 38 | :members: 39 | :undoc-members: 40 | :show-inheritance: 41 | 42 | ladestationen.model\_utils module 43 | --------------------------------- 44 | 45 | .. automodule:: ladestationen.model_utils 46 | :members: 47 | :undoc-members: 48 | :show-inheritance: 49 | 50 | ladestationen.rest module 51 | ------------------------- 52 | 53 | .. automodule:: ladestationen.rest 54 | :members: 55 | :undoc-members: 56 | :show-inheritance: 57 | 58 | Module contents 59 | --------------- 60 | 61 | .. automodule:: ladestationen 62 | :members: 63 | :undoc-members: 64 | :show-inheritance: 65 | -------------------------------------------------------------------------------- /python-client/sphinx-docs/source/modules.rst: -------------------------------------------------------------------------------- 1 | deutschland 2 | =========== 3 | 4 | .. toctree:: 5 | :maxdepth: 4 6 | 7 | ladestationen 8 | -------------------------------------------------------------------------------- /python-client/test-requirements.txt: -------------------------------------------------------------------------------- 1 | pytest-cov>=2.8.1 2 | -------------------------------------------------------------------------------- /python-client/test/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bundesAPI/ladestationen-api/2c2a728ce3b905b5fcfe95395f1c690de38c8e47/python-client/test/__init__.py -------------------------------------------------------------------------------- /python-client/test/test_default_api.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import unittest 13 | 14 | from deutschland.ladestationen.api.default_api import DefaultApi # noqa: E501 15 | 16 | from deutschland import ladestationen 17 | 18 | 19 | class TestDefaultApi(unittest.TestCase): 20 | """DefaultApi unit test stubs""" 21 | 22 | def setUp(self): 23 | self.api = DefaultApi() # noqa: E501 24 | 25 | def tearDown(self): 26 | pass 27 | 28 | def test_query_get(self): 29 | """Test case for query_get 30 | 31 | Query für alle Ladesäulen # noqa: E501 32 | """ 33 | pass 34 | 35 | 36 | if __name__ == "__main__": 37 | unittest.main() 38 | -------------------------------------------------------------------------------- /python-client/test/test_geometry.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | from deutschland.ladestationen.model.station_overview_spatial_reference import ( 16 | StationOverviewSpatialReference, 17 | ) 18 | 19 | from deutschland import ladestationen 20 | 21 | globals()["StationOverviewSpatialReference"] = StationOverviewSpatialReference 22 | from deutschland.ladestationen.model.geometry import Geometry 23 | 24 | 25 | class TestGeometry(unittest.TestCase): 26 | """Geometry unit test stubs""" 27 | 28 | def setUp(self): 29 | pass 30 | 31 | def tearDown(self): 32 | pass 33 | 34 | def testGeometry(self): 35 | """Test Geometry""" 36 | # FIXME: construct object with mandatory attributes with example values 37 | # model = Geometry() # noqa: E501 38 | pass 39 | 40 | 41 | if __name__ == "__main__": 42 | unittest.main() 43 | -------------------------------------------------------------------------------- /python-client/test/test_quantization_parameter.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | from deutschland.ladestationen.model.geometry import Geometry 16 | 17 | from deutschland import ladestationen 18 | 19 | globals()["Geometry"] = Geometry 20 | from deutschland.ladestationen.model.quantization_parameter import QuantizationParameter 21 | 22 | 23 | class TestQuantizationParameter(unittest.TestCase): 24 | """QuantizationParameter unit test stubs""" 25 | 26 | def setUp(self): 27 | pass 28 | 29 | def tearDown(self): 30 | pass 31 | 32 | def testQuantizationParameter(self): 33 | """Test QuantizationParameter""" 34 | # FIXME: construct object with mandatory attributes with example values 35 | # model = QuantizationParameter() # noqa: E501 36 | pass 37 | 38 | 39 | if __name__ == "__main__": 40 | unittest.main() 41 | -------------------------------------------------------------------------------- /python-client/test/test_station_overview.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | from deutschland.ladestationen.model.station_overview_features import ( 16 | StationOverviewFeatures, 17 | ) 18 | from deutschland.ladestationen.model.station_overview_fields import ( 19 | StationOverviewFields, 20 | ) 21 | from deutschland.ladestationen.model.station_overview_spatial_reference import ( 22 | StationOverviewSpatialReference, 23 | ) 24 | from deutschland.ladestationen.model.station_overview_transform import ( 25 | StationOverviewTransform, 26 | ) 27 | from deutschland.ladestationen.model.station_overview_unique_id_field import ( 28 | StationOverviewUniqueIdField, 29 | ) 30 | 31 | from deutschland import ladestationen 32 | 33 | globals()["StationOverviewFeatures"] = StationOverviewFeatures 34 | globals()["StationOverviewFields"] = StationOverviewFields 35 | globals()["StationOverviewSpatialReference"] = StationOverviewSpatialReference 36 | globals()["StationOverviewTransform"] = StationOverviewTransform 37 | globals()["StationOverviewUniqueIdField"] = StationOverviewUniqueIdField 38 | from deutschland.ladestationen.model.station_overview import StationOverview 39 | 40 | 41 | class TestStationOverview(unittest.TestCase): 42 | """StationOverview unit test stubs""" 43 | 44 | def setUp(self): 45 | pass 46 | 47 | def tearDown(self): 48 | pass 49 | 50 | def testStationOverview(self): 51 | """Test StationOverview""" 52 | # FIXME: construct object with mandatory attributes with example values 53 | # model = StationOverview() # noqa: E501 54 | pass 55 | 56 | 57 | if __name__ == "__main__": 58 | unittest.main() 59 | -------------------------------------------------------------------------------- /python-client/test/test_station_overview_attributes.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | from deutschland.ladestationen.model.station_overview_attributes import ( 16 | StationOverviewAttributes, 17 | ) 18 | 19 | from deutschland import ladestationen 20 | 21 | 22 | class TestStationOverviewAttributes(unittest.TestCase): 23 | """StationOverviewAttributes unit test stubs""" 24 | 25 | def setUp(self): 26 | pass 27 | 28 | def tearDown(self): 29 | pass 30 | 31 | def testStationOverviewAttributes(self): 32 | """Test StationOverviewAttributes""" 33 | # FIXME: construct object with mandatory attributes with example values 34 | # model = StationOverviewAttributes() # noqa: E501 35 | pass 36 | 37 | 38 | if __name__ == "__main__": 39 | unittest.main() 40 | -------------------------------------------------------------------------------- /python-client/test/test_station_overview_features.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | from deutschland.ladestationen.model.station_overview_attributes import ( 16 | StationOverviewAttributes, 17 | ) 18 | 19 | from deutschland import ladestationen 20 | 21 | globals()["StationOverviewAttributes"] = StationOverviewAttributes 22 | from deutschland.ladestationen.model.station_overview_features import ( 23 | StationOverviewFeatures, 24 | ) 25 | 26 | 27 | class TestStationOverviewFeatures(unittest.TestCase): 28 | """StationOverviewFeatures unit test stubs""" 29 | 30 | def setUp(self): 31 | pass 32 | 33 | def tearDown(self): 34 | pass 35 | 36 | def testStationOverviewFeatures(self): 37 | """Test StationOverviewFeatures""" 38 | # FIXME: construct object with mandatory attributes with example values 39 | # model = StationOverviewFeatures() # noqa: E501 40 | pass 41 | 42 | 43 | if __name__ == "__main__": 44 | unittest.main() 45 | -------------------------------------------------------------------------------- /python-client/test/test_station_overview_fields.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | from deutschland.ladestationen.model.station_overview_fields import ( 16 | StationOverviewFields, 17 | ) 18 | 19 | from deutschland import ladestationen 20 | 21 | 22 | class TestStationOverviewFields(unittest.TestCase): 23 | """StationOverviewFields unit test stubs""" 24 | 25 | def setUp(self): 26 | pass 27 | 28 | def tearDown(self): 29 | pass 30 | 31 | def testStationOverviewFields(self): 32 | """Test StationOverviewFields""" 33 | # FIXME: construct object with mandatory attributes with example values 34 | # model = StationOverviewFields() # noqa: E501 35 | pass 36 | 37 | 38 | if __name__ == "__main__": 39 | unittest.main() 40 | -------------------------------------------------------------------------------- /python-client/test/test_station_overview_spatial_reference.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | from deutschland.ladestationen.model.station_overview_spatial_reference import ( 16 | StationOverviewSpatialReference, 17 | ) 18 | 19 | from deutschland import ladestationen 20 | 21 | 22 | class TestStationOverviewSpatialReference(unittest.TestCase): 23 | """StationOverviewSpatialReference unit test stubs""" 24 | 25 | def setUp(self): 26 | pass 27 | 28 | def tearDown(self): 29 | pass 30 | 31 | def testStationOverviewSpatialReference(self): 32 | """Test StationOverviewSpatialReference""" 33 | # FIXME: construct object with mandatory attributes with example values 34 | # model = StationOverviewSpatialReference() # noqa: E501 35 | pass 36 | 37 | 38 | if __name__ == "__main__": 39 | unittest.main() 40 | -------------------------------------------------------------------------------- /python-client/test/test_station_overview_transform.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | from deutschland.ladestationen.model.station_overview_transform import ( 16 | StationOverviewTransform, 17 | ) 18 | 19 | from deutschland import ladestationen 20 | 21 | 22 | class TestStationOverviewTransform(unittest.TestCase): 23 | """StationOverviewTransform unit test stubs""" 24 | 25 | def setUp(self): 26 | pass 27 | 28 | def tearDown(self): 29 | pass 30 | 31 | def testStationOverviewTransform(self): 32 | """Test StationOverviewTransform""" 33 | # FIXME: construct object with mandatory attributes with example values 34 | # model = StationOverviewTransform() # noqa: E501 35 | pass 36 | 37 | 38 | if __name__ == "__main__": 39 | unittest.main() 40 | -------------------------------------------------------------------------------- /python-client/test/test_station_overview_unique_id_field.py: -------------------------------------------------------------------------------- 1 | """ 2 | Bundesnetzagentur: Ladesäulenregister 3 | 4 | API des Ladesäulenregisters der Bundesnetzagentur # noqa: E501 5 | 6 | The version of the OpenAPI document: 1.0.0 7 | Contact: kontakt@bund.dev 8 | Generated by: https://openapi-generator.tech 9 | """ 10 | 11 | 12 | import sys 13 | import unittest 14 | 15 | from deutschland.ladestationen.model.station_overview_unique_id_field import ( 16 | StationOverviewUniqueIdField, 17 | ) 18 | 19 | from deutschland import ladestationen 20 | 21 | 22 | class TestStationOverviewUniqueIdField(unittest.TestCase): 23 | """StationOverviewUniqueIdField unit test stubs""" 24 | 25 | def setUp(self): 26 | pass 27 | 28 | def tearDown(self): 29 | pass 30 | 31 | def testStationOverviewUniqueIdField(self): 32 | """Test StationOverviewUniqueIdField""" 33 | # FIXME: construct object with mandatory attributes with example values 34 | # model = StationOverviewUniqueIdField() # noqa: E501 35 | pass 36 | 37 | 38 | if __name__ == "__main__": 39 | unittest.main() 40 | -------------------------------------------------------------------------------- /python-client/tox.ini: -------------------------------------------------------------------------------- 1 | [tox] 2 | envlist = py3 3 | 4 | [testenv] 5 | deps=-r{toxinidir}/requirements.txt 6 | -r{toxinidir}/test-requirements.txt 7 | 8 | commands= 9 | pytest --cov=ladestationen 10 | --------------------------------------------------------------------------------