Odooly 2.6.0__tar.gz → 2.6.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 (29) hide show
  1. {odooly-2.6.0 → odooly-2.6.2}/CHANGES.rst +12 -0
  2. {odooly-2.6.0 → odooly-2.6.2/Odooly.egg-info}/PKG-INFO +6 -71
  3. {odooly-2.6.0/Odooly.egg-info → odooly-2.6.2}/PKG-INFO +6 -71
  4. {odooly-2.6.0 → odooly-2.6.2}/README.rst +5 -70
  5. {odooly-2.6.0 → odooly-2.6.2}/docs/api.rst +2 -2
  6. {odooly-2.6.0 → odooly-2.6.2}/docs/index.rst +2 -2
  7. {odooly-2.6.0 → odooly-2.6.2}/docs/intro.rst +2 -2
  8. {odooly-2.6.0 → odooly-2.6.2}/docs/tutorial.rst +1 -3
  9. {odooly-2.6.0 → odooly-2.6.2}/odooly.py +4 -4
  10. {odooly-2.6.0 → odooly-2.6.2}/odooly_run.py +2 -1
  11. {odooly-2.6.0 → odooly-2.6.2}/LICENSE +0 -0
  12. {odooly-2.6.0 → odooly-2.6.2}/MANIFEST.in +0 -0
  13. {odooly-2.6.0 → odooly-2.6.2}/Odooly.egg-info/SOURCES.txt +0 -0
  14. {odooly-2.6.0 → odooly-2.6.2}/Odooly.egg-info/dependency_links.txt +0 -0
  15. {odooly-2.6.0 → odooly-2.6.2}/Odooly.egg-info/entry_points.txt +0 -0
  16. {odooly-2.6.0 → odooly-2.6.2}/Odooly.egg-info/top_level.txt +0 -0
  17. {odooly-2.6.0 → odooly-2.6.2}/docs/Makefile +0 -0
  18. {odooly-2.6.0 → odooly-2.6.2}/docs/conf.py +0 -0
  19. {odooly-2.6.0 → odooly-2.6.2}/docs/developer.rst +0 -0
  20. {odooly-2.6.0 → odooly-2.6.2}/docs/make.bat +0 -0
  21. {odooly-2.6.0 → odooly-2.6.2}/odooly.ini +0 -0
  22. {odooly-2.6.0 → odooly-2.6.2}/setup.cfg +0 -0
  23. {odooly-2.6.0 → odooly-2.6.2}/setup.py +0 -0
  24. {odooly-2.6.0 → odooly-2.6.2}/tests/__init__.py +0 -0
  25. {odooly-2.6.0 → odooly-2.6.2}/tests/_common.py +0 -0
  26. {odooly-2.6.0 → odooly-2.6.2}/tests/test_client.py +0 -0
  27. {odooly-2.6.0 → odooly-2.6.2}/tests/test_interact.py +0 -0
  28. {odooly-2.6.0 → odooly-2.6.2}/tests/test_model.py +0 -0
  29. {odooly-2.6.0 → odooly-2.6.2}/tests/test_util.py +0 -0
@@ -2,6 +2,18 @@ Changelog
2
2
  ---------
3
3
 
4
4
 
5
+ 2.6.2 (2026-03-17)
6
+ ~~~~~~~~~~~~~~~~~~
7
+
8
+ * Fix command-line parsing.
9
+
10
+
11
+ 2.6.1 (2026-03-17)
12
+ ~~~~~~~~~~~~~~~~~~
13
+
14
+ * Fix invocation like ``odooly https://demo.odoo.com``.
15
+
16
+
5
17
  2.6.0 (2026-03-17)
6
18
  ~~~~~~~~~~~~~~~~~~
7
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Odooly
3
- Version: 2.6.0
3
+ Version: 2.6.2
4
4
  Summary: Versatile tool for Odoo
5
5
  Home-page: http://odooly.readthedocs.org/
6
6
  Author: Florent Xicluna
@@ -75,31 +75,28 @@ Interactive use
75
75
 
76
76
  Launch without any configuration. It connects to the Odoo server, local or remote::
77
77
 
78
- ~$ odooly --server https://demo.odoo.com/
78
+ ~$ odooly https://demo.odoo.com/
79
79
 
80
80
  Or::
81
81
 
82
- ~$ odooly --server http://127.0.0.1:8069/
82
+ ~$ odooly http://127.0.0.1:8069/
83
83
 
84
84
 
85
85
  Environments can also be declared in ``odooly.ini``::
86
86
 
87
87
  [DEFAULT]
88
- scheme = http
89
- host = localhost
90
- port = 8069
91
88
  database = odoo
92
89
  username = admin
93
90
 
94
91
  [demo]
92
+ server = http://localhost:8069/web
95
93
  username = demo
