Struktur des Programmes umgebaut, so dass Umgebungsvariablen verwendet werden. Configs werden vor Objekterzeugung geladen und in den Objekten gesetzt
This commit is contained in:
+27
-16
@@ -1,6 +1,7 @@
|
||||
import pandas as pd
|
||||
import configparser
|
||||
import os.path
|
||||
import argparse
|
||||
|
||||
"""
|
||||
Erstellung einer Excel-Datei mit aktuellen Preisen aus Sivas ist leicht möglich.
|
||||
@@ -8,15 +9,7 @@ Diese soll in einer config-Datei für die Berechnung der rieter-eKalkulation ver
|
||||
Den Parametern der rieter_ekalk werden die entsprechenden Sivas-Nummern zugewiesen, und damit die aktuellen Preise.
|
||||
Diese Zuordnung von Parametern und ihren aktuellen Preisen wird wieder in eine config-Datei geschrieben, die mit den Preisen der Sivas_Daten.cfg-Datei abzugleichen ist, auf die rieter_ekalk zugreift.
|
||||
"""
|
||||
faktoren_sivas_Nummern = {
|
||||
"zuleitung_75_m_unterverteiler_4x4mm2_400vac":75,
|
||||
"zuleitung_75_m_unterverteiler_12x4mm2_24_vdc":75,
|
||||
"zuleitung_75_m_unterverteiler_12x2_5mm2_24_vdc":75,
|
||||
"zuleitung_55_m_klemmkasten_rsm_mitte_14g1_5_mm":55,
|
||||
"zuleitung_55_m_klemmkasten_rsm_mitte_14g1_0_mm":55,
|
||||
"schnittstellen_8x1mm2_30m":30
|
||||
|
||||
}
|
||||
class Kosten():
|
||||
"""
|
||||
Liest die Sivas-Excel-Liste ein und schreibt eine neue config Datei mit den aktuellen Preisen der in rieter-ekalk verwendeten Sivas-IDs.
|
||||
@@ -143,13 +136,31 @@ class Kosten():
|
||||
df.to_excel(name, sheet_name="Preisänderungen", index_label="Sivas-Nummern")
|
||||
|
||||
|
||||
# lies die alte config und die Excel-Liste mit den Sivas-Daten
|
||||
costs = Kosten()
|
||||
not_found_in_sivas = dict()
|
||||
latest_costs = costs.getNewPricesAsDict(not_found_in_sivas)
|
||||
# schreibe die neue config mit den aktuellen Preisen
|
||||
costs.writeNewConfig('Sivas_Abgleich.cfg')
|
||||
|
||||
# schreibe die Preisänderungen in eine Excel-Datei
|
||||
costs.writePriceIncrements('Preis_Increments.xlsx')
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description='calculation of a system according to Bös', prog='ecalc')
|
||||
parser.add_argument('-o', '--outfile', action='store', help='name of the output excel file', default="Preis_Increments.xlsx")
|
||||
|
||||
args = parser.parse_args()
|
||||
zuordCfgFilePath = os.path.join(os.environ.get('ECALC_CFG'), "Zuordnung_Teilenummern.cfg")
|
||||
sivasCfgFilePath = os.path.join(os.environ.get('ECALC_CFG'), "Sivas_Daten.cfg")
|
||||
gridExportFilePath = os.path.join(os.environ.get('ECALC_CFG'), "grid_export.xlsx")
|
||||
|
||||
if not os.path.isfile(zuordCfgFilePath):
|
||||
print("no Zuordnung_Teilenummern.cfg in ECALC_CFG")
|
||||
if not os.path.isfile(sivasCfgFilePath):
|
||||
print("no Sivas_Daten.cfg in ECALC_CFG")
|
||||
if not os.path.isfile(gridExportFilePath):
|
||||
print("no grid_export.xlsx with prices from SIVAS in ECALC_CFG")
|
||||
|
||||
# lies die alten config und die Excel-Liste mit den Sivas-Daten
|
||||
costs = Kosten(zuordCfgFilePath, sivasCfgFilePath, gridExportFilePath)
|
||||
not_found_in_sivas = dict()
|
||||
latest_costs = costs.getNewPricesAsDict(not_found_in_sivas)
|
||||
# schreibe die neue config mit den aktuellen Preisen
|
||||
costs.writeNewConfig('Sivas_Abgleich.cfg')
|
||||
|
||||
# schreibe die Preisänderungen in eine Excel-Datei
|
||||
outPath = os.path.join(os.environ.get('ECALC_WORK'), args.outfile)
|
||||
costs.writePriceIncrements(outPath)
|
||||
Reference in New Issue
Block a user