cli-dolibarr 3.7.2__tar.gz → 3.7.3__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.
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/PKG-INFO +1 -1
- cli_dolibarr-3.7.3/cli_dolibarr/dolibarr/__init__.py +1 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/config.py +119 -47
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr.egg-info/PKG-INFO +1 -1
- cli_dolibarr-3.7.2/cli_dolibarr/dolibarr/__init__.py +0 -1
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/LICENSE +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/README.md +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/README.md +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/__init__.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/_template.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/accountancy.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/agendaevents.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/apibridge.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/bankaccounts.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/boms.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/categories.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/contacts.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/contracts.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/delivery.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/documents.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/donations.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/expensereports.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/interventions.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/invoices.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/knowledge.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/login.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/member_types.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/members.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/mobilehub.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/mobilehubapi.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/mos.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/multicurrencies.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/orderprocessor.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/orders.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/partnerships.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/pdfa.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/productplus.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/products.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/projects.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/proposals.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/quickprint.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/receptions.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/recruitments.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/salaries.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/schema.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/setup.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/shipments.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/status.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/stock.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/stockmodule.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/stockmovements.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/subscriptions.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/supplier_invoices.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/supplier_orders.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/supplier_proposals.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/supplierinvoices.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/supplierorders.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/supplierproposals.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/system.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/tasks.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/thirdparties.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/tickets.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/users.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/warehouses.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/webhook.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/workstations.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/zapier.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/core/__init__.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/core/client.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/core/config.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/core/output.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/core/schema_agents.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/core/schema_generator.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/core/schema_manager.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/core/session_client.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/dolibarr_cli.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/extrafields_cache.json +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/hermes_plugin/__init__.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/models_supplement.json +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/schema.json +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/tests/__init__.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/tests/test_core.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/tests/test_enrich.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/tests/test_full_e2e.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/tests/test_tools.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/tools/__init__.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/tools/executor.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/tools/tools_schema.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/utils/__init__.py +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr.egg-info/SOURCES.txt +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr.egg-info/dependency_links.txt +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr.egg-info/entry_points.txt +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr.egg-info/requires.txt +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr.egg-info/top_level.txt +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/pyproject.toml +0 -0
- {cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/setup.cfg +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "3.7.3"
|
|
@@ -185,7 +185,7 @@ def _install_hermes_plugin(url: str, api_key: str):
|
|
|
185
185
|
|
|
186
186
|
|
|
187
187
|
def _configure_hermes_toolsets(hermes_dir: Path):
|
|
188
|
-
"""Add dolibarr to delegation.default_toolsets in Hermes config.yaml."""
|
|
188
|
+
"""Add dolibarr to toolsets and delegation.default_toolsets in Hermes config.yaml."""
|
|
189
189
|
config_yaml = hermes_dir / 'config.yaml'
|
|
190
190
|
if not config_yaml.exists():
|
|
191
191
|
click.echo(" No Hermes config.yaml found, skipping toolset config.")
|
|
@@ -193,66 +193,138 @@ def _configure_hermes_toolsets(hermes_dir: Path):
|
|
|
193
193
|
|
|
194
194
|
lines = config_yaml.read_text().splitlines()
|
|
195
195
|
|
|
196
|
-
#
|
|
197
|
-
|
|
198
|
-
|
|
196
|
+
# --- 1. Top-level toolsets (controls main agent toolset loading) ---
|
|
197
|
+
ts_added = _add_to_yaml_list_block(lines, 'toolsets:', 0, 'dolibarr')
|
|
198
|
+
|
|
199
|
+
# --- 2. delegation.default_toolsets (controls sub-agent toolsets) ---
|
|
200
|
+
dt_added = _add_to_yaml_nested_list(
|
|
201
|
+
lines, 'delegation:', 'default_toolsets:', 'dolibarr',
|
|
202
|
+
fallback_items=['- terminal', '- file', '- web', '- dolibarr'],
|
|
203
|
+
)
|
|
204
|
+
|
|
205
|
+
if ts_added or dt_added:
|
|
206
|
+
config_yaml.write_text('\n'.join(lines) + '\n')
|
|
207
|
+
else:
|
|
208
|
+
click.echo(" dolibarr already in toolsets (ok)")
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
def _add_to_yaml_list_block(lines: list, block_key: str, min_indent: int,
|
|
212
|
+
item: str) -> bool:
|
|
213
|
+
"""Add '- item' to a top-level YAML list block like 'toolsets:'.
|
|
214
|
+
|
|
215
|
+
Returns True if modified, False if already present or not found.
|
|
216
|
+
"""
|
|
217
|
+
block_idx = None
|
|
218
|
+
block_indent = None
|
|
219
|
+
for i, line in enumerate(lines):
|
|
220
|
+
s = line.rstrip('\n')
|
|
221
|
+
indent = len(s) - len(s.lstrip())
|
|
222
|
+
if s.strip() == block_key and indent >= min_indent:
|
|
223
|
+
block_idx = i
|
|
224
|
+
block_indent = indent
|
|
225
|
+
break
|
|
226
|
+
|
|
227
|
+
if block_idx is None:
|
|
228
|
+
return False
|
|
229
|
+
|
|
230
|
+
target = f'- {item}'
|
|
231
|
+
|
|
232
|
+
# Scan block for existing item
|
|
233
|
+
for i in range(block_idx + 1, len(lines)):
|
|
234
|
+
s = lines[i].rstrip('\n')
|
|
235
|
+
lead = len(s) - len(s.lstrip())
|
|
236
|
+
if lead <= block_indent and s.strip():
|
|
237
|
+
break
|
|
238
|
+
if s.strip() == target:
|
|
239
|
+
return False # already present
|
|
240
|
+
|
|
241
|
+
# Find last list item in block
|
|
242
|
+
last_item = block_idx
|
|
243
|
+
for i in range(block_idx + 1, len(lines)):
|
|
244
|
+
s = lines[i].rstrip('\n')
|
|
245
|
+
lead = len(s) - len(s.lstrip())
|
|
246
|
+
if lead <= block_indent and s.strip():
|
|
247
|
+
break
|
|
248
|
+
if s.strip().startswith('- '):
|
|
249
|
+
last_item = i
|
|
250
|
+
|
|
251
|
+
new_line = (' ' * (block_indent + 2)) + target
|
|
252
|
+
lines.insert(last_item + 1, new_line)
|
|
253
|
+
click.echo(f" ✅ Added {item} to {block_key}")
|
|
254
|
+
return True
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
def _add_to_yaml_nested_list(lines: list, parent_key: str, child_key: str,
|
|
258
|
+
item: str, fallback_items: list = None) -> bool:
|
|
259
|
+
"""Add '- item' to a nested YAML list like delegation.default_toolsets.
|
|
260
|
+
|
|
261
|
+
If child block doesn't exist but parent does, insert the full block
|
|
262
|
+
using fallback_items. Returns True if modified.
|
|
263
|
+
"""
|
|
264
|
+
target = f'- {item}'
|
|
265
|
+
|
|
266
|
+
# Find parent (e.g. 'delegation:')
|
|
267
|
+
parent_idx = None
|
|
199
268
|
for i, line in enumerate(lines):
|
|
200
269
|
s = line.rstrip('\n')
|
|
201
|
-
if s.strip() ==
|
|
202
|
-
|
|
203
|
-
|
|
270
|
+
if s.strip() == parent_key:
|
|
271
|
+
parent_idx = i
|
|
272
|
+
break
|
|
273
|
+
|
|
274
|
+
if parent_idx is None:
|
|
275
|
+
click.echo(f" ⚠️ No {parent_key} section in config.yaml.")
|
|
276
|
+
return False
|
|
277
|
+
|
|
278
|
+
parent_indent = len(lines[parent_idx].rstrip('\n')) - len(lines[parent_idx].rstrip('\n').lstrip())
|
|
279
|
+
|
|
280
|
+
# Find child (e.g. 'default_toolsets:') inside parent
|
|
281
|
+
child_idx = None
|
|
282
|
+
child_indent = None
|
|
283
|
+
for i in range(parent_idx + 1, len(lines)):
|
|
284
|
+
s = lines[i].rstrip('\n')
|
|
285
|
+
indent = len(s) - len(s.lstrip())
|
|
286
|
+
if indent <= parent_indent and s.strip():
|
|
287
|
+
break # exited parent block
|
|
288
|
+
if s.strip() == child_key and indent >= parent_indent + 2:
|
|
289
|
+
child_idx = i
|
|
290
|
+
child_indent = indent
|
|
204
291
|
break
|
|
205
292
|
|
|
206
|
-
if
|
|
207
|
-
# Check if
|
|
208
|
-
for i in range(
|
|
293
|
+
if child_idx is not None:
|
|
294
|
+
# Check if already present
|
|
295
|
+
for i in range(child_idx + 1, len(lines)):
|
|
209
296
|
s = lines[i].rstrip('\n')
|
|
210
297
|
lead = len(s) - len(s.lstrip())
|
|
211
|
-
if lead <=
|
|
298
|
+
if lead <= child_indent and s.strip():
|
|
212
299
|
break
|
|
213
|
-
if s.strip() ==
|
|
214
|
-
|
|
215
|
-
return
|
|
300
|
+
if s.strip() == target:
|
|
301
|
+
return False # already present
|
|
216
302
|
|
|
217
|
-
#
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
for i in range(dt_idx + 1, len(lines)):
|
|
303
|
+
# Find last list item and append
|
|
304
|
+
last_item = child_idx
|
|
305
|
+
for i in range(child_idx + 1, len(lines)):
|
|
221
306
|
s = lines[i].rstrip('\n')
|
|
222
307
|
lead = len(s) - len(s.lstrip())
|
|
223
|
-
if lead <=
|
|
308
|
+
if lead <= child_indent and s.strip():
|
|
224
309
|
break
|
|
225
310
|
if s.strip().startswith('- '):
|
|
226
311
|
last_item = i
|
|
227
312
|
|
|
313
|
+
new_line = (' ' * (child_indent + 2)) + target
|
|
228
314
|
lines.insert(last_item + 1, new_line)
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
return
|
|
232
|
-
|
|
233
|
-
# Case B: delegation: exists but no default_toolsets
|
|
234
|
-
delegation_idx = None
|
|
235
|
-
for i, line in enumerate(lines):
|
|
236
|
-
if line.rstrip('\n').strip() == 'delegation:':
|
|
237
|
-
delegation_idx = i
|
|
238
|
-
break
|
|
315
|
+
click.echo(f" ✅ Added {item} to {parent_key}.{child_key}")
|
|
316
|
+
return True
|
|
239
317
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
(' ' * (d_indent + 2)) + 'default_toolsets:',
|
|
245
|
-
(' ' * (d_indent + 4)) + '- terminal',
|
|
246
|
-
(' ' * (d_indent + 4)) + '- file',
|
|
247
|
-
(' ' * (d_indent + 4)) + '- web',
|
|
248
|
-
(' ' * (d_indent + 4)) + '- dolibarr',
|
|
318
|
+
# Child doesn't exist — insert full block under parent
|
|
319
|
+
if fallback_items:
|
|
320
|
+
insert_lines = [
|
|
321
|
+
(' ' * (parent_indent + 2)) + child_key,
|
|
249
322
|
]
|
|
250
|
-
for
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
click.echo(" Add 'dolibarr' to delegation.default_toolsets manually.")
|
|
323
|
+
for fb in fallback_items:
|
|
324
|
+
insert_lines.append((' ' * (parent_indent + 4)) + fb)
|
|
325
|
+
for offset, il in enumerate(insert_lines):
|
|
326
|
+
lines.insert(parent_idx + 1 + offset, il)
|
|
327
|
+
click.echo(f" ✅ Added {parent_key}.{child_key} with {item}")
|
|
328
|
+
return True
|
|
329
|
+
|
|
330
|
+
return False
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "3.7.2"
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
{cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/supplier_invoices.py
RENAMED
|
File without changes
|
|
File without changes
|
{cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/supplier_proposals.py
RENAMED
|
File without changes
|
{cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/supplierinvoices.py
RENAMED
|
File without changes
|
|
File without changes
|
{cli_dolibarr-3.7.2 → cli_dolibarr-3.7.3}/cli_dolibarr/dolibarr/commands/supplierproposals.py
RENAMED
|
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
|
|
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
|
|
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
|