Skip to content

Commit fcc4a04

Browse files
committed
fix some recursive imports
1 parent 36d5e0f commit fcc4a04

File tree

14 files changed

+264
-140
lines changed

14 files changed

+264
-140
lines changed

openglider/__init__.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import os
12
import logging
23
from pathlib import Path
34
from typing import Any
@@ -27,9 +28,10 @@ def load(filename: str) -> Any:
2728

2829
return res
2930

31+
3032
def load_demokite() -> openglider.glider.GliderProject:
31-
import os
32-
filename = os.path.join(os.path.dirname(os.path.dirname(__file__)), "tests/common/demokite.ods")
33+
import openglider.tests
34+
filename = openglider.tests.get_demokite_path()
3335

3436
if not os.path.isfile(filename):
3537
raise FileNotFoundError()

openglider/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import platform
44
from typing import Any
55

6-
from openglider.utils.config import Config
6+
from openglider.utils.config_old import Config
77

88

99
class GlobalConfig(Config):

openglider/glider/ballooning/base.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,14 @@
88
import euklid
99

1010
import openglider
11+
from openglider.config import config
1112
from pyfoil import Airfoil
1213

1314
class ArcSinc:
1415
def __init__(self) -> None:
1516
self.start = 0.
1617
self.end = math.pi
17-
self.interpolate(openglider.config['asinc_interpolation_points'])
18+
self.interpolate(config['asinc_interpolation_points'])
1819

1920
def __call__(self, val: float) -> float:
2021
return self.arsinc.get_value(val)

openglider/gui/app/main_window.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,10 @@ class MainWindow(QtWidgets.QMainWindow):
6666
def __init__(self, app: GliderApp):
6767
super().__init__()
6868
self.setWindowTitle("Glider Schneider")
69-
og_dir = os.path.dirname(openglider.__file__)
70-
self.setWindowIcon(QtGui.QIcon(os.path.join(og_dir, "gui/openglider.png")))
69+
gui_dir = os.path.dirname(os.path.dirname(__file__))
70+
filepath = os.path.join(gui_dir, "openglider.png")
71+
print(filepath)
72+
self.setWindowIcon(QtGui.QIcon(filepath))
7173

