├── .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 |
--------------------------------------------------------------------------------