odoo-driver 2.2.0__tar.gz → 2.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/PKG-INFO +51 -12
  2. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/README.md +50 -11
  3. odoo_driver-2.2.2/odoo_driver/i18n/fr/LC_MESSAGES/messages.mo +0 -0
  4. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/i18n/fr/LC_MESSAGES/messages.po +30 -22
  5. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/i18n/messages.pot +30 -22
  6. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/pyproject.toml +1 -1
  7. odoo_driver-2.2.0/odoo_driver/i18n/fr/LC_MESSAGES/messages.mo +0 -0
  8. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/__init__.py +0 -0
  9. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/app.py +0 -0
  10. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/cli.py +0 -0
  11. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/default_cert/server.crt +0 -0
  12. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/default_cert/server.key +0 -0
  13. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/drivers/__init__.py +0 -0
  14. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/drivers/driver_abstract.py +0 -0
  15. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/drivers/driver_abstract_with_queue.py +0 -0
  16. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/drivers/driver_task.py +0 -0
  17. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/i18n/babel.cfg +0 -0
  18. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/routes/__init__.py +0 -0
  19. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/routes/routes_odoo.py +0 -0
  20. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/routes/routes_website.py +0 -0
  21. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/static/css/bootstrap.min.css +0 -0
  22. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/static/css/odoo_driver.css +0 -0
  23. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/static/img/favicon.png +0 -0
  24. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/static/img/odoo.png +0 -0
  25. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/static/img/unknown_device.png +0 -0
  26. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/static/js/bootstrap.bundle.min.js +0 -0
  27. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/static/js/jquery.min.js +0 -0
  28. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/templates/application.html.jinja +0 -0
  29. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/templates/driver_disconnections.html.jinja +0 -0
  30. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/templates/driver_errored_tasks.html.jinja +0 -0
  31. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/templates/drivers.html.jinja +0 -0
  32. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/templates/layout.html.jinja +0 -0
  33. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/templates/system.html.jinja +0 -0
  34. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/templates/usb_core_devices.html.jinja +0 -0
  35. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/tools/__init__.py +0 -0
  36. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/tools/tools_interface.py +0 -0
  37. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/tools/tools_plugins.py +0 -0
  38. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/tools/tools_serial_code.py +0 -0
  39. {odoo_driver-2.2.0 → odoo_driver-2.2.2}/odoo_driver/tools/tools_usb_device.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: odoo-driver
3
- Version: 2.2.0
3
+ Version: 2.2.2
4
4
  Summary: Python library to communicates with devices used by Odoo.(Mainly Point of Sale application)Alternative to Iot Box Odoo solution or Pywebdriver community solution.
5
5
  License: AGPLv3+
6
6
  Keywords: Odoo,Point Of Sale,Driver,Device
