diff --git a/file-to-couchdb_tl1_cL.py b/file-to-couchdb_tl1_cL.py index 74547053799665ba46c6116f3e336ee5a42023d4..55a6a24712b1f87a7266d96ad065ba18fd303cb3 100644 --- a/file-to-couchdb_tl1_cL.py +++ b/file-to-couchdb_tl1_cL.py @@ -25,9 +25,9 @@ db = couch['vl_db'] # existing -cal_cert = "75573" +cal_cert = "75561" year = "2024" -no = "0001" +no = "0002" QMS="ja" ######### ja beim Scan kk_ik_pn= "kk" ######## kk,ik oder pn @@ -37,9 +37,11 @@ json_file = "cal-" + year + "-fm1-kk-" + cal_cert + "_" + no doc = db.get(json_file) print(json_file) +path='C:\\Users\\becker07\\python\\TL1\\' -dateiTab = cal_cert -#print(dateiTab) +dateiTab = path + cal_cert +#dateiTab='C:\\Users\\becker07\\python\\TL1\\75561' +print(dateiTab) dateiTab=pd.read_csv(dateiTab, sep="\t", decimal = ',' ) @@ -54,10 +56,10 @@ print('Leitwer : ',L) gauge = float(doc["Calibration"]["CustomerObject"]["Setup"]["CDG"]) print(gauge) -fileQMS = "QMS" + cal_cert + ".txt" +fileQMS = path + "QMS" + cal_cert + ".txt" dateiQMS =fileQMS -ScanQMS="Scan"+cal_cert + ".txt" -ScanOffsQMS="Scan_Offs"+cal_cert + ".txt" +ScanQMS= path + "Scan"+cal_cert + ".txt" +ScanOffsQMS= path + "ScanOffs"+cal_cert + ".txt" print(ScanQMS) # Die Daten aus dem File mit der entsprechenden Kalibrierscheinnummer werden eingelesen: @@ -517,17 +519,17 @@ if L == 1 : lis_h = h.tolist() - doc["Calibration"]["Measurement"]["Values"]={"Temperature": [{"Unit": "C","Type": "T-FM ","Comment":"Temperatur T ","Value": lis_T_fm}, + doc["Calibration"]["Measurement"]["Values"]={"Temperature": [{"Unit": "C","Type": "T-FM","Comment":"Temperatur T ","Value": lis_T_fm}, {"Unit": "C","Type": "T-Room","Comment":"Temperatur T","Value": lis_T_room}, - {"Unit": "C","Type": "T-TL1 ","Comment":"Temperatur T","Value": lis_T_tl1}, - {"Unit": "C","Type": "T-TL2 ","Comment":"Temperatur T","Value":lis_T_tl2}, - {"Unit": "C","Type": "T-TL2 ","Comment":"Temperatur T","Value":lis_T_tl3}, - {"Unit": "C","Type": "T-TL3 ","Comment":"Temperatur T","Value": lis_T_tl4}], - "Pressure": [{"Unit": "Pa","Type": "Offset pressure ","Value":lis_p_offs}, - {"Unit": "Pa","Type": " pressure mean","Value":lis_p_fill}, + {"Unit": "C","Type": "T-TL1","Comment":"Temperatur T","Value": lis_T_tl1}, + {"Unit": "C","Type": "T-TL2","Comment":"Temperatur T","Value":lis_T_tl2}, + {"Unit": "C","Type": "T-TL2","Comment":"Temperatur T","Value":lis_T_tl3}, + {"Unit": "C","Type": "T-TL3","Comment":"Temperatur T","Value": lis_T_tl4}], + "Pressure": [{"Unit": "Pa","Type": "Offset pressure","Value":lis_p_offs}, + {"Unit": "Pa","Type": "pressure mean","Value":lis_p_fill}, {"Unit": "bar","Type": "TL1 pressure ","Value":lis_p_ig}], - "Date": [{"Unit": "year-month-day","Type": "Datum ","Value":lis_datum}, - {"Unit": "hh:mm:ss","Type": "Messzeit ","Value":lis_time}], + "Date": [{"Unit": "year-month-day","Type": "Datum","Value":lis_datum}, + {"Unit": "hh:mm:ss","Type": "Messzeit","Value":lis_time}], "Valve": [{"Unit": "1","Type": "Connection", "Comment":"Connection of the leak" ,"Value":lis_valve}], "Current": [{"Unit": "mbar","Type": "I-TL","Value": lis_I_TL}, {"Unit": "mbar","Type": "I-FM","Value": lis_I_FM}, @@ -573,17 +575,17 @@ else: if gauge == 0.01 : doc["Calibration"]["Measurement"]["Values"]={"Temperature": [{"Unit": "C","Type": "T-FM ","Comment":"Temperatur T ","Value": lis_T_fm}, {"Unit": "C","Type": "T-Room","Comment":"Temperatur T","Value": lis_T_room}, - {"Unit": "C","Type": "T-TL1 ","Comment":"Temperatur T","Value": lis_T_tl1}, - {"Unit": "C","Type": "T-TL2 ","Comment":"Temperatur T","Value":lis_T_tl2}, - {"Unit": "C","Type": "T-TL2 ","Comment":"Temperatur T","Value":lis_T_tl3}, - {"Unit": "C","Type": "T-TL3 ","Comment":"Temperatur T","Value": lis_T_tl4}], + {"Unit": "C","Type": "T-TL1","Comment":"Temperatur T","Value": lis_T_tl1}, + {"Unit": "C","Type": "T-TL2","Comment":"Temperatur T","Value":lis_T_tl2}, + {"Unit": "C","Type": "T-TL2","Comment":"Temperatur T","Value":lis_T_tl3}, + {"Unit": "C","Type": "T-TL3","Comment":"Temperatur T","Value": lis_T_tl4}], "Pressure": [{"Unit": "DCR","Type": "Offset pressure SRG","Value":lis_p_offs_srg}, {"Unit": "DCR","Type": "Fill pressure SRG ","Value":lis_p_fill_srg}, {"Unit": "Pa","Type": "Offset pressure 01Torr","Value":lis_p_offs_01}, {"Unit": "Pa","Type": "Fill pressure 01Torr","Value":lis_p_fill_01}, - {"Unit": "bar","Type": "TL1 pressure ","Value":lis_p_ig}], - "Date": [{"Unit": "year-month-day","Type": "Datum ","Value":lis_datum}, - {"Unit": "hh:mm:ss","Type": "Messzeit ","Value":lis_time}], + {"Unit": "mbar","Type": "TL1 pressure ","Value":lis_p_ig}], + "Date": [{"Unit": "year-month-day","Type": "Datum","Value":lis_datum}, + {"Unit": "hh:mm:ss","Type": "Messzeit","Value":lis_time}], "Valve": [{"Unit": "1","Type": "Connection", "Comment":"Connection of the leak" ,"Value":lis_valve}], "Current": [{"Unit": "mbar","Type": "I-TL","Value": lis_I_TL}, {"Unit": "mbar","Type": "I-FM","Value": lis_I_FM}, @@ -596,18 +598,18 @@ else: print("SRG") else: - doc["Calibration"]["Measurement"]["Values"]={"Temperature": [{"Unit": "C","Type": "T-FM ","Comment":"Temperatur T ","Value": lis_T_fm}, + doc["Calibration"]["Measurement"]["Values"]={"Temperature": [{"Unit": "C","Type": "T-FM","Comment":"Temperatur T ","Value": lis_T_fm}, {"Unit": "C","Type": "T-Room","Comment":"Temperatur T","Value": lis_T_room}, - {"Unit": "C","Type": "T-TL1 ","Comment":"Temperatur T","Value": lis_T_tl1}, - {"Unit": "C","Type": "T-TL2 ","Comment":"Temperatur T","Value":lis_T_tl2}, - {"Unit": "C","Type": "T-TL2 ","Comment":"Temperatur T","Value":lis_T_tl3}, - {"Unit": "C","Type": "T-TL3 ","Comment":"Temperatur T","Value": lis_T_tl4}], - "Pressure": [{"Unit": "Pa","Type": "Offset pressure ","Value":lis_p_offs}, + {"Unit": "C","Type": "T-TL1","Comment":"Temperatur T","Value": lis_T_tl1}, + {"Unit": "C","Type": "T-TL2","Comment":"Temperatur T","Value":lis_T_tl2}, + {"Unit": "C","Type": "T-TL2","Comment":"Temperatur T","Value":lis_T_tl3}, + {"Unit": "C","Type": "T-TL3","Comment":"Temperatur T","Value": lis_T_tl4}], + "Pressure": [{"Unit": "Pa","Type": "Offset pressure","Value":lis_p_offs}, {"Unit": "Pa","Type": " pressure fill","Value":lis_p_fill}, - {"Unit": "bar","Type": "TL1 pressure ","Value":lis_p_ig}], - "Date": [{"Unit": "year-month-day","Type": "Datum ","Value":lis_datum}, - {"Unit": "hh:mm:ss","Type": "Messzeit ","Value":lis_time}], + {"Unit": "mbar","Type": "TL1 pressure","Value":lis_p_ig}], + "Date": [{"Unit": "year-month-day","Type": "Datum","Value":lis_datum}, + {"Unit": "hh:mm:ss","Type": "Messzeit","Value":lis_time}], "Valve": [{"Unit": "1","Type": "Connection", "Comment":"Connection of the leak" ,"Value":lis_valve}], "Current": [{"Unit": "mbar","Type": "I-TL","Value": lis_I_TL}, {"Unit": "mbar","Type": "I-FM","Value": lis_I_FM}, @@ -617,7 +619,7 @@ else: {"Unit": "dd.mm.yy hh:mm:ss -dd.mm.yy hh:mm:ss","Type": "I-FM","Value": lis_I_FM_time}, {"Unit": "dd.mm.yy hh:mm:ss -dd.mm.yy hh:mm:ss","Type": "I-Offs","Value": lis_I_Offs_time}] } - doc["Calibration"]["Measurement"]["Values"]["Conductance"]={ "C": [{"Unit": "m^3/s","Type": "Constanter Leitwert ","Value": lis_c}]} + doc["Calibration"]["Measurement"]["Values"]["Conductance"]={ "C": [{"Unit": "m^3/s","Type": "Constanter Leitwert","Value": lis_c}]} print("Constanter Leitwert") @@ -645,10 +647,10 @@ key_value_offs=dict(zip(def_key_offs, def_value_offs)) -doc["Calibration"]["Measurement"]["AuxValues"]={"ScanQMS": [{"Unit": "Mass","Type": "QMS ","Comment":"Masse ","Value":lis_mass_no}, +doc["Calibration"]["Measurement"]["AuxValues"]={"ScanQMS": [{"Unit": "Mass","Type": "QMS","Comment":"Masse ","Value":lis_mass_no}, {"Unit": "mbar","Type": "Current","Comment":"Wert / Masse","Value": lis_mass_value}, {"Unit": "mbar","Type": "Current Offset","Comment":"Wert / Masse","Value": lis_mass_value_offs}], - "DefQMS": [{"Type": "Scan QMS ","Value":key_value}, + "DefQMS": [{"Type": "Scan QMS","Value":key_value}, {"Type": "Scan Offset QMS","Value": key_value_offs}]} diff --git a/file-to-couchdb_tl2.py b/file-to-couchdb_tl2.py index fa4f7eecd4142d6a88fff2c0e28851ed9bbdf938..992ce17b6f6cf26c9ff9bf94847f227268a334dd 100644 --- a/file-to-couchdb_tl2.py +++ b/file-to-couchdb_tl2.py @@ -26,7 +26,7 @@ db = couch['vl_db'] # existing -cal_cert = "75556" +cal_cert = "75586" year = "2024" no = "0001" diff --git a/tl1.ini b/tl1.ini new file mode 100644 index 0000000000000000000000000000000000000000..16023f1df8fd40b065853ee1114c4a1a343a07a0 --- /dev/null +++ b/tl1.ini @@ -0,0 +1,8 @@ +[cert] +cal_cert = 75560 +year = 2024 +no = 0001 + +[path] +path=C:\\Users\\becker07\\kalibrierschein\\ks- + diff --git a/writeLaTex-ks-TL1.py b/writeLaTex-ks-TL1.py index 4f31d8e5f108e0b787c9e4017546fe3abeb00e95..f7ddd03a6c6e1460cc9976767c136663db4d7b4c 100644 --- a/writeLaTex-ks-TL1.py +++ b/writeLaTex-ks-TL1.py @@ -1,35 +1,35 @@ -# -*- coding: utf-8 -*- -""" -Created on Tue Aug 23 09:45:09 2022 - -@author: becker07 -""" - import time import couchdb from datetime import date +try: + from configparser import ConfigParser +except ImportError: + from ConfigParser import ConfigParser # ver. < 3.0 + + couch = couchdb.Server('http://a73434.berlin.ptb.de:5984') db = couch['vl_db'] # existing +config = ConfigParser() +# parse existing file +config.read('tl1.ini') +# read values from a section -## Eingabe von: -# - Kalibrierscheinnummer -# - Jahr der Kalibrierung -# - laufende Nummer der Kalibrierung +cal_cert = config.get('cert', 'cal_cert') +year = config.get('cert', 'year') +no = config.get('cert', 'no') +path=config.get('path', 'path') -cal_cert = "75552" -year = "2024" -year_Mark=year[2:] -print(year_Mark) -no = "0001" -CertificateDate = str(date.today()) +CertificateDate = str(date.today()) json_file_cer = "cer-" + year + "-" + cal_cert print(json_file_cer) +### Kontrolle ob schon ein cer existiert ######### + id_cer = 0 mango = {'selector': {'_id':json_file_cer}} @@ -41,10 +41,11 @@ print(id_cer) doc = {'_id': json_file_cer} + if id_cer == 0: db.save(doc) - print ( "Warten! 30 Sekunden" ) - time.sleep ( 30 ) + print ( "Warten! 5 Sekunden" ) + time.sleep ( 5 ) print ( json_file_cer," ist in der Couch angelegt" ) else: @@ -52,8 +53,7 @@ else: id_ = "cal-" + year + "-fm1-kk-" + cal_cert + "_" + no -ks = "C:\\Users\\becker07\\kalibrierschein\\ks-" + cal_cert + "-" + year + ".tex" - +ks = path + cal_cert + "-" + year + ".tex" cer = "cer-" + year + "-" + cal_cert json_file_cal = id_ @@ -62,19 +62,24 @@ doc_cal = db.get(json_file_cal) doc_cer = db.get(json_file_cer) -print(json_file_cal) - - -##### Meta ####### + ##### Daten aus dem cal Dokument werden eingelesen####### +std = doc_cal["Calibration"]["ToDo"]["Standard"] kind = doc_cal["Calibration"]["ToDo"]["Type"] gas = doc_cal["Calibration"]["ToDo"]["Gas"] lang = doc_cal["Calibration"]["Customer"]["Lang"] +todo = doc_cal["Calibration"]["ToDo"]["Type"] + + + + + + +print(lang) calibration_type = "KK" last_cert_no = doc_cal["Calibration"]["Presettings"] - ###### überprüfen ob eine letztes Cal-Zeichen gibt ######################### if "LastCalibrationYear" in last_cert_no: @@ -92,21 +97,6 @@ else: - - - -##### Titlepage ####### - - -MeasurementDateBegin = doc_cal["Calibration"]["Measurement"]["Date"][0]["Value"] -MeasurementDateBegin = MeasurementDateBegin[0] -MeasurementDateEnd = doc_cal["Calibration"]["Measurement"]["Date"][0]["Value"] -MeasurementDateEnd = MeasurementDateEnd[0] - - -CountryCode= lang -DeviceClass= "TLV" - Standard = doc_cal["Calibration"]["ToDo"]["Standard"] Land= doc_cal["Calibration"]["Customer"]["Address"]["Land"] @@ -121,156 +111,194 @@ Zipcode= doc_cal["Calibration"]["Customer"]["Address"]["Zipcode"] ObjectOfCalibration= doc_cal["Calibration"]["CustomerObject"]["Type"] Producer= doc_cal["Calibration"]["CustomerObject"]["Device"]["Producer"] Type= doc_cal["Calibration"]["CustomerObject"]["Device"]["Type"] ########## Type -Object= doc_cal["Calibration"]["CustomerObject"]["NameCer"] ########## Gegenstand/Object +Object= doc_cal["Calibration"]["CustomerObject"]["Type"] ########## Gegenstand/Object Serial= doc_cal["Calibration"]["CustomerObject"]["Name"] ########## Kennummer Examiner= doc_cal["Calibration"]["Measurement"]["Maintainer"] ByOrder= "Dr. Matthias Bernien" MeasurementDate= doc_cal["Calibration"]["Result"]["Formula"]["MeasurementDate"] QMS= doc_cal["Calibration"]["Result"]["Formula"]["QMS"] -print(MeasurementDate) + obj ='\\object{'+ Object + '}\n' manufacturer = '\\manufacturer{' + Producer +' }\n' typ = '\\type{' + Type + '}\n' serialNo = '\\serialNo{' + Serial + '}\n' -applicant = '\\applicant{{' + Name + '}\n {' + Street + '} \n {' + Zipcode +' ' + Town +'}\n {' + Land+'}}\n' +applicant = '\\applicant{{' + Name + '}\n {' + Street + '} \n {' + Zipcode + Town +'}\n {' + Land+'}}\n' refNo = '\\refNo{ ' + ReferenceNo + '}\n' -calibMark = '\\calibMark{ ' + Certificate + ' PTB ' + year_Mark + '}\n' -print(calibMark) +calibMark = '\\calibMark{ ' +' ' + Certificate + ' PTB 23}\n' calibDate = '\\calibDate{' + MeasurementDate + '}\n' examiner = '\\examiner{' + Examiner + '}\n' certificateDate = '\\certificateDate{' + CertificateDate + '}\n' -##################section Beschreibung zum Kalibriergerät - -if (sectionDiscription_noyes!= 'yes'): - - sectionDiscription_2= " Dies ist die erste von der PTB durchgeführte Kalibrierung." - sectionDiscription_2_en= "This is the first calibration at PTB." - print(" 1. durchgeführte Kalibrierung") -else: - - sectionDiscription_2= " Die von der PTB zuletzt durchgeführten Kalibrierung ist im Kalibrierschein " + last_cert + " beschrieben." - sectionDiscription_2_en= " The previous calibration at PTB had been carried out " + last_cert_year + ' with the calibration mark ' + last_cert + " ." +################## Ergebnisse ################################################### +NoOfMeasurements= doc_cal["Calibration"]["Result"]["Formula"]["NoOfMeasurements"] +FlowMol= doc_cal["Calibration"]["Result"]["Formula"]["FlowMol"] +FlowpV23= doc_cal["Calibration"]["Result"]["Formula"]["FlowpV23"] +FlowpV2X= doc_cal["Calibration"]["Result"]["Formula"]["FlowpV2X"] +TemperatureTL= doc_cal["Calibration"]["Result"]["Formula"]["TemperatureTL"] +TemperatureTLx= doc_cal["Calibration"]["Result"]["Formula"]["TemperatureTLx"] +Gauge= doc_cal["Calibration"]["Result"]["Formula"]["Gauge"] +LeakUncertainty= doc_cal["Calibration"]["Result"]["Formula"]["LeakUncertainty"] +print("TLX= ",TemperatureTLx) TextDE= doc_cal["Calibration"]["CustomerObject"]["Text"]["description"]["de"] TextEN= doc_cal["Calibration"]["CustomerObject"]["Text"]["description"]["en"] -sectionText_title_de = 'Beschreibung zum Kalibriergerät ' -sectionText_title_en = 'Description relating to calibration device' -sectionTitleText_de = '\\section{' + sectionText_title_de + '\\linebreak {\\small \\emph{' + sectionText_title_en + 'Description relating to calibration device}}}\n' + TextDE + sectionDiscription_2+'\n' + '\\begin{english}' + TextEN + sectionDiscription_2_en +'\\end{english} \n' -sectionTitleText_en = '\\section{' + sectionText_title_en + ' }\n' + TextEN +sectionDiscription_2_en +'\n' +############################################################################################################################################################### +####### Überschriften ###################### -######################### Messverfahren ######################################################################### +######## Deutsch ########################## +sectionDescriptionTitle = 'Beschreibung zum Kalibriergerät' sectionTitelProcedure = 'Kalibrierverfahren ' -sectionTitelProcedure_en = 'Calibration procedure' -sectionTitelProcedure_text_en = '\\section{' + sectionTitelProcedure_en + '}\n ' -sectionTitelProcedure_text = '\\section{' + sectionTitelProcedure + '\\linebreak {\\small \\emph{' + sectionTitelProcedure_en + '}}}\n ' +sectionTitelResult = 'Messergebnis ' +sectionTitelUncertainty = 'Unsicherheit ' -sectionProcedure1='Der aus dem thermostatisierten Testleck TL austretende Gasfluss wird mit Hilfe eines Massenspektrometers mit einem annähernd gleich groß eingestellten Gasfluss \\(q_{\\text{mol, FM}}\\) verglichen, dessen Größe mit einem Durchflussmesser (Flowmeter FM) bestimmt wird. Die Durchflussmessung erfolgt bei konstantem Druck \\(p_\\text{FM}\\) und konstanter Temperatur \\(T_{\\text{FM}}\\).\n ' -sectionProcedure1_en ='The gas flow from the leak TL is compared with a gas flow \\(q_{\\text{mol, FM}}\\) of about the same flow rate from a flow meter FM by a mass spectrometer. The flow measurement is operated at constant pressure \\(p_{\\text{FM}}\\) and constant (absolute) temperature \\(T_{\\text{FM}}\\). \n' -sectionProcedureE1 = ' \\[ q_{\\text{mol, FM}} = p_{\\text{FM}} \\cdot C \\cdot \\frac{1}{R \\cdot T_{\\text{FM}}} \\] ' -sectionProcedure2=' Der Druck \\(p_{\\text{FM}}\\) wurde mit einem kapazitiven Membranvakuummeter gemessen. Dieses Gerät ist durch Vergleich mit einem Primärnormal der PTB kalibriert worden. Der Leitwert \\(C\\) wird aus der zeitlichen Volumenänderung (\\(\\Delta V/\\Delta t\\)) eines zusammendrückbaren, kalibrierten Federbalgs (\\(\\Delta V\\)) und einer elektronischen Uhr (\\(\\Delta t\\)) ermittelt. Die molare Gaskonstante \\(R\\) hat den Wert 83,145~\\(\\text{mbar}\\)~\\(\\text{l}\\)~\\(\\text{mol}^{-1}\\)~\\(\\text{K}^{-1}\\). \n ' -sectionProcedure2_en=' The pressure \\(p_{\\text{FM}}\\) is measured with a capacitance diaphragm gauge. This gauge is calibrated by comparison with a primary standard of PTB. The conductance \\(C\\) of the capillary integrated in the flow meter is obtained from the temporal volume change (\\(\\Delta V/\\Delta t\\)) that is needed to keep \\(p_\\text{FM}\\) constant. It is measured by means of a calibrated bellow and an electronic clock. The molar gas constant \\(R\\) has the value 83.145~\\(\\text{mbar}\\)~\\(\\text{l}\\)~\\(\\text{mol}^{-1}\\)~\\(\\text{K}^{-1}\\). ' -sectionProcedureE3 = ' \\[ q_{\\text{mol, TL}} = q_{\\text{mol, FM}} \\cdot \\frac{S_{\\text{TL}}}{S_{\\text{FM}}} \\] ' -sectionProcedure3=' Die Leckrate \\(q_{\\text{mol, TL}}\\) des Testlecks wird nach folgender Beziehung berechnet:' -sectionProcedure3_en=' The molar leak rate \\(q_{\\text{mol, TL}}\\) of the test leak can be calculated by the following equation:' -sectionProcedure4=' mit \\(S_\\text{TL}\\) dem Signal am Massenspektrometer für den Gasfluss des Testlecks und \\(S_\\text{FM}\\) dem Signal am Massenspektrometer für den eingestellten Vergleichsgasfluss.' -sectionProcedure4_en=' whereby \\(S_{\\text{TL}}\\) is the signal at the mass spectrometer for the gas flow from the test leak and \\(S_{\\text{FM}}\\) the signal at the mass spectrometer for the gas flow from the flow meter.' -sectionProcedure_text= sectionProcedure1 + sectionProcedure2 +'\\begin{english}' + sectionProcedure1_en + sectionProcedure2_en + '\\end{english}' + sectionProcedureE1 + sectionProcedure3 + '\\begin{english}' + sectionProcedure3_en + '\\end{english} '+ sectionProcedureE3 + sectionProcedure4 + '\\begin{english}' + sectionProcedure4_en + '\\end{english} ' -sectionProcedure_text_en= sectionProcedure1_en + sectionProcedure2_en + sectionProcedureE1 + sectionProcedure3_en + sectionProcedureE3 + sectionProcedure4_en + '\n' +######## Englisch ########################## +sectionDescriptionTitle_en = 'Description relating to calibration device' +sectionTitelProcedure_en = 'Calibration procedure ' +sectionTitelResult_en = 'Measurement results' +sectionTitelUncertainty_en = 'Uncertainty of Calibration' -################## Ergebnisse ################################################### +####### Überschriften Ende ###################### -NoOfMeasurements= doc_cal["Calibration"]["Result"]["Formula"]["NoOfMeasurements"] -FlowMol= doc_cal["Calibration"]["Result"]["Formula"]["FlowMol"] -FlowpV23= doc_cal["Calibration"]["Result"]["Formula"]["FlowpV23"] -FlowpV2X= doc_cal["Calibration"]["Result"]["Formula"]["FlowpV2X"] -TemperatureTL= doc_cal["Calibration"]["Result"]["Formula"]["TemperatureTL"] -TemperatureTLx= doc_cal["Calibration"]["Result"]["Formula"]["TemperatureTLx"] +####### Formeln #################### +q_mol_FM_allg = ' \\[ q_\\text{mol, FM} = p_{\\text{FM}} ~ C ~ \\frac{1}{RT_{\\text{FM}}}\\] ' +q_mol_TL_allg = ' \\[ q_\\text{mol, TL} = q_\\text{mol, FM} ~ \\frac{S_\\text{TL}}{S_\\text{FM}}\\] \n ' +q_mol_Val= 'q_\\text{mol}(\\vartheta_\\text{TL}) =\\SI{ ' + FlowMol + ' }{\\mol\\per\\second}' +q_pV_allg = ' \\[ q_{pV}(\\vartheta_\\text{Ch}) = q_{\\text{mol}} ~ R ~ (\\vartheta_\\text{Ch} + T_0) \\] ' +q_pV_23C = 'q_{pV}(\\SI{23}{\\degreeCelsius})= \\num{' + FlowpV23 + '} ~\\text{Pa}~\\text{m}^3~\\text{s}^{-1}' +q_pV_2X = 'q_{pV}(\\SI{23}{\\degreeCelsius})= \\num{' + FlowpV2X + '} ~\\text{Pa}~\\text{m}^3~\\text{s}^{-1}' -QMS= doc_cal["Calibration"]["Result"]["Formula"]["QMS"] -Gauge= doc_cal["Calibration"]["Result"]["Formula"]["Gauge"] -LeakUncertainty= doc_cal["Calibration"]["Result"]["Formula"]["LeakUncertainty"] -print("TLX= ",TemperatureTLx) +######## Tabellen um die Formeln zu zentriert. Bei den deutsch englischen Kalibrierschein stehen beide Ergebnisse direkt untereinander########################### -sectionTitelMeasurement = 'Messergebnis ' -sectionTitelMeasurement_en = 'Measurement results' -sectionTitelMeasurement_text_en = '\\section{' + sectionTitelMeasurement_en + '}\n ' -sectionTitelMeasurement_text = '\\section{' + sectionTitelMeasurement + '\\linebreak {\\small \\emph{' + sectionTitelMeasurement_en + '}}}\n ' +tab_q_mol_Val= '\\begin{center}\\begin{tabular}[h]{c} $$$' + q_mol_Val + '$$$ \\\\ $$$\\begin{english} ' + q_mol_Val + ' \\end{english}$$$ \\end{tabular}\\end{center} ' +tab_q_mol_Val_en= ' \\[ ' + q_mol_Val + '\\] \n' +tab_q_pV_Val= '\\begin{center}\\begin{tabular}[h]{c} $$$' + q_pV_23C + '$$$ \\\\ $$$\\begin{english} '+ q_pV_23C + '\\end{english}$$$ \\end{tabular}\\end{center}' +tab_q_pV_Val_en= ' \\[ ' + q_pV_23C + '\\] \n' -sectionResultMol = 'Mit dem thermostatisierten Testleck wurden insgesamt ' + NoOfMeasurements + '~Leckratenbestimmungen bei einer Testlecktemperatur von \\( \\vartheta_\\text{TL}= \\SI{' + TemperatureTL + '}{\\degreeCelsius} \\) durchgeführt. Der Mittelwert ergab die (molare) Leckrate: ' -sectionResultMol_en = NoOfMeasurements + '~measurements were carried out at a leak temperature of \\( \\vartheta_\\text{TL}= \\SI{' + TemperatureTL + '}{\\degreeCelsius} \\) (thermostated). The mean leak rate (molar flow) was determined to: ' -sectionResultMol_pup_en = NoOfMeasurements + '~measurements were carried out at a leak temperature of \\( \\vartheta_\\text{TL}= \\SI{' + TemperatureTL + '}{\\degreeCelsius} \\) (thermostated). The mean leak rate (molar flow) for relativ pressure \\( p_{\\text{up}}=\\SI{0.0}{\\bar} \\) (leak indication) at the upstream pressure side was determined to: ' -sectionResultMolVal= '\\[ q_\\text{mol}(\\vartheta_\\text{TL}) =\\SI{' + FlowMol + '}{\\mol\\per\\second} \\] ' -sectionResultMolVal_en= '\\( q_\\text{mol}(\\vartheta_\\text{TL}) =\\SI{' + FlowMol + '}{\\mol\\per\\second} \\) ' -sectionResultpV = 'Daraus kann für den Ort mit einer Temperatur \\(\\vartheta_\\text{Ch}\\) in \\si{\\degreeCelsius}, an dem sich der Prüfling befindet und mit \\(T_0 = \\SI{273.15}{\\kelvin}\\), der \\(pV\\)-Durchfluss nach folgender Beziehung berechnet werden.' -sectionResultpV_en = 'From this the \\(pV\\)-flow can be calculated for a place at a temperature \\(\\vartheta_\\text{Ch}\\) (in \\si{\\degreeCelsius}), where a device under test is mounted and \\(T_0 = \\SI{273.15}{\\kelvin}\\), by the equation:' -sectionResultpVVal = '\\[q_{pV}(\\vartheta_\\text{Ch}) = q_{\\text{mol}}(\\vartheta_\\text{TL})\\cdot R \\cdot (\\vartheta_\\text{Ch} + T_0)\\] ' - -sectionResultpV_T = 'Bei einer Kammertemperatur von \\( \\vartheta_\\text{TL}= \\SI{23}{\\degreeCelsius} \\) beträgt die Leckrate \\( q_{pV}(\\SI{23}{\\degreeCelsius}) \\):' -sectionResultpV_T_en = 'At a chamber temperature \\(\\vartheta_\\text{Ch}=\\SI{23}{\\degreeCelsius}\\) the leak rate \\(q_{pV}(\\SI{23}{\\degreeCelsius})\\) will be:' +######## Formeln Ende ###################### + -sectionResultpV_Tx = 'und bei einer Kammertemperatur von \\( \\vartheta_\\text{TL}= \\SI{'+ TemperatureTLx +'}{\\degreeCelsius} \\) beträgt die Leckrate \\( q_{pV}(\\SI{'+ TemperatureTLx +'}{\\degreeCelsius}) \\):' -sectionResultpV_Tx_en = 'and at a chamber temperature \\(\\vartheta_\\text{Ch}=\\SI{'+ TemperatureTLx +'}{\\degreeCelsius}\\) the leak rate \\(q_{pV}(\\SI{'+ TemperatureTLx +'}{\\degreeCelsius})\\) will be:' -sectionResultpVVal_T23 = ' \\[q_{pV}(\\SI{23}{\\degreeCelsius})= \\num{' + FlowpV23 + '} ~\\text{Pa}~\\text{m}^3~\\text{s}^{-1}\\]' -sectionResultpVVal_T23_en = '\\( q_{pV}(\\SI{23}{\\degreeCelsius})= \\num{' + FlowpV23 + '} ~\\text{Pa}~\\text{m}^3~\\text{s}^{-1}\\)' -sectionResultpVVal_Tx = ' \\[q_{pV}(\\SI{' + TemperatureTLx + '}{\\degreeCelsius})= \\num{' + FlowpV2X + '} ~\\text{Pa}~\\text{m}^3~\\text{s}^{-1}\\]' -sectionResultpVVal_Tx_en = ' \\( q_{pV}(\\SI{'+ TemperatureTLx +'}{\\degreeCelsius})= \\num{' + FlowpV2X + '} ~\\text{Pa}~\\text{m}^3~\\text{s}^{-1}\\)' +###### 1. Section: Beschreibung zum Kalibriergerät ################### -sectionResultU = 'Die relative Unsicherheit \\(U\\) der angegebenen Leckraten beträgt \\( \\SI{'+ LeakUncertainty +'}{\\percent} \\).' -sectionResultU_en = 'The relative uncertainty \\(U\\) of the stated leak rate is \\( \\SI{'+ LeakUncertainty +'}{\\percent} \\). ' +sectionDiscription_1= TextDE ###### Beschreibung aus dem cal-Dokument +sectionDiscription_1_en= TextEN ###### Beschreibung aus dem cal-Dokument + + +if (sectionDiscription_noyes!= 'yes'): + + sectionDiscription_2= " Dies ist die erste von der PTB durchgeführte Kalibrierung." + sectionDiscription_2_en= "This is the previous calibration at PTB." + print(" 1. durchgeführte Kalibrierung") +else: + + sectionDiscription_2= " Die von der PTB zuletzt durchgeführten Kalibrierung ist im Kalibrierschein " + last_cert + " beschrieben." + sectionDiscription_2_en= " The previous calibration at PTB had been carried out " + last_cert_year + ' with the calibration mark ' + last_cert + " ." + + + -sectionResult = sectionResultMol + sectionResultMolVal +'\\begin{english}' + sectionResultMol_en + sectionResultMolVal_en + '\\end{english}' + sectionResultpV + '\\begin{english}' + sectionResultpV_en +'\\end{english}' + sectionResultpVVal + '\\linebreak ' + sectionResultpV_T + sectionResultpVVal_T23 + '\\begin{english}' + sectionResultpV_T_en + sectionResultpVVal_T23_en + '\\end{english}' + sectionResultU + '\\begin{english}' + sectionResultU + '\\end{english}' -sectionResult_Tx = sectionResultMol + sectionResultMolVal +'\\begin{english}' + sectionResultMol_en + sectionResultMolVal_en + '\\end{english}' + sectionResultpV + '\\begin{english}' + sectionResultpV_en +'\\end{english}' + sectionResultpVVal + sectionResultpV_T + sectionResultpVVal_T23 + sectionResultpV_Tx + sectionResultpVVal_Tx + '\\begin{english}' + sectionResultpV_T_en + sectionResultpVVal_T23_en + sectionResultpV_Tx_en + sectionResultpVVal_Tx_en + '\\end{english}' + sectionResultU + '\\begin{english}' + sectionResultU + '\\end{english}' +sectionDiscription_1_en= TextEN ###### Beschreibung aus dem cal-Dokument +sectionDiscription = '\\section{' + sectionDescriptionTitle + '\\linebreak {\\small \\emph{' + sectionDescriptionTitle_en + '}}}\n' + sectionDiscription_1 + sectionDiscription_2 + '\n' + '\\begin{english}' + TextEN + sectionDiscription_2_en + '\\end{english} \n' +sectionDiscription_en = '\\section{' + sectionDescriptionTitle_en +'}\n' + TextEN + sectionDiscription_2_en -sectionResult_en = sectionResultMol_en + sectionResultMolVal + sectionResultpV_en + sectionResultpVVal + sectionResultpV_T_en + sectionResultpVVal_T23 -#sectionResult_en = sectionResultMol_pup_en + sectionResultMolVal + sectionResultpV_en + sectionResultpVVal + sectionResultpV_T_en + sectionResultpVVal_T23 -######################################## Unsicherheit ###################################################### +print(sectionDiscription, " Discription funktioniert") -sectionU = 'Angegeben ist die erweiterte Messunsicherheit \\(U\\), die sich aus der Standardmessunsicherheit durch Multiplikation mit dem Erweiterungsfaktor \\(k = 2\\) ergibt. Sie wurde gemäß dem „Guide to the Expression of Uncertainty in Measurement (GUM)“ ermittelt. Der Wert der Messgröße liegt dann im Regelfall mit einer Wahrscheinlichkeit von annähernd \\SI{95}{\\percent} im zugeordneten Überdeckungsintervall.\\n ' -sectionU_en = 'The uncertainty \\(U\\) stated is the expanded measurement uncertainty obtained by multiplying the standard measurement uncertainty by the coverage factor \\(k = 2\\). It has been determined in accordance with the “Guide to the Expression of Uncertainty in Measurement (GUM)”. The value of the measurand then normally lies, with a probability of approximately \\SI{95}{\\percent} within the attributed coverage interval.' -sectionU_text = sectionU + '\\begin{english} ' + sectionU_en + '\\end{english}' -sectionU_text_en = sectionU_en +####### 2. Section: Procedure ################################### -sectionTitelUncertainty = 'Unsicherheit ' -sectionTitelUncertainty_en = 'Uncertainty of Calibration' -sectionTitelUncertainty_text_en = '\\section{' + sectionTitelUncertainty_en + '} ' -sectionTitelUncertainty_text = '\\section{' + sectionTitelUncertainty + '\\linebreak {\\small \\emph{' + sectionTitelUncertainty_en + '}}}' +sectionProcedure1='''Der aus dem thermostatisierten Testleck TL austretende Gasfluss \\(q_{\\text{mol, TL}}\\) wird mit Hilfe eines Massenspektrometers mit einem annähernd gleich groß eingestellten Gasfluss \\(q_{\\text{mol, FM}}\\) +verglichen, dessen Größe mit einem Durchflussmesser (Flowmeter FM) bestimmt wird. Die Durchflussmessung erfolgt bei konstantem Druck \\(p_{\\text{FM}}\\) und konstanter Temperatur \\(T_{\\text{FM}}\\). Der Druck \\(p_{\\text{FM}}\\) wird + mit einem kapazitiven Membranvakuummeter gemessen. Dieses Gerät ist durch einen Vergleich mit einem Primärnormal der PTB kalibriert worden. Der Leitwert \\(C\\) wird aus der zeitlichen Volumenänderung (\\(\\Delta V/\\Delta t\\)) + eines zusammendrückbaren, kalibrierten Federbalgs (\\(\\Delta V\\)) und einer elektronischen Uhr (\\(\\Delta t\\)) ermittelt. Die molare Gaskonstante \\(R\\) hat den Wert 8,3145~\\(\\text{Pa}\\)~\\(\\text{m}^3\\)~\\(\\text{mol}^{-1}\\)~\\(\\text{K}^{-1}\\).''' + +sectionProcedure2=' Die Leckrate \\(q_{\\text{mol, TL}}\\) des Testlecks wird nach folgender Beziehung berechnet:\n ' +sectionProcedure3=' mit \\(S_{\\text{TL}}\\) dem Signal am Massenspektrometer für den Gasfluss des Testlecks und \\(S_{\\text{FM}}\\) dem Signal am Massenspektrometer für den eingestellten Vergleichsgasfluss.' + + +sectionProcedure1_en ='''The gas flow from the leak TL \\(q_{\\text{mol, TL}}\\) is compared with a gas flow \\(q_{\\text{mol, FM}}\\) of about the same flow rate from a flow meter FM by a +mass spectrometer. The flow measurement is operated at constant pressure \\(p_{\\text{FM}}\\) and constant (absolute) temperature \\(T_{\\text{FM}}\\). +The pressure \\(p_{\\text{FM}}\\) is measured with a capacitance diaphragm gauge. This gauge is calibrated by comparison with a primary +standard of PTB. The conductance \\(C\\) of the capillary integrated in the flow meter is obtained from the temporal volume change +(\\(\\Delta V/\\Delta t\\)) that is needed to keep \\(p_{\\text{FM}}\\) constant. It is measured by means of a calibrated bellow (\\(\\Delta V\\)) and an electronic clock (\\(\\Delta t\\)). The +molar gas constant \\(R\\) has the value 8.3145~\\(\\text{Pa}\\)~\\(\\text{m}^3\\)~\\(\\text{mol}^{-1}\\)~\\(\\text{K}^{-1}\\). ''' +sectionProcedure2_en='The molar leak rate \\(q_{\\text{mol, TL}}\\) of the test leak can be calculated by the following equation:' +sectionProcedure3_en=' whereby \\(S_{\\text{TL}}\\) is the signal at the mass spectrometer for the gas flow from the test leak and \\(S_{\\text{FM}}\\) the signal at the mass spectrometer for the gas flow from the flow meter.' + + +sectionProcedure = '\\section{' + sectionTitelProcedure + '\\linebreak {\\small \\emph{' + sectionTitelProcedure_en + '}}}\n' + sectionProcedure1 + '\\begin{english}' + sectionProcedure1_en + '\\end{english} \n' + q_mol_FM_allg + sectionProcedure2 + '\\begin{english}' + sectionProcedure2_en + '\\end{english} \n' + q_mol_TL_allg + sectionProcedure3 + '\\begin{english}' + sectionProcedure3_en +'\\end{english} \n' +sectionProcedure_en = '\\section{' + sectionTitelProcedure_en + '}\n' + sectionProcedure1_en + q_mol_FM_allg + sectionProcedure2_en + q_mol_TL_allg + sectionProcedure3_en + + +####### 3. Section: Result ################################### + +sectionResult1 = 'Mit dem thermostatisierten Testleck wurden insgesamt ' + NoOfMeasurements + ' Leckratenbestimmungen bei einer Testlecktemperatur von \\( \\vartheta_\\text{TL}= \\num{ ' + TemperatureTL + '}\\pm \\SI{0.1}{\\degreeCelsius} \\) durchgeführt.\n Der Mittelwert ergab die (molare) Leckrate:' +sectionResult2 = 'Daraus kann für den Ort mit einer Temperatur \\(\\vartheta_\\text{Ch}\\) in \\si{\\degreeCelsius}, an dem sich das Testleck befindet, mit \\(T_0 = \\SI{273.15}{\\kelvin}\\), der \\(pV\\)-Durchfluss nach folgender Beziehung berechnet werden.' +sectionResult3 = 'Bei einer Kammertemperatur von \\( \\vartheta_\\text{Ch}= \\SI{ 23 }{\\degreeCelsius} \\) ergibt sich ein \\(pV\\)-Durchfluss \\(q_{pV}\\) ' +sectionResult3_TX = 'Bei Kammertemperaturen von \\( \\vartheta_\\text{Ch}= \\SI{ 23 }{\\degreeCelsius} \\) und \\( \\vartheta_\\text{Ch}= \\SI{' + TemperatureTLx + ' }{\\degreeCelsius} \\) ergeben sich \\(pV\\)-Durchflüsse \\(q_{pV}\\) von' +sectionResult4 = 'Die relative Unsicherheit \\(U\\) der angegebenen Leckraten beträgt \\( \\SI{'+ LeakUncertainty +'}{\\percent} \\).' + + +sectionResult1_en = NoOfMeasurements + ' measurements were carried out at a leak temperature \\( \\vartheta_\\text{TL}= \\num{ ' + TemperatureTL + '}\\pm \\SI{0.1}{\\degreeCelsius} \\) (thermostated). The mean leak rate (molar flow) was determined to:' +sectionResult2_en = ' From this the \\(pV\\)-flow can be calculated for a place at a temperature \\(\\vartheta_\\text{Ch}\\) (in \\si{\\degreeCelsius}), where a device under test is mounted and \\(T_0 = \\SI{273.15}{\\kelvin}\\), by the equation ' +sectionResult3_en = 'At the temperature \\( \\vartheta_\\text{Ch}= \\SI{ 23 }{\\degreeCelsius} \\) the flow rate is' +sectionResult3_TX_en = 'At the temperatures \\( \\vartheta_\\text{Ch}= \\SI{ 23 }{\\degreeCelsius} \\) and \\( \\vartheta_\\text{Ch}= \\SI{ 23 }{\\degreeCelsius} \\) the flow rates are' +sectionResult4_en = 'The relative uncertainty \\(U\\) of the stated leak rate are \\( \\SI{'+ LeakUncertainty +'}{\\percent} \\).' + +sectionResult_en = '\\section{' + sectionTitelResult_en + '}\n' + sectionResult1_en + + + + + +sectionResult = '\\section{' + sectionTitelResult + '\\linebreak {\\small \\emph{' + sectionTitelResult_en + '}}}\n' + sectionResult1 + '\\begin{english}' + sectionResult1_en + '\\end{english} ' + tab_q_mol_Val + sectionResult2 + '\\begin{english}' + sectionResult2_en + '\\end{english} ' + q_pV_allg + sectionResult3 + '\\begin{english}' + sectionResult3_en + '\\end{english} ' + tab_q_pV_Val + sectionResult4 + '\\begin{english}' + sectionResult4_en + '\\end{english} \n' +sectionResult_en = sectionResult_en + sectionResult2_en + sectionResult4_en + + + + + +####### 4. Section: Uncertainty ################################### + +sectionU1 = 'Angegeben ist die erweiterte Messunsicherheit \\(U\\), die sich aus der Standardmessunsicherheit durch Multiplikation mit dem Erweiterungsfaktor \\(k = 2\\) ergibt. Sie wurde gemäß dem „Guide to the Expression of Uncertainty in Measurement (GUM)“ ermittelt. Der Wert der Messgröße liegt dann im Regelfall mit einer Wahrscheinlichkeit von annähernd \\SI{95}{\\percent} im zugeordneten Überdeckungsintervall.\n ' +sectionU1_en = 'The uncertainty \\(U\\) stated is the expanded measurement uncertainty obtained by multiplying the standard measurement uncertainty by the coverage factor \\(k = 2\\). It has been determined in accordance with the “Guide to the Expression of Uncertainty in Measurement (GUM)”. The value of the measurand then normally lies, with a probability of approximately \\SI{95}{\\percent} within the attributed coverage interval.' + +sectionU = '\\section{' + sectionTitelUncertainty + '\\linebreak {\\small \\emph{' + sectionTitelUncertainty_en + '}}}\n' + sectionU1 + '\\begin{english}' + sectionU1_en + '\\end{english} \n' +sectionU_en = '\\section{' + sectionTitelUncertainty_en + '}\n' + sectionU1_en if(lang!='en'): - print("de",lang) - with open(ks,'w', encoding='utf-8') as file: + print("Kalibrierschein in deutsch",lang) + with open(ks,'w', encoding='utf-8') as file: + file.write('\\listfiles\n') file.write('\\documentclass[de,KK,CMC]{kalibrierschein}\n ') file.write(obj) @@ -284,47 +312,32 @@ if(lang!='en'): file.write('\\byOrder{Dr. M.Bernien}\n') file.write(examiner) file.write(certificateDate) - - file.write('\\begin{document}\n') - - file.write('\\printFirstPage\n') - - file.write(sectionTitleText_de) - sectionText = sectionTitleText_de - - file.write(sectionTitelProcedure_text) - file.write(sectionProcedure_text) - file.write('\\pagebreak') - file.write(sectionTitelMeasurement_text) - - if(TemperatureTLx!=23): - file.write(sectionResult_Tx) - print("nicht 23") - - else: - file.write(sectionResult) - print(" 23 ToDo", sectionResult) - - - - - file.write('\\section{Unsicherheit \\linebreak {\\small \\emph{Uncertainty of Calibration}}} ') - file.write(sectionU_text) - - file.write('\\printLastPage') - file.write('\\end{document}\\n') + file.write('\\begin{document}\n') + file.write('\\printFirstPage\n') + file.write(sectionDiscription) + file.write(sectionProcedure) + file.write('\\pagebreak ') + file.write(sectionResult) + file.write(sectionU) + file.write('\\pagebreak ') + + file.write('\\printLastPage') + file.write('\\end{document}\n') + print("bis hier funktioniert") else: - print("en Kal",lang) - with open(ks,'w', encoding='utf-8') as file: + print('"Kalibrierschein in ',lang, "en") + + with open(ks,'w', encoding='utf-8') as file: + file.write('\\listfiles\n') file.write('\\documentclass[en,KK,CMC]{kalibrierschein}\n ') file.write(obj) @@ -338,48 +351,49 @@ else: file.write('\\byOrder{Dr. M.Bernien}\n') file.write(examiner) file.write(certificateDate) - + file.write('\\begin{document}\n') - + file.write('\\printFirstPage\n') - - file.write(sectionTitleText_en) - sectionText = sectionTitleText_en - - file.write(sectionTitelProcedure_text_en) - file.write(sectionProcedure_text_en) + file.write(sectionDiscription_en) - file.write(sectionTitelMeasurement_text_en) - file.write(sectionResult_en) - file.write(sectionResultU_en) - if(TemperatureTLx == 23): - file.write(sectionResult_Tx) - print("nicht 23",TemperatureTLx) - - else: - - print(" 23 ToDo") - #file.write(sectionTitelUncertainty_text_en) - #file.write(sectionU_text_en) - - file.write('\\printLastPage') - file.write('\\end{document}') + file.write(sectionProcedure_en) + file.write(sectionResult_en) + file.write(sectionU_en) + + file.write('\\pagebreak ') + + file.write('\\printLastPage') + file.write('\\end{document}\n') + print("bis hier funktioniert") + + + ####################Erstellung des cer-Dokuments ########################## + -doc_cer["Certificate"]={"Meta":{"std": ["FM1"], + ##### Doukument "cer" wird erstellt####### + + +MeasurementDateBegin = doc_cal["Calibration"]["Measurement"]["Date"][0]["Value"] +MeasurementDateBegin = MeasurementDateBegin[0] +MeasurementDateEnd = doc_cal["Calibration"]["Measurement"]["Date"][0]["Value"] +MeasurementDateEnd = MeasurementDateEnd[0] +DeviceClass= "TLA" + + +doc_cer["Certificate"]={"Meta":{"std": ["TL2"], "id":[id_], "kind" :[kind], "gas": [gas], "lang":lang, - "calibration_type":calibration_type, - }} - - - + "calibration_type":calibration_type, + "last_cert":last_cert}} + doc_cer["Certificate"]["Titlepage"]={"CertificateDate" :CertificateDate, "FullYear": "2024", "ShortYear": "24", @@ -406,30 +420,38 @@ doc_cer["Certificate"]["Titlepage"]={"CertificateDate" :CertificateDate, "ByOrder": ByOrder, } - - - - -doc_cer["Certificate"]["Section"]= [{"Heading": "Description relating to calibration device","Paragraph":sectionText}, - {"Heading": "Calibration procedure","Paragraph":sectionProcedure_text}, +if(lang!='en'): + doc_cer["Certificate"]["Section"]= [{"Heading": "Description relating to calibration device","Paragraph":sectionDiscription}, + {"Heading": "Calibration procedure","Paragraph":sectionProcedure}, {"Heading": "Measurement results","Paragraph":sectionResult}, {"Heading": "Uncertainty of Calibration","Paragraph":sectionU}], +else: + doc_cer["Certificate"]["Section"]= [{"Heading": "Description relating to calibration device","Paragraph":sectionDiscription_en}, + {"Heading": "Calibration procedure","Paragraph":sectionProcedure_en}, + {"Heading": "Measurement results","Paragraph":sectionResult_en}, + {"Heading": "Uncertainty of Calibration","Paragraph":sectionU_en}], + doc_cer["Certificate"]["Formula"]={"NoOfMeasurements": NoOfMeasurements, "FlowMol": FlowMol, - "FlowpV23": FlowpV23, + "FlowpV23":FlowpV23, "FlowpV2X":FlowpV2X, - "Gauge": Gauge, "TemperatureTL": TemperatureTL, "TemperatureTLx": TemperatureTLx, - "LeakUncertainty": LeakUncertainty, - "MeasurementDate": MeasurementDate, - "QMS": QMS, - + "LeakUncertainty": LeakUncertainty } + + + + + # + # + db.save(doc_cer) + + \ No newline at end of file