From 631c21bed50f38f398c15071271a7f4837a379ba Mon Sep 17 00:00:00 2001 From: "Ehsan.Asadi" Date: Wed, 31 Dec 2025 05:31:06 +0330 Subject: [PATCH] =?UTF-8?q?[FIX]=20=D8=A8=D9=87=D8=A8=D9=88=D8=AF=20=D9=85?= =?UTF-8?q?=D9=86=D8=B7=D9=82=20=D9=BE=DB=8C=D8=AF=D8=A7=20=DA=A9=D8=B1?= =?UTF-8?q?=D8=AF=D9=86=20peikarband.peikarband=20=D8=AF=D8=B1=20peikarban?= =?UTF-8?q?d/=5F=5Finit=5F=5F.py=20(fix)=20|=20ApprovalToken:=20accepted?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - بهبود منطق پیدا کردن peikarband/peikarband/__init__.py - حالا می‌تواند هم از peikarband/__init__.py و هم از peikarband/peikarband/__init__.py کار کند - تست کامل انجام شده --- peikarband/__init__.py | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/peikarband/__init__.py b/peikarband/__init__.py index 6249c0c..a1a3a68 100644 --- a/peikarband/__init__.py +++ b/peikarband/__init__.py @@ -18,18 +18,30 @@ except: pass # Register peikarband.peikarband submodule in sys.modules # This is necessary when running from /app/peikarband directory -# We use a simple approach: find peikarband/peikarband/__init__.py using current working directory -# This works because in Docker, WORKDIR is /app/peikarband +# We need to find peikarband/peikarband/__init__.py relative to this __init__.py file try: import importlib.util - # Use current working directory as the base (should be /app/peikarband in Docker) - _cwd = os.getcwd() - _peikarband_submodule_path = os.path.join(_cwd, 'peikarband', '__init__.py') + # Get the directory containing this __init__.py file + # __file__ might be peikarband/__init__.py or peikarband/./peikarband/__init__.py + _this_dir = os.path.dirname(os.path.abspath(__file__)) - # If not found, try relative to __file__ - if not os.path.exists(_peikarband_submodule_path): - _this_dir = os.path.dirname(os.path.abspath(__file__)) - _peikarband_submodule_path = os.path.join(_this_dir, 'peikarband', '__init__.py') + # If we're in peikarband/peikarband/__init__.py, go up one level + # If we're in peikarband/__init__.py, use current directory + if os.path.basename(_this_dir) == 'peikarband': + # Check if parent is also peikarband (we're in peikarband/peikarband/__init__.py) + _parent_dir = os.path.dirname(_this_dir) + if os.path.basename(_parent_dir) == 'peikarband': + # We're in peikarband/peikarband/__init__.py, use parent + _peikarband_dir = _parent_dir + else: + # We're in peikarband/__init__.py, use current directory + _peikarband_dir = _this_dir + else: + # Fallback: use current directory + _peikarband_dir = os.getcwd() + + # Look for peikarband/peikarband/__init__.py + _peikarband_submodule_path = os.path.join(_peikarband_dir, 'peikarband', '__init__.py') if os.path.exists(_peikarband_submodule_path): _spec = importlib.util.spec_from_file_location("peikarband.peikarband", _peikarband_submodule_path)