@@ -59,8 +59,8 @@ once plugged, and communication can be done with the Odoo Point of Sale module.
59
59
  3. [Installation](#installation)
60
60
  4. [Compatible Plugins](#compatible-pugins)
61
61
  5. [How to Contribute](#how-to-contribute)
62
- 6. [Development](#development)
63
- 7. [Credits](#credits)
62
+ 6. [Credits](#credits)
63
+ 7. [Develop](#develop)
64
64
 
65
65
  <a name="run"></a>
66
66
 
@@ -237,12 +237,6 @@ sudo journalctl -fu odoo-driver.service
237
237
  a new project, named ``odoo-driver-plugin-FUNCTION-PROTOCOL``. you can take
238
238
  example on the existing projects.
239
239
 
240
- <a name="development"></a>
241
-
242
- ## Development
243
-
244
- See the dedicated section [in this document](https://gitlab.com/grap-rhone-alpes/odoo-driver/-/blob/main/DEVELOP.md).
245
-
246
240
  <a name="credits"></a>
247
241
 
248
242
  ## Credits
@@ -257,7 +251,7 @@ See the dedicated section [in this document](https://gitlab.com/grap-rhone-alpes
257
251
 
258
252
  ### Extra authorship
259
253
 
260
- Part of the code in this project comes from the following projects, including:
254
+ The following projects were useful and studied to realize this library:
261
255
 
262
256
  * [Pywebdriver](https://github.com/pywebdriver/pywebdriver) (AGPL-3.0). Main contributors are:
263
257
 
@@ -270,8 +264,6 @@ Part of the code in this project comes from the following projects, including:
270
264
  * Pierrick BRUN <https://akretion.com/>
271
265
  * Hugues DE KEYZER <https://coopiteasy.be/>
272
266
 
273
- The following projects were also useful and were studied to realize this library.
274
-
275
267
  * [Odoo](https://github.com/odoo/odoo) (AGPL-3.0 up to version 8.0, and then LGPL-3.0 from version 9.0 onwards), by Odoo SA, specially "hw_" modules.
276
268
 
277
269
  ### Images
@@ -280,3 +272,50 @@ The following projects were also useful and were studied to realize this library
280
272
 
281
273
  * [Unknown device icon](https://www.flaticon.com/fr/icone-gratuite/inconnu_5978016), by Freepik (Flaticon).
282
274
 
275
+ <a name="develop"></a>
276
+
277
+ ## Develop
278
+
279
+ ### Local Installation
280
+
281
+ To install the odoo-driver library and some plugins, you can refer to this documentation:
282
+
283
+ https://gitlab.com/grap-rhone-alpes/odoo-driver-env
284
+
285
+ ### Documentation
286
+
287
+ Ressources used to develop this tools:
288
+
289
+ **USB**
290
+
291
+ List of USB devices by code:
292
+
293
+ * https://linux-hardware.org/?id=usb:30c9-000f
294
+ * http://www.linux-usb.org/usb.ids
295
+
296
+ **Python Plugins**
297
+
298
+ * https://packaging.python.org/en/latest/guides/creating-and-discovering-plugins/
299
+
300
+ **poetry**
301
+
302
+ * https://python-poetry.org/docs/basic-usage/
303
+
304
+ **gevent**
305
+
306
+ * https://medium.com/@aniruddhasalve/secure-deployment-of-your-flask-app-with-https-using-gevent-wsgi-server-ef8c445ba6a6
307
+ * "Gevent - Permission Denied": https://stackoverflow.com/questions/24001147/python-bind-socket-error-errno-13-permission-denied
308
+ * "Gevent - Logging": https://stackoverflow.com/questions/7574813/how-to-use-logging-inside-gevent
309
+
310
+ **flask**
311
+
312
+ * https://flask.palletsprojects.com/en/2.3.x/patterns/favicon/
313
+
314
+ **Flask & Systemd**
315
+
316
+ * https://blog.miguelgrinberg.com/post/running-a-flask-application-as-a-service-with-systemd
317
+
318
+ **Hashing files in folder**
319
+
320
+ * https://stackoverflow.com/questions/24937495/how-can-i-calculate-a-hash-for-a-filesystem-directory-using-python
321
+
@@ -20,8 +20,8 @@ once plugged, and communication can be done with the Odoo Point of Sale module.
20
20
  3. [Installation](#installation)
21
21
  4. [Compatible Plugins](#compatible-pugins)
22
22
  5. [How to Contribute](#how-to-contribute)
23
- 6. [Development](#development)
24
- 7. [Credits](#credits)
23
+ 6. [Credits](#credits)
24
+ 7. [Develop](#develop)
25
25
 
26
26
  <a name="run"></a>
27
27
 
@@ -198,12 +198,6 @@ sudo journalctl -fu odoo-driver.service
198
198
  a new project, named ``odoo-driver-plugin-FUNCTION-PROTOCOL``. you can take
199
199
  example on the existing projects.
200
200
 
201
- <a name="development"></a>
202
-
203
- ## Development
204
-
205
- See the dedicated section [in this document](https://gitlab.com/grap-rhone-alpes/odoo-driver/-/blob/main/DEVELOP.md).
206
-
207
201
  <a name="credits"></a>
208
202
 
209
203
  ## Credits
@@ -218,7 +212,7 @@ See the dedicated section [in this document](https://gitlab.com/grap-rhone-alpes
218
212
 
219
213
  ### Extra authorship
220
214
 
221
- Part of the code in this project comes from the following projects, including:
215
+ The following projects were useful and studied to realize this library:
222
216
 
223
217
  * [Pywebdriver](https://github.com/pywebdriver/pywebdriver) (AGPL-3.0). Main contributors are:
224
218
 
@@ -231,8 +225,6 @@ Part of the code in this project comes from the following projects, including:
231
225
  * Pierrick BRUN <https://akretion.com/>
232
226
  * Hugues DE KEYZER <https://coopiteasy.be/>
233
227
 
234
- The following projects were also useful and were studied to realize this library.
235
-
236
228
  * [Odoo](https://github.com/odoo/odoo) (AGPL-3.0 up to version 8.0, and then LGPL-3.0 from version 9.0 onwards), by Odoo SA, specially "hw_" modules.
237
229
 
238
230
  ### Images
@@ -240,3 +232,50 @@ The following projects were also useful and were studied to realize this library
240
232
  * [Main Application icon](https://www.flaticon.com/fr/icones-gratuites/hub-usb), by AbtoCreative (Flaticon).
241
233
 
242
234
  * [Unknown device icon](https://www.flaticon.com/fr/icone-gratuite/inconnu_5978016), by Freepik (Flaticon).
235
+
236
+ <a name="develop"></a>
237
+
238
+ ## Develop
239
+
240
+ ### Local Installation
241
+
242
+ To install the odoo-driver library and some plugins, you can refer to this documentation:
243
+
244
+ https://gitlab.com/grap-rhone-alpes/odoo-driver-env
245
+
246
+ ### Documentation
247
+
248
+ Ressources used to develop this tools:
249
+
250
+ **USB**
251
+
252
+ List of USB devices by code:
253
+
254
+ * https://linux-hardware.org/?id=usb:30c9-000f
255
+ * http://www.linux-usb.org/usb.ids
256
+
257
+ **Python Plugins**
258
+
259
+ * https://packaging.python.org/en/latest/guides/creating-and-discovering-plugins/
260
+
261
+ **poetry**
262
+
263
+ * https://python-poetry.org/docs/basic-usage/
264
+
265
+ **gevent**
266
+
267
+ * https://medium.com/@aniruddhasalve/secure-deployment-of-your-flask-app-with-https-using-gevent-wsgi-server-ef8c445ba6a6
268
+ * "Gevent - Permission Denied": https://stackoverflow.com/questions/24001147/python-bind-socket-error-errno-13-permission-denied
269
+ * "Gevent - Logging": https://stackoverflow.com/questions/7574813/how-to-use-logging-inside-gevent
270
+
271
+ **flask**
272
+
273
+ * https://flask.palletsprojects.com/en/2.3.x/patterns/favicon/
274
+
275
+ **Flask & Systemd**
276
+
277
+ * https://blog.miguelgrinberg.com/post/running-a-flask-application-as-a-service-with-systemd
278
+
279
+ **Hashing files in folder**
280
+
281
+ * https://stackoverflow.com/questions/24937495/how-can-i-calculate-a-hash-for-a-filesystem-directory-using-python
@@ -7,7 +7,7 @@ msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: PROJECT VERSION\n"
9
9
  "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10
- "POT-Creation-Date: 2026-04-25 00:18+0200\n"
10
+ "POT-Creation-Date: 2026-05-06 14:45+0200\n"
11
11
  "PO-Revision-Date: 2024-08-14 22:35+0200\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language: fr\n"
@@ -16,61 +16,57 @@ msgstr ""
16
16
  "MIME-Version: 1.0\n"
17
17
  "Content-Type: text/plain; charset=utf-8\n"
18
18
  "Content-Transfer-Encoding: 8bit\n"
19
- "Generated-By: Babel 2.17.0\n"
19
+ "Generated-By: Babel 2.18.0\n"
20
20
 
21
21
  #: drivers/driver_abstract.py:61
22
22
  msgid "Unknown"
23
23
  msgstr "Inconnu"
24
24
 
25
- #: routes/routes_website.py:66
26
- msgid "Version"
27
- msgstr "Version"
28
-
29
- #: routes/routes_website.py:67
25
+ #: routes/routes_website.py:69
30
26
  msgid "Start datetime"
31
27
  msgstr "Date de démarrage de l'application"
32
28
 
33
- #: routes/routes_website.py:76
29
+ #: routes/routes_website.py:89
34
30
  msgid "Operating System"
35
31
  msgstr "Système d'exploitation"
36
32
 
37
- #: routes/routes_website.py:77
33
+ #: routes/routes_website.py:90
38
34
  msgid "Kernel Release"
39
35
  msgstr "Version du noyau"
40
36
 
41
- #: routes/routes_website.py:78
37
+ #: routes/routes_website.py:91
42
38
  msgid "Operating System Version"
43
39
  msgstr "Version du système d'exploitation"
44
40
 
45
- #: routes/routes_website.py:79
41
+ #: routes/routes_website.py:92
46
42
  msgid "Architecture"
47
43
  msgstr "Architecture"
48
44
 
49
- #: routes/routes_website.py:80
45
+ #: routes/routes_website.py:93
50
46
  msgid "Processors Type"
51
47
  msgstr "Type de processeurs"
52
48
 
53
- #: routes/routes_website.py:82
49
+ #: routes/routes_website.py:95
54
50
  msgid "Processors Quantity"
55
51
  msgstr "Nombre de processeurs"
56
52
 
57
- #: routes/routes_website.py:86
53
+ #: routes/routes_website.py:99
58
54
  msgid "Processors Frequency"
59
55
  msgstr "Fréquence des processeurs"
60
56
 
61
- #: routes/routes_website.py:90
57
+ #: routes/routes_website.py:103
62
58
  msgid "Processors Load"
63
59
  msgstr "Charge des processeurs"
64
60
 
65
- #: routes/routes_website.py:94
61
+ #: routes/routes_website.py:107
66
62
  msgid "Total Memory"
67
63
  msgstr "Mémoire Totale"
68
64
 
69
- #: routes/routes_website.py:97
65
+ #: routes/routes_website.py:110
70
66
  msgid "Memory Usage"
71
67
  msgstr "Charge de la mémoire"
72
68
 
73
- #: routes/routes_website.py:98
69
+ #: routes/routes_website.py:111
74
70
  msgid "Python Version"
75
71
  msgstr "Version de Python"
76
72
 
@@ -82,6 +78,18 @@ msgstr "Nom"
82
78
  msgid "Value"
83
79
  msgstr "Valeur"
84
80
 
81
+ #: templates/application.html.jinja:23
82
+ msgid "Package Name"
83
+ msgstr "Nom de l'application"
84
+
85
+ #: templates/application.html.jinja:24
86
+ msgid "Version"
87
+ msgstr "Version"
88
+
89
+ #: templates/application.html.jinja:25
90
+ msgid "Hash (MD5)"
91
+ msgstr "Hash (MD5)"
92
+
85
93
  #: templates/driver_disconnections.html.jinja:5 templates/drivers.html.jinja:38
86
94
  msgid "Disconnections"
87
95
  msgstr "Déconnections"
@@ -131,19 +139,19 @@ msgstr "Tâches en cours"
131
139
  msgid "Errors"
132
140
  msgstr "Erreurs"
133
141
 
134
- #: templates/drivers.html.jinja:56
142
+ #: templates/drivers.html.jinja:61
135
143
  msgid "Plugin Name:"
136
144
  msgstr "Nom du plugin :"
137
145
 
138
- #: templates/drivers.html.jinja:61
146
+ #: templates/drivers.html.jinja:67
139
147
  msgid "Manufacturer:"
140
148
  msgstr "Fabricant :"
141
149
 
142
- #: templates/drivers.html.jinja:65
150
+ #: templates/drivers.html.jinja:74
143
151
  msgid "S/N:"
144
152
  msgstr "N/S :"
145
153
 
146
- #: templates/drivers.html.jinja:73
154
+ #: templates/drivers.html.jinja:83
147
155
  msgid "Test Page"
148
156
  msgstr "Page de test"
149
157
 
@@ -8,68 +8,64 @@ msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: PROJECT VERSION\n"
10
10
  "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
11
- "POT-Creation-Date: 2026-04-25 00:18+0200\n"
11
+ "POT-Creation-Date: 2026-05-06 14:45+0200\n"
12
12
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
15
  "MIME-Version: 1.0\n"
16
16
  "Content-Type: text/plain; charset=utf-8\n"
17
17
  "Content-Transfer-Encoding: 8bit\n"
18
- "Generated-By: Babel 2.17.0\n"
18
+ "Generated-By: Babel 2.18.0\n"
19
19
 
20
20
  #: drivers/driver_abstract.py:61
21
21
  msgid "Unknown"
22
22
  msgstr ""
23
23
 
24
- #: routes/routes_website.py:66
25
- msgid "Version"
26
- msgstr ""
27
-
28
- #: routes/routes_website.py:67
24
+ #: routes/routes_website.py:69
29
25
  msgid "Start datetime"
30
26
  msgstr ""
31
27
 
32
- #: routes/routes_website.py:76
28
+ #: routes/routes_website.py:89
33
29
  msgid "Operating System"
34
30
  msgstr ""
35
31
 
36
- #: routes/routes_website.py:77
32
+ #: routes/routes_website.py:90
37
33
  msgid "Kernel Release"
38
34
  msgstr ""
39
35
 
40
- #: routes/routes_website.py:78
36
+ #: routes/routes_website.py:91
41
37
  msgid "Operating System Version"
42
38
  msgstr ""
43
39
 
44
- #: routes/routes_website.py:79
40
+ #: routes/routes_website.py:92
45
41
  msgid "Architecture"
46
42
  msgstr ""
47
43
 
48
- #: routes/routes_website.py:80
44
+ #: routes/routes_website.py:93
49
45
  msgid "Processors Type"
50
46
  msgstr ""
51
47
 
52
- #: routes/routes_website.py:82
48
+ #: routes/routes_website.py:95
53
49
  msgid "Processors Quantity"
54
50
  msgstr ""
55
51
 
56
- #: routes/routes_website.py:86
52
+ #: routes/routes_website.py:99
57
53
  msgid "Processors Frequency"
58
54
  msgstr ""
59
55
 
60
- #: routes/routes_website.py:90
56
+ #: routes/routes_website.py:103
61
57
  msgid "Processors Load"
62
58
  msgstr ""
63
59
 
64
- #: routes/routes_website.py:94
60
+ #: routes/routes_website.py:107
65
61
  msgid "Total Memory"
66
62
  msgstr ""
67
63
 
68
- #: routes/routes_website.py:97
64
+ #: routes/routes_website.py:110
69
65
  msgid "Memory Usage"
70
66
  msgstr ""
71
67
 
72
- #: routes/routes_website.py:98
68
+ #: routes/routes_website.py:111
73
69
  msgid "Python Version"
74
70
  msgstr ""
75
71
 
@@ -81,6 +77,18 @@ msgstr ""
81
77
  msgid "Value"
82
78
  msgstr ""
83
79
 
80
+ #: templates/application.html.jinja:23
81
+ msgid "Package Name"
82
+ msgstr ""
83
+
84
+ #: templates/application.html.jinja:24
85
+ msgid "Version"
86
+ msgstr ""
87
+
88
+ #: templates/application.html.jinja:25
89
+ msgid "Hash (MD5)"
90
+ msgstr ""
91
+
84
92
  #: templates/driver_disconnections.html.jinja:5 templates/drivers.html.jinja:38
85
93
  msgid "Disconnections"
86
94
  msgstr ""
@@ -130,19 +138,19 @@ msgstr ""
130
138
  msgid "Errors"
131
139
  msgstr ""
132
140
 
133
- #: templates/drivers.html.jinja:56
141
+ #: templates/drivers.html.jinja:61
134
142
  msgid "Plugin Name:"
135
143
  msgstr ""
136
144
 
137
- #: templates/drivers.html.jinja:61
145
+ #: templates/drivers.html.jinja:67
138
146
  msgid "Manufacturer:"
139
147
  msgstr ""
140
148
 
141
- #: templates/drivers.html.jinja:65
149
+ #: templates/drivers.html.jinja:74
142
150
  msgid "S/N:"
143
151
  msgstr ""
144
152
 
145
- #: templates/drivers.html.jinja:73
153
+ #: templates/drivers.html.jinja:83
146
154
  msgid "Test Page"
147
155
  msgstr ""
148
156
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "odoo-driver"
3
- version = "2.2.0"
3
+ version = "2.2.2"
4
4
  description = """
5
5
  Python library to communicates with devices used by Odoo.\
6
6
  (Mainly Point of Sale application)\