half-orm-dev 1.0.0a10__tar.gz → 1.0.0a12__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.
- {half_orm_dev-1.0.0a10/half_orm_dev.egg-info → half_orm_dev-1.0.0a12}/PKG-INFO +1 -1
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/modules.py +25 -11
- half_orm_dev-1.0.0a12/half_orm_dev/version.txt +1 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12/half_orm_dev.egg-info}/PKG-INFO +1 -1
- half_orm_dev-1.0.0a10/half_orm_dev/version.txt +0 -1
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/AUTHORS +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/LICENSE +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/README.md +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/__init__.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/bootstrap_manager.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/__init__.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/__init__.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/apply.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/bootstrap.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/check.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/clone.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/init.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/migrate.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/patch.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/release.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/restore.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/revert_migration.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/set_git_origin.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/sync.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/todo.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/undo.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/update.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/upgrade.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/main.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli_extension.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/database.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/decorators.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/file_executor.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/hgit.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/migration_manager.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/migrations/0/17/1/00_move_to_hop.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/migrations/0/17/1/01_txt_to_toml.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/migrations/0/17/4/00_toml_dict_format.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/migrations/0/17/4/01_add_bootstrap_table.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/migrations/0/17/4/02_move_patches_to_subdirs.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/migrations/0/17/5/01_update_pyproject_dependency.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/migrations/0/18/0/00_add_async_support.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/migrations/0/18/0/01_update_default_tests.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/migrations/hop/BREAKING_CHANGES-1.0.0.md +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/patch_manager.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/patch_validator.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/patches/0/1/0/00_half_orm_meta.database.sql +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/patches/0/1/0/01_alter_half_orm_meta.hop_release.sql +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/patches/0/1/0/02_half_orm_meta.view.hop_penultimate_release.sql +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/patches/log +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/patches/sql/half_orm_meta.sql +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/release_file.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/release_manager.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/repo.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/scripts/repair-metadata.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/.gitignore +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/MANIFEST.in +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/README +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/conftest_template +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/git-hooks/pre-commit +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/git-hooks/prepare-commit-msg +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/init_module_template +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/module_stub_template +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/module_template_1 +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/module_template_2 +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/module_template_3 +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/pyproject.toml +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/relation_test +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/sql_adapter +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/warning +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/utils.py +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev.egg-info/SOURCES.txt +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev.egg-info/dependency_links.txt +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev.egg-info/entry_points.txt +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev.egg-info/requires.txt +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev.egg-info/top_level.txt +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/pyproject.toml +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/setup.cfg +0 -0
- {half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/setup.py +0 -0
|
@@ -423,14 +423,27 @@ def __get_inheritance_info(rel, package_name):
|
|
|
423
423
|
|
|
424
424
|
|
|
425
425
|
def __get_fkeys(repo, class_name, module_path):
|
|
426
|
+
"""Read the Fkeys dict from the module file using AST, without importing.
|
|
427
|
+
|
|
428
|
+
Importing via importlib requires the project package to be on sys.path,
|
|
429
|
+
which is not guaranteed during `hop migrate`. Parsing with ast reads
|
|
430
|
+
directly from the file on disk regardless of installation state.
|
|
431
|
+
"""
|
|
432
|
+
if not os.path.exists(module_path):
|
|
433
|
+
return {}
|
|
426
434
|
try:
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
435
|
+
import ast
|
|
436
|
+
source = utils.read(module_path)
|
|
437
|
+
tree = ast.parse(source)
|
|
438
|
+
for node in ast.walk(tree):
|
|
439
|
+
if isinstance(node, ast.ClassDef) and node.name == class_name:
|
|
440
|
+
for stmt in node.body:
|
|
441
|
+
if (isinstance(stmt, ast.Assign)
|
|
442
|
+
and len(stmt.targets) == 1
|
|
443
|
+
and isinstance(stmt.targets[0], ast.Name)
|
|
444
|
+
and stmt.targets[0].id == 'Fkeys'):
|
|
445
|
+
return ast.literal_eval(stmt.value)
|
|
446
|
+
except Exception:
|
|
434
447
|
pass
|
|
435
448
|
return {}
|
|
436
449
|
|
|
@@ -450,7 +463,8 @@ def __apply_fkey_aliases_to_doc(documentation: str, rel, existing_fkeys: dict) -
|
|
|
450
463
|
# Invert existing_fkeys: constraint_name → alias (skip empty aliases)
|
|
451
464
|
aliases = {constraint: alias for alias, constraint in existing_fkeys.items() if alias}
|
|
452
465
|
|
|
453
|
-
|
|
466
|
+
# documentation adds 4 spaces to each line from str(rel), so Fkeys = { is at 4 spaces
|
|
467
|
+
lines = [" Fkeys = {"]
|
|
454
468
|
for constraint_name in rel._ho_fkeys:
|
|
455
469
|
if constraint_name in aliases:
|
|
456
470
|
key = aliases[constraint_name]
|
|
@@ -458,12 +472,12 @@ def __apply_fkey_aliases_to_doc(documentation: str, rel, existing_fkeys: dict) -
|
|
|
458
472
|
key = 'rfk_' + constraint_name[len('_reverse_fkey_'):]
|
|
459
473
|
else:
|
|
460
474
|
key = 'fk_' + constraint_name
|
|
461
|
-
lines.append(f"
|
|
462
|
-
lines.append("
|
|
475
|
+
lines.append(f" '{key}': '{constraint_name}',")
|
|
476
|
+
lines.append(" }")
|
|
463
477
|
new_block = '\n'.join(lines)
|
|
464
478
|
|
|
465
479
|
return re.sub(
|
|
466
|
-
r'
|
|
480
|
+
r' Fkeys = \{[^}]*\}',
|
|
467
481
|
new_block,
|
|
468
482
|
documentation,
|
|
469
483
|
flags=re.DOTALL,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.0.0-a12
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1.0.0-a10
|
|
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
|
{half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/cli/commands/revert_migration.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
|
{half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/migrations/0/17/1/00_move_to_hop.py
RENAMED
|
File without changes
|
{half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/migrations/0/17/1/01_txt_to_toml.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
|
{half_orm_dev-1.0.0a10 → half_orm_dev-1.0.0a12}/half_orm_dev/templates/git-hooks/prepare-commit-msg
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
|