You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+52-9Lines changed: 52 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -134,16 +134,59 @@ module is set to demjson3 per default. The backend can be modified by calling
134
134
135
135
### OData Code Generation
136
136
137
-
Optionally, you can generate Python source code for the OData data model exposed by a FROST-Server (if the OData plugin is enabled).
137
+
Since version 2.0.0 this client supports general OData models hosted by FROST servers with active OData plugin.
138
138
139
-
- The generator tries ODATA_4.01 first, then ODATA_4.0 ($metadata).
140
-
- If no OData endpoint is available, the generator falls back to the provided metadata.xml (default data model) and generates code from it.
141
-
142
-
Usage:
139
+
For this purpose the client provides a command line interface for generating a python module containing the URL of the FROST server in use as well as source code for the Python classes corresponding to the data model contained in it. It is called like this:
The generator tries the OData 4.01 endpoint of the FROST server in use first and falls back to the OData 4.0 if the other one is not available.
144
+
145
+
In order to use the custom data model it needs to be imported in the source code. The corresponding service needs to be created with paramter `model` instead of `url`. In fact, the following two programs are equivalent:
146
+
```
147
+
import frost_sta_client as fsc
148
+
import .my_datamodel as my_model
149
+
150
+
service = fsc.SensorThingsService(model=my_model)
151
+
152
+
my_entity = my_model.MyEntityClass(...)
153
+
service.create(my_entity)
154
+
```
155
+
156
+
For backward compatibility, a client for a FROST server containing the SensorThings data model can be used as in previous versions of this client. In fact, the following two programs are equivalent in this case:
- The generated code is not used automatically; import and use it as needed.
149
-
- This feature is backward-compatible. If you wish to replace the hand-written model with generated code, point --out to frost_sta_client/model and adapt imports accordingly.
192
+
However, variant II also works for data models different from SensorThings.
0 commit comments