mdify-cli 3.0.6__tar.gz → 3.0.7__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.
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/PKG-INFO +1 -1
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/__init__.py +1 -1
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/cli.py +15 -26
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify_cli.egg-info/PKG-INFO +1 -1
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/pyproject.toml +1 -1
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/LICENSE +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/README.md +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/assets/mdify.png +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/__main__.py +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/container.py +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/docling_client.py +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/formatting.py +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/ssh/__init__.py +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/ssh/client.py +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/ssh/models.py +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/ssh/remote_container.py +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify/ssh/transfer.py +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify_cli.egg-info/SOURCES.txt +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify_cli.egg-info/dependency_links.txt +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify_cli.egg-info/entry_points.txt +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify_cli.egg-info/requires.txt +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/mdify_cli.egg-info/top_level.txt +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/setup.cfg +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/tests/test_cli.py +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/tests/test_container.py +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/tests/test_docling_client.py +0 -0
- {mdify_cli-3.0.6 → mdify_cli-3.0.7}/tests/test_ssh_client.py +0 -0
|
@@ -1322,42 +1322,31 @@ def main_async_remote(args) -> int:
|
|
|
1322
1322
|
# Retry conversion command with exponential backoff
|
|
1323
1323
|
conversion_attempt = 0
|
|
1324
1324
|
conversion_success = False
|
|
1325
|
-
|
|
1325
|
+
conversion_output = None
|
|
1326
|
+
while conversion_attempt < 3 and not conversion_success:
|
|
1326
1327
|
try:
|
|
1327
|
-
|
|
1328
|
+
if conversion_attempt > 0 and not args.quiet:
|
|
1329
|
+
print(f" ↻ Conversion retry {conversion_attempt}...", file=sys.stderr)
|
|
1328
1330
|
|
|
1329
|
-
|
|
1331
|
+
conversion_output, _, conv_code = await ssh_client.run_command(convert_cmd, timeout=timeout)
|
|
1332
|
+
|
|
1333
|
+
if conv_code == 0:
|
|
1330
1334
|
conversion_success = True
|
|
1331
1335
|
break
|
|
1332
|
-
elif is_connection_error(Exception(stderr)) and conversion_attempt < 2:
|
|
1333
|
-
conversion_attempt += 1
|
|
1334
|
-
if not args.quiet:
|
|
1335
|
-
print(f" ↻ Conversion attempt {conversion_attempt}: reconnecting...", file=sys.stderr)
|
|
1336
|
-
try:
|
|
1337
|
-
await ssh_client.disconnect()
|
|
1338
|
-
except Exception:
|
|
1339
|
-
pass
|
|
1340
|
-
await ssh_client.connect()
|
|
1341
|
-
continue
|
|
1342
1336
|
else:
|
|
1343
|
-
|
|
1344
|
-
print(f" ✗ Conversion failed (curl error code {code}): {stderr}", file=sys.stderr)
|
|
1345
|
-
break
|
|
1337
|
+
conversion_attempt += 1
|
|
1346
1338
|
except Exception as conv_exc:
|
|
1347
1339
|
if is_connection_error(conv_exc) and conversion_attempt < 2:
|
|
1348
1340
|
conversion_attempt += 1
|
|
1349
1341
|
if not args.quiet:
|
|
1350
|
-
print(f" ↻
|
|
1342
|
+
print(f" ↻ Connection lost during conversion. Reconnecting (attempt {conversion_attempt})...", file=sys.stderr)
|
|
1351
1343
|
try:
|
|
1352
1344
|
await ssh_client.disconnect()
|
|
1353
1345
|
except Exception:
|
|
1354
1346
|
pass
|
|
1355
1347
|
await ssh_client.connect()
|
|
1356
|
-
continue
|
|
1357
1348
|
else:
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
conversion_attempt += 1
|
|
1349
|
+
conversion_attempt += 1
|
|
1361
1350
|
|
|
1362
1351
|
if not conversion_success:
|
|
1363
1352
|
print(f" ✗ Failed: Conversion failed after {conversion_attempt} attempt(s)", file=sys.stderr)
|
|
@@ -1366,7 +1355,7 @@ def main_async_remote(args) -> int:
|
|
|
1366
1355
|
|
|
1367
1356
|
# Parse JSON response to extract markdown content
|
|
1368
1357
|
try:
|
|
1369
|
-
response_data = json.loads(
|
|
1358
|
+
response_data = json.loads(conversion_output)
|
|
1370
1359
|
|
|
1371
1360
|
# Extract content from response structure
|
|
1372
1361
|
# Actual format: {"document": {"md_content": "..."}, "status": "success"}
|
|
@@ -1395,7 +1384,7 @@ def main_async_remote(args) -> int:
|
|
|
1395
1384
|
markdown_content = str(result)
|
|
1396
1385
|
else:
|
|
1397
1386
|
# Ultimate fallback
|
|
1398
|
-
markdown_content =
|
|
1387
|
+
markdown_content = conversion_output
|
|
1399
1388
|
|
|
1400
1389
|
# Write markdown content to remote file
|
|
1401
1390
|
write_cmd = f"cat > {remote_output_path} << 'MDIFY_EOF'\n{markdown_content}\nMDIFY_EOF"
|
|
@@ -1406,10 +1395,10 @@ def main_async_remote(args) -> int:
|
|
|
1406
1395
|
failed += 1
|
|
1407
1396
|
break
|
|
1408
1397
|
|
|
1409
|
-
except (json.JSONDecodeError, KeyError, IndexError)
|
|
1410
|
-
print(f" ✗ Failed to parse conversion response
|
|
1398
|
+
except (json.JSONDecodeError, KeyError, IndexError):
|
|
1399
|
+
print(f" ✗ Failed to parse conversion response", file=sys.stderr)
|
|
1411
1400
|
if DEBUG:
|
|
1412
|
-
print(f" Response: {
|
|
1401
|
+
print(f" Response: {conversion_output[:500]}", file=sys.stderr)
|
|
1413
1402
|
failed += 1
|
|
1414
1403
|
break
|
|
1415
1404
|
|
|
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
|