init
This commit is contained in:
98
image_generator/SvgCreatorModel.py
Normal file
98
image_generator/SvgCreatorModel.py
Normal file
@@ -0,0 +1,98 @@
|
||||
from modules.svgcreator import SvgCreator
|
||||
import pandas as pd
|
||||
|
||||
class SvgCreatorModel:
|
||||
arr_errors = []
|
||||
def __init__(self, svg_path, excel_path, output_path):
|
||||
self.svg_path = svg_path
|
||||
self.excel_path = excel_path
|
||||
self.output_path = output_path
|
||||
|
||||
|
||||
def extract_excel(self):
|
||||
df = pd.read_excel(self.excel_path)
|
||||
# Iterate over rows and columns to print each cell
|
||||
for index, row in df.iterrows():
|
||||
svg = row["motiv"]
|
||||
tx1 = row["tx1"]
|
||||
num = str(row["num"]).split('.')[0]
|
||||
tx2 = row["tx2"]
|
||||
tx3 = row["tx3"]
|
||||
tx4 = row["tx4"]
|
||||
|
||||
# Check for NaN values and replace them with None
|
||||
svg = svg if pd.notna(row["motiv"]) else None
|
||||
tx1 = tx1 if pd.notna(row["tx1"]) else None
|
||||
num = num if pd.notna(row["num"]) else None
|
||||
tx2 = tx2 if pd.notna(row["tx2"]) else None
|
||||
tx3 = tx3 if pd.notna(row["tx3"]) else None
|
||||
tx4 = tx4 if pd.notna(row["tx4"]) else None
|
||||
|
||||
if(svg == None):
|
||||
continue
|
||||
self.create_svg(svg, tx1, tx2, tx3, tx4, num)
|
||||
|
||||
self.write_error_excel()
|
||||
self.arr_errors = []
|
||||
|
||||
|
||||
def write_error_excel(self):
|
||||
df = pd.DataFrame(self.arr_errors)
|
||||
df.to_excel(self.output_path+"/errors.xlsx")
|
||||
|
||||
|
||||
def create_svg(self, svg, tx1, tx2, tx3, tx4, num):
|
||||
obj = SvgCreator(self.svg_path+"/"+svg+".svg")
|
||||
if obj.svg_path == 0:
|
||||
print("Pfad existiert nicht")
|
||||
print(self.svg_path+"/"+svg+".svg")
|
||||
tuple_error = [svg, "Pfad existiert nicht"]
|
||||
self.arr_errors.append(tuple_error)
|
||||
|
||||
|
||||
allow_exp = True
|
||||
try:
|
||||
if not None == tx1:
|
||||
tx1 = tx1.split("(")[0]
|
||||
if tx1[-1] == " ":
|
||||
tx1 = tx1[:-1]
|
||||
|
||||
obj.update_text("tx1", tx1)
|
||||
if not None == tx2:
|
||||
tx2 = tx2.split("(")[0]
|
||||
if tx2[-1] == " ":
|
||||
tx2 = tx2[:-1]
|
||||
|
||||
obj.update_text("tx2", tx2)
|
||||
if not None == tx3:
|
||||
tx3 = tx3.split("(")[0]
|
||||
if tx3[-1] == " ":
|
||||
tx3 = tx3[:-1]
|
||||
|
||||
obj.update_text("tx3", tx3)
|
||||
if not None == tx4:
|
||||
tx4 = tx4.split("(")[0]
|
||||
if tx4[-1] == " ":
|
||||
tx4 = tx4[:-1]
|
||||
|
||||
obj.update_text("tx4", tx4)
|
||||
if not None == num:
|
||||
num = num.split("(")[0]
|
||||
if num[-1] == " ":
|
||||
num = num[:-1]
|
||||
|
||||
obj.update_text("num", num)
|
||||
except Exception as e:
|
||||
tuple_error = [svg, e]
|
||||
self.arr_errors.append(tuple_error)
|
||||
allow_exp = False
|
||||
|
||||
if allow_exp:
|
||||
try:
|
||||
obj.export_svg(self.output_path+"/", svg+" "+tx1, 300)
|
||||
except Exception as e:
|
||||
tuple_error = [svg, "Export fehlgeschlagen"]
|
||||
self.arr_errors.append(tuple_error)
|
||||
allow_exp = False
|
||||
|
||||
|
||||
Reference in New Issue
Block a user