96
94
  password = demo
97
- protocol = web
98
95
 
99
- [demo_jsonrpc]
96
+ [demo/jsonrpc]
97
+ server = http://localhost:8069/jsonrpc
100
98
  username = demo
101
99
  password = demo
102
- protocol = jsonrpc
103
100
 
104
101
  [local]
105
102
  scheme = local
@@ -160,65 +157,3 @@ This is a sample session::
160
157
  create an empty file in your home directory::
161
158
 
162
159
  ~$ touch ~/.odooly_history
163
-
164
-
165
-
166
- .. _command-line:
167
-
168
- Command line arguments
169
- ----------------------
170
-
171
- There are few arguments to query Odoo models from the command line.
172
- Although it is quite limited::
173
-
174
- ~$ odooly --help
175
-
176
- Usage: odooly.py [options] [search_term_or_id [search_term_or_id ...]]
177
-
178
- Inspect data on Odoo objects. Use interactively or query a model (-m) and
179
- pass search terms or ids as positional parameters after the options.
180
-
181
- Options:
182
- --version show program's version number and exit
183
- -h, --help show this help message and exit
184
- -l, --list list sections of the configuration
185
- --env=ENV read connection settings from the given section
186
- -c CONFIG, --config=CONFIG
187
- specify alternate config file (default: 'odooly.ini')
188
- --server=SERVER full URL of the server (default:
189
- http://localhost:8069/web)
190
- -d DB, --db=DB database
191
- -u USER, --user=USER username
192
- -p PASSWORD, --password=PASSWORD
193
- password, or it will be requested on login
194
- --api-key=API_KEY API Key for JSON-2 or JSON-RPC
195
-
196
- -m MODEL, --model=MODEL
197
- the type of object to find
198
- -f FIELDS, --fields=FIELDS
199
- restrict the output to certain fields (multiple
200
- allowed)
201
- -i, --interact use interactively; default when no model is queried
202
- -v, --verbose verbose
203
- $ #
204
-
205
-
206
- Example::
207
-
208
- $ odooly -d demo -m res.partner -f name -f lang 1
209
- "name","lang"
210
- "Your Company","en_US"
211
-
212
- ::
213
-
214
- $ odooly -d demo -m res.groups -f full_name 'id > 0'
215
- "full_name"
216
- "Administration / Access Rights"
217
- "Administration / Configuration"
218
- "Human Resources / Employee"
219
- "Usability / Multi Companies"
220
- "Usability / Extended View"
221
- "Usability / Technical Features"
222
- "Sales Management / User"
223
- "Sales Management / Manager"
224
- "Partner Manager"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Odooly
3
- Version: 2.6.0
3
+ Version: 2.6.2
4
4
  Summary: Versatile tool for Odoo
5
5
  Home-page: http://odooly.readthedocs.org/
6
6
  Author: Florent Xicluna
@@ -75,31 +75,28 @@ Interactive use
75
75
 
76
76
  Launch without any configuration. It connects to the Odoo server, local or remote::
77
77
 
78
- ~$ odooly --server https://demo.odoo.com/
78
+ ~$ odooly https://demo.odoo.com/
79
79
 
80
80
  Or::
81
81
 
82
- ~$ odooly --server http://127.0.0.1:8069/
82
+ ~$ odooly http://127.0.0.1:8069/
83
83
 
84
84
 
85
85
  Environments can also be declared in ``odooly.ini``::
86
86
 
87
87
  [DEFAULT]
88
- scheme = http
89
- host = localhost
90
- port = 8069
91
88
  database = odoo
92
89
  username = admin
93
90
 
94
91
  [demo]
92
+ server = http://localhost:8069/web
95
93
  username = demo
96
94
  password = demo
97
- protocol = web
98
95
 
99
- [demo_jsonrpc]
96
+ [demo/jsonrpc]
97
+ server = http://localhost:8069/jsonrpc
100
98
  username = demo
101
99
  password = demo
102
- protocol = jsonrpc
103
100
 
104
101
  [local]
105
102
  scheme = local
@@ -160,65 +157,3 @@ This is a sample session::
160
157
  create an empty file in your home directory::
161
158
 
162
159
  ~$ touch ~/.odooly_history
163
-
164
-
165
-
166
- .. _command-line:
167
-
168
- Command line arguments
169
- ----------------------
170
-
171
- There are few arguments to query Odoo models from the command line.
172
- Although it is quite limited::
173
-
174
- ~$ odooly --help
175
-
176
- Usage: odooly.py [options] [search_term_or_id [search_term_or_id ...]]
177
-
178
- Inspect data on Odoo objects. Use interactively or query a model (-m) and
179
- pass search terms or ids as positional parameters after the options.
180
-
181
- Options:
182
- --version show program's version number and exit
183
- -h, --help show this help message and exit
184
- -l, --list list sections of the configuration
185
- --env=ENV read connection settings from the given section
186
- -c CONFIG, --config=CONFIG
187
- specify alternate config file (default: 'odooly.ini')
188
- --server=SERVER full URL of the server (default:
189
- http://localhost:8069/web)
190
- -d DB, --db=DB database
191
- -u USER, --user=USER username
192
- -p PASSWORD, --password=PASSWORD
193
- password, or it will be requested on login
194
- --api-key=API_KEY API Key for JSON-2 or JSON-RPC
195
-
196
- -m MODEL, --model=MODEL
197
- the type of object to find
198
- -f FIELDS, --fields=FIELDS
199
- restrict the output to certain fields (multiple
200
- allowed)
201
- -i, --interact use interactively; default when no model is queried
202
- -v, --verbose verbose
203
- $ #
204
-
205
-
206
- Example::
207
-
208
- $ odooly -d demo -m res.partner -f name -f lang 1
209
- "name","lang"
210
- "Your Company","en_US"
211
-
212
- ::
213
-
214
- $ odooly -d demo -m res.groups -f full_name 'id > 0'
215
- "full_name"
216
- "Administration / Access Rights"
217
- "Administration / Configuration"
218
- "Human Resources / Employee"
219
- "Usability / Multi Companies"
220
- "Usability / Extended View"
221
- "Usability / Technical Features"
222
- "Sales Management / User"
223
- "Sales Management / Manager"
224
- "Partner Manager"
@@ -46,31 +46,28 @@ Interactive use
46
46
 
47
47
  Launch without any configuration. It connects to the Odoo server, local or remote::
48
48
 
49
- ~$ odooly --server https://demo.odoo.com/
49
+ ~$ odooly https://demo.odoo.com/
50
50
 
51
51
  Or::
52
52
 
53
- ~$ odooly --server http://127.0.0.1:8069/
53
+ ~$ odooly http://127.0.0.1:8069/
54
54
 
55
55
 
56
56
  Environments can also be declared in ``odooly.ini``::
57
57
 
58
58
  [DEFAULT]
59
- scheme = http
60
- host = localhost
61
- port = 8069
62
59
  database = odoo
63
60
  username = admin
64
61
 
65
62
  [demo]
63
+ server = http://localhost:8069/web
66
64
  username = demo
67
65
  password = demo
68
- protocol = web
69
66
 
70
- [demo_jsonrpc]
67
+ [demo/jsonrpc]
68
+ server = http://localhost:8069/jsonrpc
71
69
  username = demo
72
70
  password = demo
73
- protocol = jsonrpc
74
71
 
75
72
  [local]
76
73
  scheme = local
@@ -131,65 +128,3 @@ This is a sample session::
131
128
  create an empty file in your home directory::
132
129
 
133
130
  ~$ touch ~/.odooly_history
134
-
135
-
136
-
137
- .. _command-line:
138
-
139
- Command line arguments
140
- ----------------------
141
-
142
- There are few arguments to query Odoo models from the command line.
143
- Although it is quite limited::
144
-
145
- ~$ odooly --help
146
-
147
- Usage: odooly.py [options] [search_term_or_id [search_term_or_id ...]]
148
-
149
- Inspect data on Odoo objects. Use interactively or query a model (-m) and
150
- pass search terms or ids as positional parameters after the options.
151
-
152
- Options:
153
- --version show program's version number and exit
154
- -h, --help show this help message and exit
155
- -l, --list list sections of the configuration
156
- --env=ENV read connection settings from the given section
157
- -c CONFIG, --config=CONFIG
158
- specify alternate config file (default: 'odooly.ini')
159
- --server=SERVER full URL of the server (default:
160
- http://localhost:8069/web)
161
- -d DB, --db=DB database
162
- -u USER, --user=USER username
163
- -p PASSWORD, --password=PASSWORD
164
- password, or it will be requested on login
165
- --api-key=API_KEY API Key for JSON-2 or JSON-RPC
166
-
167
- -m MODEL, --model=MODEL
168
- the type of object to find
169
- -f FIELDS, --fields=FIELDS
170
- restrict the output to certain fields (multiple
171
- allowed)
172
- -i, --interact use interactively; default when no model is queried
173
- -v, --verbose verbose
174
- $ #
175
-
176
-
177
- Example::
178
-
179
- $ odooly -d demo -m res.partner -f name -f lang 1
180
- "name","lang"
181
- "Your Company","en_US"
182
-
183
- ::
184
-
185
- $ odooly -d demo -m res.groups -f full_name 'id > 0'
186
- "full_name"
187
- "Administration / Access Rights"
188
- "Administration / Configuration"
189
- "Human Resources / Employee"
190
- "Usability / Multi Companies"
191
- "Usability / Extended View"
192
- "Usability / Technical Features"
193
- "Sales Management / User"
194
- "Sales Management / Manager"
195
- "Partner Manager"
@@ -198,7 +198,7 @@ Environment
198
198
  Advanced methods
199
199
  ~~~~~~~~~~~~~~~~
200
200
 
201
- Those methods give more control on the Odoo objects: workflows and reports.
201
+ Those methods give more control on the Odoo objects.
202
202
  Please refer to `the Odoo documentation`_ for details.
203
203
 
204
204
 
@@ -238,7 +238,7 @@ Python script or interactively in a Python session.
238
238
  It is not recommended to install or upgrade modules in offline mode when
239
239
  any web server is still running: the operation will not be signaled to
240
240
  other processes. This restriction does not apply when connected through
241
- Webclient API or other RPC API.
241
+ Webclient API or JSON-RPC API.
242
242
 
243
243
 
244
244
  .. _model-and-records:
@@ -19,8 +19,8 @@ and an encapsulation of the methods on :ref:`Active Record objects
19
19
  Additional helpers are provided to explore the model and administrate the
20
20
  server remotely.
21
21
 
22
- The :doc:`intro` describes how to use it as a :ref:`command line tool
23
- <command-line>` or within an :ref:`interactive shell <interactive-mode>`.
22
+ The :doc:`intro` describes how to use it within a Python
23
+ :ref:`interactive shell <interactive-mode>`.
24
24
 
25
25
  The :doc:`tutorial` gives an in-depth look at the capabilities.
26
26
 
@@ -3,8 +3,8 @@
3
3
  Introduction
4
4
  ============
5
5
 
6
- This section gives the bare minimum to use Odooly as a :ref:`command line
7
- tool <command-line>` or within an :ref:`interactive shell <interactive-mode>`.
6
+ This section gives the bare minimum to use Odooly within a Python
7
+ :ref:`interactive shell <interactive-mode>`.
8
8
 
9
9
  Installation
10
10
  ------------
@@ -122,10 +122,8 @@ Default password is ``"admin"``.
122
122
  Create an ``odooly.ini`` file in the current directory to declare all our
123
123
  environments. Example::
124
124
 
125
- [DEFAULT]
126
- server = http://localhost:8069/web
127
-
128
125
  [demo]
126
+ server = http://localhost:8069/web
129
127
  database = demo
130
128
  username = joe
131
129
 
@@ -28,7 +28,7 @@ try:
28
28
  except ImportError:
29
29
  requests = None
30
30
 
31
- __version__ = '2.6.0'
31
+ __version__ = '2.6.2'
32
32
  __all__ = ['Client', 'Env', 'HTTPSession', 'WebAPI', 'Service', 'Json2',
33
33
  'Printer', 'Error', 'ServerError',
34
34
  'BaseModel', 'Model', 'BaseRecord', 'Record', 'RecordList',
@@ -1134,7 +1134,7 @@ class Env:
1134
1134
  qlist = []
1135
1135
  for query in queries.split(";"):
1136
1136
  if any(li.split('--', 1)[0].strip() for li in query.splitlines()):
1137
- qlist.append(query)
1137
+ qlist.append(query.strip())
1138
1138
  if not qlist:
1139
1139
  return None
1140
1140
 
@@ -2440,7 +2440,7 @@ def get_parser():
2440
2440
  '--env',
2441
2441
  help='read connection settings from the given section')
2442
2442
  parser.add_argument(
2443
- '-c', '--config', default=CONF_FILE,
2443
+ '-c', '--config', default=None,
2444
2444
  help=f'specify alternate config file (default: {CONF_FILE})')
2445
2445
  parser.add_argument(
2446
2446
  '--server', default=None,
@@ -2478,7 +2478,7 @@ def connect_client(args):
2478
2478
  def main(interact=_interact):
2479
2479
  args = get_parser().parse_args()
2480
2480
 
2481
- Client._config_file = Path.cwd() / args.config
2481
+ Client._config_file = Path.cwd() / (args.config or CONF_FILE)
2482
2482
  if args.list_env:
2483
2483
  print('Available settings: ' + ' '.join(read_config()))
2484
2484
  return
@@ -112,7 +112,8 @@ def patch_colors(module):
112
112
  def main():
113
113
  args = odooly.get_parser().parse_args()
114
114
 
115
- odooly.Client._config_file = pathlib.Path.cwd() / args.config
115
+ if args.config:
116
+ odooly.Client._config_file = odooly.Path.cwd() / args.config
116
117
  if args.list_env:
117
118
  print('Available settings: ' + ' '.join(odooly.read_config()))
118
119
  return
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes