dmart 1.4.29__py3-none-any.whl → 1.4.31__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dmart
3
- Version: 1.4.29
3
+ Version: 1.4.31
4
4
  Requires-Python: >=3.11
5
5
  Requires-Dist: fastapi
6
6
  Requires-Dist: pydantic
@@ -1,6 +1,6 @@
1
1
  bundler.py,sha256=MDTUTVS0WL7gb-i1rDcS4i37KTqaW88TluL4L3rwjRw,1817
2
2
  data_generator.py,sha256=CnE-VHEeX7-lAXtqCgbRqR9WHjTuOgeiZcviYrHAmho,2287
3
- dmart.py,sha256=4i-P3AQTzWlv0LUJdvqDnS2ehHYv8vCv4hXPdxsQ8DQ,23713
3
+ dmart.py,sha256=9tM6DmJUzkngTYWdnG96-yuuqMmMmqxVrEYmvsFYLOE,24445
4
4
  get_settings.py,sha256=Sbe2WCoiK398E7HY4SNLfDN_GmE8knR4M-YJWF31jcg,153
5
5
  main.py,sha256=KZGhIL6AnEm5ZAPy4IvhBDpzSTjuodilV7NafNOyhzM,19676
6
6
  migrate.py,sha256=hn1MZoVby_Jjqhc7y3CrLcGD619QmVZv3PONNvO7VKQ,665
@@ -271,8 +271,8 @@ utils/ticket_sys_utils.py,sha256=9QAlW2iiy8KyxQRBDj_WmzS5kKb0aYJmGwd4qzmGVqo,700
271
271
  utils/web_notifier.py,sha256=QM87VVid2grC5lK3NdS1yzz0z1wXljr4GChJOeK86W4,843
272
272
  utils/templates/activation.html.j2,sha256=XAMKCdoqONoc4ZQucD0yV-Pg5DlHHASZrTVItNS-iBE,640
273
273
  utils/templates/reminder.html.j2,sha256=aoS8bTs56q4hjAZKsb0jV9c-PIURBELuBOpT_qPZNVU,639
274
- dmart-1.4.29.dist-info/METADATA,sha256=TZXo15S93DzXvwBhQPAb9Wmj3HmQvFFJpCVJjQVCNgA,2149
275
- dmart-1.4.29.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
276
- dmart-1.4.29.dist-info/entry_points.txt,sha256=GjfoGh1bpxuU9HHGJzbtCFPNptHv9TryxHMN3uBSKpg,37
277
- dmart-1.4.29.dist-info/top_level.txt,sha256=S-gfX1pLerapNXiHZ8lvPYoV7sgwSX2_NCZ6xfzDUHM,267
278
- dmart-1.4.29.dist-info/RECORD,,
274
+ dmart-1.4.31.dist-info/METADATA,sha256=r47mM-P3jUNVgvsZ8mmT6GTPQE2oOmNkcwAD25B85lk,2149
275
+ dmart-1.4.31.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
276
+ dmart-1.4.31.dist-info/entry_points.txt,sha256=GjfoGh1bpxuU9HHGJzbtCFPNptHv9TryxHMN3uBSKpg,37
277
+ dmart-1.4.31.dist-info/top_level.txt,sha256=S-gfX1pLerapNXiHZ8lvPYoV7sgwSX2_NCZ6xfzDUHM,267
278
+ dmart-1.4.31.dist-info/RECORD,,
dmart.py CHANGED
@@ -21,14 +21,19 @@ from hypercorn.config import Config
21
21
  from hypercorn.run import run
22
22
 
23
23
  # Try to import alembic
24
- try:
25
- from alembic import command as alembic_command
26
- from alembic.config import Config as AlembicConfig
27
- HAS_ALEMBIC = True
28
- ALEMBIC_ERROR = None
29
- except ImportError as e:
30
- HAS_ALEMBIC = False
31
- ALEMBIC_ERROR = e
24
+ # Global variable for alembic status
25
+ ALEMBIC_ERROR = None
26
+
27
+ def get_alembic():
28
+ global ALEMBIC_ERROR
29
+ try:
30
+ from alembic import command as alembic_command
31
+ from alembic.config import Config as AlembicConfig
32
+ return alembic_command, AlembicConfig
33
+ except ImportError as e:
34
+ import sys
35
+ ALEMBIC_ERROR = f"{e}\nDebug info: sys.path={sys.path}"
36
+ return None, None
32
37
 
33
38
  from data_adapters.file.archive import archive
34
39
  from data_adapters.file.create_index import main as create_index
@@ -395,8 +400,6 @@ def hypercorn_main() -> int:
395
400
 
396
401
 
397
402
  def main():
398
- global sys
399
-
400
403
  args = sys.argv[1:]
401
404
  if len(args) == 0:
402
405
  print("You must provide a command to run:")
@@ -553,9 +556,17 @@ def main():
553
556
 
554
557
  # Try to find migrations directory
555
558
  alembic_dir = pkg_dir / "dmart_migrations"
556
- if not alembic_dir.exists():
559
+ if not (alembic_dir / "env.py").exists():
557
560
  # Fallback to alembic for backward compatibility
558
- alembic_dir = pkg_dir / "alembic"
561
+ # only if it contains env.py (to avoid picking up the alembic library itself)
562
+ fallback_dir = pkg_dir / "alembic"
563
+ if (fallback_dir / "env.py").exists():
564
+ alembic_dir = fallback_dir
565
+
566
+ if not alembic_dir.exists() or not (alembic_dir / "env.py").exists():
567
+ print(f"Error: Migration directory not found in {pkg_dir}")
568
+ print(f"Looked for 'dmart_migrations' or 'alembic' folder containing 'env.py'")
569
+ sys.exit(1)
559
570
 
560
571
  # Look for alembic.ini in the package directory or migrations directory
561
572
  ini_path = pkg_dir / "alembic.ini"
@@ -568,7 +579,8 @@ def main():
568
579
 
569
580
  try:
570
581
  # Check if alembic library is installed
571
- if not HAS_ALEMBIC:
582
+ alembic_command, AlembicConfig = get_alembic()
583
+ if not alembic_command:
572
584
  print(f"Error: 'alembic' library not found. {ALEMBIC_ERROR}")
573
585
  print("Please install 'alembic' library with 'pip install alembic'.")
574
586
  sys.exit(1)
File without changes