Skip to content

Commit

Permalink
try to change to module instead of class structure
Browse files Browse the repository at this point in the history
  • Loading branch information
aradermacher committed Aug 23, 2023
1 parent 3f04471 commit 630d1fe
Show file tree
Hide file tree
Showing 7 changed files with 695 additions and 3 deletions.
2 changes: 2 additions & 0 deletions amworkflow/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
import amworkflow as aw

52 changes: 52 additions & 0 deletions amworkflow/db.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import amworkflow.src.geometries.simple_geometry as sg
import amworkflow.src.geometries.composite_geometry as cg
import amworkflow.src.geometries.operator as o
import amworkflow.src.geometries.property as p
import amworkflow.src.geometries.mesher as m
import amworkflow.src.geometries.builder as b
import amworkflow.src.utils.writer as utw
import amworkflow.src.utils.reader as utr
import amworkflow.src.infrastructure.database.cruds.crud as cr
import amworkflow.src.utils.db_io as dio
from OCC.Core.TopoDS import TopoDS_Shape, TopoDS_Wire, TopoDS_Shell, TopoDS_Solid, TopoDS_Face, TopoDS_Edge, topods_Compound
from OCC.Core.gp import gp_Pnt, gp_Vec
from OCC.Core.Geom import Geom_TrimmedCurve
import numpy as np
import gmsh
from amworkflow.src.interface.cli.cli_workflow import cli
from amworkflow.src.constants.data_model import DeepMapParamModel
import amworkflow.src.infrastructure.database.engine.config as cfg
import os
import sys
import inspect
import pandas as pd


class db(object):
@staticmethod
def query_data(table: str, by_name: str = None, column_name: str = None, snd_by_name: str = None, snd_column_name: str = None, only_for_column: str = None) -> pd.DataFrame:
return cr.query_multi_data(table=table, by_name=by_name, column_name=column_name, target_column_name=only_for_column, snd_by_name=snd_by_name, snd_column_name=snd_column_name)

@staticmethod
def query_data_obj(table: str, by_name: str, column_name: str):
return cr.query_data_object(table=table, by_name=by_name,column_name=column_name)

@staticmethod
def delete_data(table: str, prim_ky: str | list = None, by_name: str = None, column_name: str = None, isbatch: bool = False) -> None:
return cr.delete_data(table=table, by_primary_key=prim_ky, by_name=by_name, column_name=column_name, isbatch=isbatch)

@staticmethod
def update_data(table: str, by_name: str | list, on_column: str, edit_column: str, new_value: int | str | float | bool, isbatch: bool = False):
return cr.update_data(table=table, by_name=by_name, target_column=on_column, new_value=new_value, isbatch=isbatch, edit_column=edit_column)

@staticmethod
def insert_data(table: str, data: dict, isbatch: bool = False) -> None:
return cr.insert_data(table=table, data=data, isbatch=isbatch)

@staticmethod
def have_data_in_db(table: str, column_name, dataset: list, filter_by: str = None, search_column: str = None, filter_by2: str = None, search_column2: str = None) -> bool | list:
return utr.having_data(table=table, column_name=column_name,dataset=dataset, filter=filter_by, search_column=search_column, filter2=filter_by2, search_column2=search_column2)

@staticmethod
def query_join_data(table: str, join_column: str, table1: str, join_column1:str, table2: str = None, join_column2:str = None, filter0: str = None, filter1: str = None, filter2: str = None, on_column_tb: str = None, on_column_tb1: str = None, on_column_tb2: str = None):
return cr.query_join_tables(table=table, join_column=join_column, table1=table1, join_column1=join_column1, table2=table2, filter0=filter0, filter1=filter1, filter2=filter2, on_column_tb=on_column_tb, on_column_tb1=on_column_tb1, on_column_tb2=on_column_tb2)
52 changes: 52 additions & 0 deletions amworkflow/engine.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import amworkflow.src.geometries.simple_geometry as sg
import amworkflow.src.geometries.composite_geometry as cg
import amworkflow.src.geometries.operator as o
import amworkflow.src.geometries.property as p
import amworkflow.src.geometries.mesher as m
import amworkflow.src.geometries.builder as b
import amworkflow.src.utils.writer as utw
import amworkflow.src.utils.reader as utr
import amworkflow.src.infrastructure.database.cruds.crud as cr
import amworkflow.src.utils.db_io as dio
from OCC.Core.TopoDS import TopoDS_Shape, TopoDS_Wire, TopoDS_Shell, TopoDS_Solid, TopoDS_Face, TopoDS_Edge, topods_Compound
from OCC.Core.gp import gp_Pnt, gp_Vec
from OCC.Core.Geom import Geom_TrimmedCurve
import numpy as np
import gmsh
from amworkflow.src.interface.cli.cli_workflow import cli
from amworkflow.src.constants.data_model import DeepMapParamModel
import amworkflow.src.infrastructure.database.engine.config as cfg
import os
import sys
import inspect
import pandas as pd


class engine(object):
@staticmethod
def amworkflow(mode: str = "production"):
args = DeepMapParamModel(cli().__dict__)
args.mode = mode
caller_frame = inspect.stack()[1]
caller_fullpath = caller_frame.filename
dbdir = utw.mk_dir(os.path.dirname(caller_fullpath), "db")
args.db_dir = dbdir
args.import_file_dir = utw.mk_dir(dbdir, "imports")
args.db_opt_dir = utw.mk_dir(os.path.dirname(caller_fullpath), "output")
args.db_file_dir = utw.mk_dir(dbdir, "files")
cfg.DB_DIR = dbdir
from amworkflow.src.core.workflow import BaseWorkflow
flow = BaseWorkflow(args = args)
def inner_decorator(func):
def wrapped(*args, **kwargs):
flow.geometry_spawn = func
i = flow.indicator
if (i[4] == 1) or flow.onlyimport:
flow.create()
if flow.cmesh:
flow.mesh()
if flow.pcs_indicator[0] == 1:
flow.auto_download()
wrapped()
return wrapped
return inner_decorator
Loading

0 comments on commit 630d1fe

Please sign in to comment.