7274
self.app = app
7375
self.state = app.state
@@ -319,8 +321,8 @@ def add_glider(self, glider: GliderProject, focus: bool=True, increase_revision:
319321
self.top_panel.setCurrentIndex(0)
320322

321323
def load_demokite(self) -> None:
322-
og_dir = os.path.dirname(openglider.__file__)
323-
filename = os.path.join(og_dir, "tests/common/demokite.ods")
324+
import openglider.tests
325+
filename = openglider.tests.get_demokite_path()
324326
asyncio.ensure_future(self.load_glider(filename))
325327

326328

openglider/jsonify/__init__.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
import datetime
77
from typing import Any, Dict, Type
88

9-
import pydantic
10-
import openglider.config
9+
from openglider.version import __version__
10+
from openglider.config import config
1111
from openglider.jsonify.encoder import Encoder
1212
from openglider.jsonify.migration import Migration
1313
from openglider.utils import recursive_getattr
@@ -22,12 +22,12 @@
2222
datetime_format_regex = re.compile(r'^\d{2}\.\d{2}\.\d{4} \d{2}:\d{2}$')
2323

2424
def get_element(_module: str, _name: str) -> type[Any]:
25-
for rex in openglider.config["json_forbidden_modules"]:
25+
for rex in config["json_forbidden_modules"]:
2626
if re.match(rex, _module):
2727
raise Exception
2828
elif re.match(rex, _name):
2929
raise Exception
30-
for rex in openglider.config["json_allowed_modules"]:
30+
for rex in config["json_allowed_modules"]:
3131
match = re.match(rex, _module)
3232
if match:
3333
fromlist = [str(w) for w in _module.split(".")]
@@ -85,8 +85,8 @@ def add_metadata(data: Any) -> dict[str, Any]:
8585
return data
8686
else:
8787
return {'MetaData': {'application': 'openglider',
88-
'version': openglider.__version__,
89-
'author': openglider.config["user"],
88+
'version': __version__,
89+
'author': config["user"],
9090
'date_created': time.strftime("%d.%m.%y %H:%M"),
9191
'date_modified': time.strftime("%d.%m.%y %H:%M")},
9292
'data': data}

openglider/jsonify/migration/migrate_0_0_8_tables.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,19 @@
1+
from __future__ import annotations
2+
13
import logging
24
import json
35
import copy
4-
from typing import Any, Literal
6+
from typing import TYPE_CHECKING, Any, Literal
57

68
from openglider.jsonify.encoder import Encoder
79
from openglider.jsonify.migration.migration import Migration
8-
from openglider.glider.parametric.table.rib.holes import HolesTable
9-
from openglider.glider.parametric.table.cell.diagonals import DiagonalTable, StrapTable
1010
from openglider.materials import cloth
1111
from openglider.utils.table import Table
1212

13+
if TYPE_CHECKING:
14+
from openglider.glider.parametric.table.rib.holes import HolesTable
15+
from openglider.glider.parametric.table.cell.diagonals import DiagonalTable, StrapTable
16+
1317
logger = logging.getLogger(__name__)
1418

1519
@Migration.add("0.0.8")
@@ -56,6 +60,7 @@ def migrate_diagonals(cls: Migration, jsondata: Any) -> Any:
5660

5761

5862
def get_hole_table(holes: list[Any]) -> HolesTable:
63+
from openglider.glider.parametric.table.rib.holes import HolesTable
5964
table = Table()
6065

6166
for hole in holes:
@@ -75,6 +80,7 @@ def get_hole_table(holes: list[Any]) -> HolesTable:
7580

7681

7782
def get_diagonals_table(diagonals: list[Any]) -> DiagonalTable:
83+
from openglider.glider.parametric.table.cell.diagonals import DiagonalTable
7884
from openglider.glider.cell.diagonals import DiagonalRib
7985

8086

@@ -117,6 +123,7 @@ def get_diagonals_table(diagonals: list[Any]) -> DiagonalTable:
117123
return DiagonalTable(table)
118124

119125
def get_straps_table(straps: list[Any], simple: bool=False) -> StrapTable:
126+
from openglider.glider.parametric.table.cell.diagonals import StrapTable
120127
table = Table()
121128
cell_num = max([max(strap["cells"]) for strap in straps], default=0)
122129
straps_per_cell: list[list[list[float]]] = []

openglider/jsonify/migration/migrate_0_0_9_cuts_table.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,26 @@
1+
from __future__ import annotations
2+
13
import logging
24
from typing import TYPE_CHECKING, Any, Literal
3-
from openglider.glider.parametric.table.curve import CurveTable
4-
from openglider.glider.parametric.table.rigidfoil import CellRigidTable, RibRigidTable
5-
from openglider.glider.parametric.table.material import CellClothTable, RibClothTable
6-
from openglider.glider.parametric.table.cell.miniribs import MiniRibTable
75

86
from openglider.jsonify.migration.migration import Migration
9-
from openglider.glider.parametric.table.cell.cuts import CutTable
107
from openglider.utils.table import Table
118

129
if TYPE_CHECKING:
13-
from openglider.jsonify.migration.migration import Migration
10+
from openglider.glider.parametric.table.curve import CurveTable
11+
from openglider.glider.parametric.table.rigidfoil import CellRigidTable, RibRigidTable
12+
from openglider.glider.parametric.table.material import CellClothTable, RibClothTable
13+
from openglider.glider.parametric.table.cell.miniribs import MiniRibTable
14+
from openglider.glider.parametric.table.cell.cuts import CutTable
1415

1516
logger = logging.getLogger(__name__)
1617

1718
@Migration.add("0.0.9")
1819
def migrate_diagonals(cls: type[Migration], jsondata: Any) -> Any:
20+
from openglider.glider.parametric.table.curve import CurveTable
21+
from openglider.glider.parametric.table.material import CellClothTable, RibClothTable
22+
from openglider.glider.parametric.table.cell.miniribs import MiniRibTable
23+
1924
nodes = cls.find_nodes(jsondata, name=r"ParametricGlider")
2025
if not nodes:
2126
return jsondata
@@ -75,6 +80,7 @@ def migrate_diagonals(cls: type[Migration], jsondata: Any) -> Any:
7580
return jsondata
7681

7782
def get_cell_rigidfoil_table(rigidfoils: list[dict[str, Any]]) -> CellRigidTable:
83+
from openglider.glider.parametric.table.rigidfoil import CellRigidTable
7884
table = Table()
7985
rigidfoils.sort(key=lambda r: r["x_start"])
8086
for rigidfoil in rigidfoils:
@@ -92,6 +98,7 @@ def get_cell_rigidfoil_table(rigidfoils: list[dict[str, Any]]) -> CellRigidTable
9298

9399

94100
def get_rib_rigidfoil_table(rigidfoils: list[dict[str, Any]]) -> RibRigidTable:
101+
from openglider.glider.parametric.table.rigidfoil import RibRigidTable
95102
table = Table()
96103

97104
rigidfoils.sort(key=lambda r: r["start"])
@@ -126,6 +133,7 @@ def get_materials_table(materials: list[list[dict[str, Any]]], _cls: Any) -> Any
126133
return _cls(material_table)
127134

128135
def get_cuts_table(cuts: list[dict[str, Any]]) -> CutTable:
136+
from openglider.glider.parametric.table.cell.cuts import CutTable
129137
cuts_table = Table()
130138
cuts_per_cell: list[list[tuple[float, float, str]]] = []
131139

openglider/plots/glider/minirib.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
from typing import TYPE_CHECKING
44

5+
import logging
56
import euklid
6-
from openglider import logging
7+
78
from openglider.plots.config import PatternConfig
89
from openglider.utils.config import Config
910
from openglider.vector.drawing import PlotPart

openglider/plots/glider/ribs.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
from __future__ import annotations
22

3+
import logging
34
import math
45
from typing import TYPE_CHECKING, Literal
56
from collections.abc import Callable
67

78
import euklid
8-
from openglider import logging
9+
910
from openglider.airfoil import get_x_value
1011
from openglider.glider.cell.diagonals import DiagonalSide
1112
from openglider.glider.cell.panel import PANELCUT_TYPES

openglider/tests/__init__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import os
2+
3+
def get_demokite_path() -> str:
4+
import os
5+
filename = os.path.join(os.path.dirname(__file__), "common/demokite.ods")
6+
7+
return filename

0 commit comments

Comments
 (0)