Fix voor: #8 Bug timeSerie("WN", "MWAD", xHm0")
Some checks failed
continuous-integration/drone/push Build is failing

- Tabel met lmw parameters opgenomen.
 - Period functie aangemaakt
 - Aanpassingen timeSerie en _roundtime_
 - Aanpassingen testen D10 --> H10 (D10 bestaat niet in lmw parameter tabel)
This commit is contained in:
2020-12-04 11:25:23 +01:00
parent 08af855c45
commit 830aebdfa4
4 changed files with 515 additions and 19 deletions

View File

@@ -25,6 +25,468 @@ Support for:
cmd(wn, vw, as) cmd(wn, vw, as)
""" """
lmwParameters = {
'Tm02_MV': ('VW', 1, 0),
'xH1': ('WN', 1, 1),
'HH1S': ('WN', 1, 1),
'SRV1': ('WN', 1, 1),
'TL1': ('WN', 1, 1),
'SRV1w1': ('WN', 1, 1),
'SRV1w2': ('WN', 1, 1),
'SRV1w3': ('WN', 1, 1),
'xTL1': ('WN', 1, 1),
'DO1': ('WN', 1, 1),
'SSV1': ('WN', 1, 1),
'SSV1w3G': ('WN', 1, 1),
'SSV1w3': ('WN', 1, 1),
'SSV1w2G': ('WN', 1, 1),
'SSV1w2': ('WN', 1, 1),
'SSV1w1G': ('WN', 1, 1),
'H1Z': ('WN', 1, 1),
'SSV1w1': ('WN', 1, 1),
'H1': ('WN', 1, 1),
'bSSVG1': ('WN', 1, 1),
'xWS1': ('WN', 1, 1),
'HG1Z': ('WN', 1, 1),
'WS1': ('WN', 1, 1),
'HG1': ('WN', 1, 1),
'WR1': ('WN', 1, 1),
'ZA1': ('WN', 1, 1),
'ZM1': ('WN', 1, 1),
'H1RC': ('WN', 1, 1),
'bSRV1': ('WN', 1, 1),
'bSSV1': ('WN', 1, 1),
'xWR1': ('WN', 1, 1),
'THmax': ('WN', 1, 10),
'Th0_B4': ('WN', 1, 10),
'Th0': ('WN', 1, 10),
'Th0_G1': ('WN', 1, 10),
'Th0_B3': ('WN', 1, 10),
'Th0_G10': ('WN', 1, 10),
'Th010': ('WN', 51, 10),
'Th0_G7': ('WN', 1, 10),
'Th0_B0': ('WN', 1, 10),
'Th0_G6': ('WN', 1, 10),
'Th0_G2': ('WN', 1, 10),
'Th0_G3': ('WN', 1, 10),
'Th0_B2': ('WN', 1, 10),
'Th0_B1': ('WN', 1, 10),
'Th0_G5': ('WN', 1, 10),
'Th0_G4': ('WN', 1, 10),
'Th0_G8': ('WN', 1, 10),
'Th0_G9': ('WN', 1, 10),
'TW10S': ('WN', 1, 10),
'U10': ('WN', 1, 10),
'UUR10': ('WN', 1, 10),
'Th3V': ('VW', 1, 10),
'V10': ('WN', 1, 10),
'V10S': ('WN', 1, 10),
'WC10': ('WN', 1, 10),
'WC10MXS3': ('WN', 1, 10),
'WC10V': ('VW', 1, 10),
'TW10': ('WN', 1, 10),
'Tm_10_M': ('WN', 1, 10),
'Tmax': ('WN', 1, 10),
'Th3': ('WN', 1, 10),
'Tm_10': ('WN', 1, 10),
'TL10': ('WN', 1, 10),
'TL10MNM1': ('WN', 1, 10),
'TL10MXM1': ('WN', 1, 10),
'Tm02': ('WN', 1, 10),
'Tm02V': ('VW', 1, 10),
'Tm02V_M': ('VW', 1, 10),
'Tm02_M': ('WN', 1, 10),
'WDG10': ('WN', 1, 10),
'TH1d3': ('WN', 1, 10),
'S0bh_G10': ('WN', 1, 10),
'SPGH': ('WN', 1, 10),
'SPGT': ('WN', 1, 10),
'SRV10': ('WN', 1, 10),
'SRV10m': ('WN', 50, 10),
'SRV10STD': ('WN', 1, 10),
'SRV10V': ('VW', 1, 10),
'SRV10w1': ('WN', 1, 10),
'SRV10w2': ('WN', 1, 10),
'SRV10w3': ('WN', 1, 10),
'SS10': ('WN', 1, 10),
'SH10': ('WN', 1, 10),
'SG10': ('WN', 1, 10),
'SEC10': ('WN', 1, 10),
'S0bh_G2': ('WN', 1, 10),
'S0bh_G3': ('WN', 1, 10),
'S0bh_G4': ('WN', 1, 10),
'S0bh_G5': ('WN', 1, 10),
'S0bh_G6': ('WN', 1, 10),
'S0bh_G7': ('WN', 1, 10),
'S0bh_G8': ('WN', 1, 10),
'S0bh_G9': ('WN', 1, 10),
'SAL10': ('WN', 1, 10),
'SD10': ('WN', 1, 10),
'SSG10': ('WN', 1, 10),
'SSV10': ('WN', 1, 10),
'SSV10A': ('AS', 1, 10),
'T10': ('WN', 1, 10),
'T1d3': ('WN', 1, 10),
'T1d3V': ('VW', 1, 10),
'TD10': ('WN', 1, 10),
'TD10M1': ('WN', 1, 10),
'TE0': ('WN', 1, 10),
'TE1': ('WN', 1, 10),
'TE1_M': ('WN', 1, 10),
'TE2': ('WN', 1, 10),
'TE3': ('WN', 1, 10),
'Stat10Sm': ('WN', 50, 10),
'Stat10S': ('WN', 1, 10),
'ST10': ('WN', 1, 10),
'SSV10m': ('WN', 50, 10),
'SSV10V': ('VW', 1, 10),
'SSV10w1': ('WN', 1, 10),
'SSV10w1G': ('WN', 1, 10),
'SSV10w2': ('WN', 1, 10),
'SSV10w2G': ('WN', 1, 10),
'SSV10w3': ('WN', 1, 10),
'SSV10w3G': ('WN', 1, 10),
'SSVG10': ('WN', 1, 10),
'SSVG10V': ('VW', 1, 10),
'TE3V': ('VW', 1, 10),
'xP10': ('WN', 1, 10),
'xSS10': ('WN', 1, 10),
'xSSV10': ('WN', 1, 10),
'xT1d3': ('WN', 1, 10),
'xTD10': ('WN', 1, 10),
'xTD10M1': ('WN', 1, 10),
'xTE1': ('WN', 1, 10),
'xTE2': ('WN', 1, 10),
'xTE3': ('WN', 1, 10),
'xTH1d3': ('WN', 1, 10),
'xTHmax': ('WN', 1, 10),
'xTh0': ('WN', 1, 10),
'xSRV10': ('WN', 1, 10),
'xSPGT': ('WN', 1, 10),
'xSPGH': ('WN', 1, 10),
'xPC10': ('WN', 1, 10),
'xPH': ('WN', 1, 10),
'xPH10': ('WN', 1, 10),
'xPQFE10': ('WN', 1, 10),
'xPQFF10': ('WN', 1, 10),
'xPQNH10': ('WN', 1, 10),
'xQ10': ('WN', 1, 10),
'xQ10B': ('VW', 1, 10),
'xR10': ('WN', 1, 10),
'xRS10': ('WN', 1, 10),
'xSH10P': ('WN', 1, 10),
'xTh3': ('WN', 1, 10),
'xTL10': ('WN', 1, 10),
'xWR10': ('WN', 1, 10),
'xWR10STD': ('WN', 1, 10),
'xWS10': ('WN', 1, 10),
'xWS10MX': ('WN', 1, 10),
'xWS10MXS': ('WN', 1, 10),
'xWS10STD': ('WN', 1, 10),
'xWS10XS1': ('WN', 1, 10),
'xZM10': ('WN', 1, 10),
'ZA10': ('WN', 1, 10),
'ZM10': ('WN', 1, 10),
'ZMT10': ('WN', 1, 10),
'xWC10MXS': ('WN', 1, 10),
'xWC10': ('WN', 1, 10),
'xVE10s': ('WN', 1, 10),
'xTL10MNM': ('WN', 1, 10),
'xTL10MXM': ('WN', 1, 10),
'xTm02': ('WN', 1, 10),
'xTmax': ('WN', 1, 10),
'xTm_10': ('WN', 1, 10),
'xTT10P': ('WN', 1, 10),
'xTW10': ('WN', 1, 10),
'xU10': ('WN', 1, 10),
'xV10': ('WN', 1, 10),
'xVE10': ('WN', 1, 10),
'xVE10S': ('WN', 1, 10),
'ZV10S': ('WN', 1, 10),
'WI': ('BL', 8, 10),
'xBS10S': ('WN', 1, 10),
'xBS10s': ('WN', 1, 10),
'xC10P': ('WN', 1, 10),
'xCHL10': ('WN', 1, 10),
'xCL10': ('WN', 1, 10),
'xCzz10': ('WN', 51, 10),
'xCzz5': ('WN', 25, 10),
'xD10': ('WN', 1, 10),
'xDO10': ('WN', 1, 10),
'xDO10P': ('WN', 1, 10),
'xFp': ('WN', 1, 10),
'xBM10s': ('WN', 1, 10),
'xBM10S': ('WN', 1, 10),
'xAV10_H': ('WN', 1, 10),
'WNR10': ('WN', 1, 10),
'WR10': ('WN', 1, 10),
'WR10STD': ('WN', 1, 10),
'WR10V': ('VW', 1, 10),
'WS10': ('WN', 1, 10),
'WS10MX10': ('WN', 1, 10),
'WS10MXS3': ('WN', 1, 10),
'WS10STD': ('WN', 1, 10),
'WS10V': ('VW', 1, 10),
'xAG': ('WN', 1, 10),
'xANT10': ('WN', 1, 10),
'xGE10': ('WN', 1, 10),
'xGGH': ('WN', 1, 10),
'xHS7': ('WN', 1, 10),
'xHTE3': ('WN', 1, 10),
'xKH10B': ('VW', 1, 10),
'xM0': ('WN', 1, 10),
'xNdlr_H': ('WN', 1, 10),
'xNd_z': ('WN', 1, 10),
'xNgd_zP': ('WN', 1, 10),
'xNI10': ('WN', 1, 10),
'xNi_z': ('WN', 1, 10),
'xNu_z': ('WN', 1, 10),
'xNv_z': ('WN', 1, 10),
'xHmax': ('WN', 1, 10),
'xHm0': ('WN', 1, 10),
'xHHR10': ('WN', 1, 10),
'xGGT': ('WN', 1, 10),
'xH10': ('WN', 1, 10),
'xH10BV': ('VW', 1, 10),
'xH10R': ('WN', 1, 10),
'xH10Z': ('WN', 1, 10),
'xH1d10': ('WN', 1, 10),
'xH1d3': ('WN', 1, 10),
'xH1d50': ('WN', 1, 10),
'xHCM': ('WN', 1, 10),
'xHH10': ('WN', 1, 10),
'xHH10R': ('WN', 1, 10),
'xNwt_zP': ('WN', 1, 10),
'G1_B0': ('WN', 1, 10),
'G2_B0': ('WN', 1, 10),
'G2_B1': ('WN', 1, 10),
'G2_B2': ('WN', 1, 10),
'G2_B3': ('WN', 1, 10),
'G2_B4': ('WN', 1, 10),
'G2_G1': ('WN', 1, 10),
'G2_G10': ('WN', 1, 10),
'G2_G2': ('WN', 1, 10),
'G2_G3': ('WN', 1, 10),
'G2_G4': ('WN', 1, 10),
'G2_G5': ('WN', 1, 10),
'G1_G9': ('WN', 1, 10),
'G1_G8': ('WN', 1, 10),
'G1_G7': ('WN', 1, 10),
'G1_B1': ('WN', 1, 10),
'G1_B2': ('WN', 1, 10),
'G1_B3': ('WN', 1, 10),
'G1_B4': ('WN', 1, 10),
'G1_G1': ('WN', 1, 10),
'G1_G10': ('WN', 1, 10),
'G1_G2': ('WN', 1, 10),
'G1_G3': ('WN', 1, 10),
'G1_G4': ('WN', 1, 10),
'G1_G5': ('WN', 1, 10),
'G1_G6': ('WN', 1, 10),
'G2_G6': ('WN', 1, 10),
'G2_G7': ('WN', 1, 10),
'G2_G8': ('WN', 1, 10),
'GK': ('BL', 11, 10),
'GKZ': ('BL', 11, 10),
'GO': ('BL', 70, 10),
'GO_H': ('BL', 35, 10),
'GO_L': ('BL', 35, 10),
'GR': ('BL', 107, 10),
'GRZ': ('BL', 107, 10),
'GW': ('BL', 6, 10),
'H10': ('WN', 1, 10),
'H10A': ('AS', 1, 10),
'H10RC': ('WN', 1, 10),
'GH_M': ('BL', 27, 10),
'GHZ': ('BL', 128, 10),
'GHRZ': ('BL', 78, 10),
'G2_G9': ('WN', 1, 10),
'GB': ('BL', 35, 10),
'GE10': ('WN', 1, 10),
'GE10S': ('WN', 1, 10),
'GGH': ('WN', 1, 10),
'GGT': ('WN', 1, 10),
'GH': ('BL', 27, 10),
'GH2': ('BL', 27, 10),
'GHC': ('BL', 76, 10),
'GHC_M': ('BL', 126, 10),
'GHR': ('BL', 128, 10),
'H10V': ('VW', 1, 10),
'AB': ('BL', 256, 10),
'bSSV10': ('WN', 1, 10),
'bSSVG10': ('WN', 1, 10),
'C10P': ('WN', 1, 10),
'C110S': ('WN', 1, 10),
'C210S': ('WN', 1, 10),
'C310S': ('WN', 1, 10),
'CHL10': ('WN', 1, 10),
'CL10': ('WN', 1, 10),
'Cor10': ('WN', 1, 10),
'Cor10m': ('WN', 50, 10),
'CX10S': ('WN', 1, 10),
'bSRV10': ('WN', 1, 10),
'bQ10': ('WN', 1, 10),
'bH10': ('WN', 1, 10),
'AG': ('WN', 1, 10),
'AL': ('BL', 35, 10),
'AV10_H': ('WN', 1, 10),
'AV10_R': ('WN', 1, 10),
'BCor10': ('WN', 1, 10),
'BEcho10': ('WN', 1, 10),
'BH10': ('WN', 1, 10),
'BNgd10P': ('WN', 1, 10),
'BSRV10': ('WN', 1, 10),
'BSSV10': ('WN', 1, 10),
'BT10': ('WN', 1, 10),
'Czz10': ('WN', 51, 10),
'Czz10_M': ('WN', 101, 10),
'Czz5': ('WN', 25, 10),
'Fm01_G1': ('WN', 1, 10),
'Fm01_G10': ('WN', 1, 10),
'Fm01_G2': ('WN', 1, 10),
'Fm01_G3': ('WN', 1, 10),
'Fm01_G4': ('WN', 1, 10),
'Fm01_G5': ('WN', 1, 10),
'Fm01_G6': ('WN', 1, 10),
'Fm01_G7': ('WN', 1, 10),
'Fm01_G8': ('WN', 1, 10),
'Fm01_G9': ('WN', 1, 10),
'Fp': ('WN', 1, 10),
'Fm01_B4': ('WN', 1, 10),
'Fm01_B3': ('WN', 1, 10),
'Fm01_B2': ('WN', 1, 10),
'D10': ('WN', 1, 10),
'D10S': ('WN', 1, 10),
'DH10': ('WN', 1, 10),
'DL_index': ('WN', 1, 10),
'DO10': ('WN', 1, 10),
'DO10P': ('WN', 1, 10),
'DT10': ('WN', 1, 10),
'Echo10': ('WN', 1, 10),
'Echo10m': ('WN', 50, 10),
'Fm01_B0': ('WN', 1, 10),
'Fm01_B1': ('WN', 1, 10),
'Fp_M': ('WN', 1, 10),
'H10Z': ('WN', 1, 10),
'ND10': ('WN', 1, 10),
'Ndlr_H': ('WN', 1, 10),
'Ndlr_R': ('WN', 1, 10),
'Nd_x': ('WN', 1, 10),
'Nd_y': ('WN', 1, 10),
'Nd_z': ('WN', 1, 10),
'Ngd10P': ('WN', 1, 10),
'Ngd10Pm': ('WN', 50, 10),
'Ngd_xP': ('WN', 1, 10),
'Ngd_yP': ('WN', 1, 10),
'Ngd_zP': ('WN', 1, 10),
'NI10': ('WN', 1, 10),
'Ni_x': ('WN', 1, 10),
'Ndfe_G9': ('WN', 1, 10),
'Ndfe_G8': ('WN', 1, 10),
'Ndfe_G7': ('WN', 1, 10),
'Ndfe_B0': ('WN', 1, 10),
'Ndfe_B1': ('WN', 1, 10),
'Ndfe_B2': ('WN', 1, 10),
'Ndfe_B3': ('WN', 1, 10),
'Ndfe_B4': ('WN', 1, 10),
'Ndfe_G1': ('WN', 1, 10),
'Ndfe_G10': ('WN', 1, 10),
'Ndfe_G2': ('WN', 1, 10),
'Ndfe_G3': ('WN', 1, 10),
'Ndfe_G4': ('WN', 1, 10),
'Ndfe_G5': ('WN', 1, 10),
'Ndfe_G6': ('WN', 1, 10),
'Ni_y': ('WN', 1, 10),
'Ni_z': ('WN', 1, 10),
'PQFF10': ('WN', 1, 10),
'PQNH10': ('WN', 1, 10),
'PW10': ('WN', 1, 10),
'Q10': ('WN', 1, 10),
'Q10V': ('VW', 1, 10),
'S0bh': ('WN', 1, 10),
'S0bh10': ('WN', 51, 10),
'S0bh_B0': ('WN', 1, 10),
'S0bh_B1': ('WN', 1, 10),
'S0bh_B2': ('WN', 1, 10),
'S0bh_B3': ('WN', 1, 10),
'S0bh_B4': ('WN', 1, 10),
'PQFE10': ('WN', 1, 10),
'PH': ('WN', 1, 10),
'PC10': ('WN', 1, 10),
'NtrackS': ('WN', 1, 10),
'Nu_x': ('WN', 1, 10),
'Nu_y': ('WN', 1, 10),
'Nu_z': ('WN', 1, 10),
'Nv_x': ('WN', 1, 10),
'Nv_y': ('WN', 1, 10),
'Nv_z': ('WN', 1, 10),
'Nwt_zP': ('WN', 1, 10),
'NzoekS': ('WN', 1, 10),
'OL10S': ('WN', 1, 10),
'OT10': ('WN', 1, 10),
'P10': ('WN', 1, 10),
'S0bh_G1': ('WN', 1, 10),
'H10ZV': ('VW', 1, 10),
'Hm0_B2': ('WN', 1, 10),
'Hm0_B3': ('WN', 1, 10),
'Hm0_B4': ('WN', 1, 10),
'Hm0_G1': ('WN', 1, 10),
'Hm0_G10': ('WN', 1, 10),
'Hm0_G2': ('WN', 1, 10),
'Hm0_G4': ('WN', 1, 10),
'Hm0_G5': ('WN', 1, 10),
'Hm0_G6': ('WN', 1, 10),
'Hm0_G7': ('WN', 1, 10),
'Hm0_G8': ('WN', 1, 10),
'Hm0_G9': ('WN', 1, 10),
'Hm0_B1': ('WN', 1, 10),
'Hm0_B0': ('WN', 1, 10),
'Hm0V': ('VW', 1, 10),
'H1d10': ('WN', 1, 10),
'H1d3': ('WN', 1, 10),
'H1d3V': ('VW', 1, 10),
'H1d50': ('WN', 1, 10),
'Hb10': ('WN', 1, 10),
'HCM': ('WN', 1, 10),
'HG10': ('WN', 1, 10),
'HG10Z': ('WN', 1, 10),
'HH10': ('WN', 1, 10),
'HH10S': ('WN', 1, 10),
'HMR': ('BL', 159, 10),
'Hm0': ('WN', 1, 10),
'Hm0_M': ('WN', 1, 10),
'Hmax': ('WN', 1, 10),
'HS7': ('WN', 1, 10),
'LG10': ('WN', 48, 10),
'LGK10V': ('VW', 1, 10),
'LGNf_z': ('WN', 1, 10),
'LGNik_z': ('WN', 1, 10),
'LGNvd_z': ('WN', 1, 10),
'LGNv_z': ('WN', 1, 10),
'M0': ('WN', 1, 10),
'M0_M': ('WN', 1, 10),
'MDG10': ('WN', 1, 10),
'MIN10': ('WN', 1, 10),
'MNR10': ('WN', 1, 10),
'L10': ('WN', 1, 10),
'KT10P': ('WN', 1, 10),
'HTE3': ('WN', 1, 10),
'Hm0_G3': ('WN', 1, 10),
'NB10S': ('WN', 1, 10),
'HTE3V': ('VW', 1, 10),
'I10': ('WN', 1, 10),
'JNR10': ('WN', 1, 10),
'IL10P': ('WN', 1, 10),
'JDG10': ('WN', 1, 10),
'xQ30': ('WN', 1, 30),
'xNI30': ('WN', 1, 30),
'xH30': ('WN', 1, 30),
'xH30R': ('WN', 1, 30),
'xH60': ('WN', 1, 60),
'xNI60': ('WN', 1, 60),
'xQ60': ('WN', 1, 60),
'xH60R': ('WN', 1, 60)
}
def __init__(self, user=None, password=None, def __init__(self, user=None, password=None,
host="sip-lmw.rws.nl", port=443, meetnet="LMW", ssl = True, host="sip-lmw.rws.nl", port=443, meetnet="LMW", ssl = True,
@@ -79,6 +541,13 @@ Opens the connection and logs in.
self.reconnecttime = reconnecttime self.reconnecttime = reconnecttime
self.idlereconnect = idlereconnect self.idlereconnect = idlereconnect
def period(self, parameter):
if parameter in self.lmwParameters:
return(self.lmwParameters[parameter][2])
else:
raise LmwParmWarn(parameter)
return(None)
def lasttime(self, parameter): def lasttime(self, parameter):
# #
# Find the last valid 10 minute window. # Find the last valid 10 minute window.
@@ -371,12 +840,13 @@ Returns a single string value or None
m = (window.seconds % 3600)//60 m = (window.seconds % 3600)//60
return("+%02i:%02i" % (h, m)) return("+%02i:%02i" % (h, m))
def _roundtime_(self, time, parameter): def _roundtime_(self, time, delta):
# Todo check: delta != 1 en delta != 10
if time.microsecond != 0: if time.microsecond != 0:
time += timedelta(microseconds=1000000-time.microsecond) time += timedelta(microseconds=1000000-time.microsecond)
if time.second != 0: if time.second != 0:
time += timedelta(seconds=60-time.second) time += timedelta(seconds=60-time.second)
if (parameter.find("10") != -1) and (time.minute % 10 != 0): if (delta == timedelta(minutes=10)) and (time.minute % 10 != 0):
time += timedelta(minutes=(10-time.minute%10)) time += timedelta(minutes=(10-time.minute%10))
return(time) return(time)
@@ -408,13 +878,14 @@ Errors:
endTime - startTime > 24 hour endTime - startTime > 24 hour
now - startTime < 30 days now - startTime < 30 days
""" """
startTime = self._roundtime_(startTime.astimezone(tz.gettz('GMT+1')), parameter) try:
endTime = endTime.astimezone(tz.gettz('GMT+1')) delta = timedelta(minutes=self.period(parameter))
except Exception as e:
if (parameter.find("10") != -1):
delta = timedelta(minutes=10) delta = timedelta(minutes=10)
else: raise(e)
delta = timedelta(minutes=1)
startTime = self._roundtime_(startTime.astimezone(tz.gettz('GMT+1')), delta)
endTime = endTime.astimezone(tz.gettz('GMT+1'))
if startTime > endTime: if startTime > endTime:
self.log.warning("starttime > endtime: %s > %s", startTime, endTime) self.log.warning("starttime > endtime: %s > %s", startTime, endTime)
@@ -553,3 +1024,11 @@ class LmwCmdWarn(Warning):
def __str__(self): def __str__(self):
return("Cmd %s failed: %s" %(self.cmd, self.message)) return("Cmd %s failed: %s" %(self.cmd, self.message))
class LmwParmWarn(Warning):
"""Exception for a unknown parameter"""
def __init__(self, parameter):
self.parameter = parameter
def __str__(self):
return("Unknown parameter: %s" % parameter)

View File

@@ -38,6 +38,23 @@ class lmwsipTest(unittest.TestCase):
self.login() self.login()
self.assertEqual(type(self.sip), lmwsip.LmwSip) self.assertEqual(type(self.sip), lmwsip.LmwSip)
def test_H1(self):
self.sip = lmwsip.LmwSip()
self.assertEqual(self.sip.period('H1'), 1)
def test_H10(self):
self.sip = lmwsip.LmwSip()
self.assertEqual(self.sip.period('H10'), 10)
def test_xHm0(self):
self.sip = lmwsip.LmwSip()
self.assertEqual(self.sip.period('xHm0'), 10)
def test_Noparm(self):
self.sip = lmwsip.LmwSip()
with self.assertRaises(lmwsip.LmwParmWarn):
self.assertEqual(self.sip.period('Noparm'), None)
def test_loginfail(self): def test_loginfail(self):
with self.assertRaises(lmwsip.LmwLoginFailure): with self.assertRaises(lmwsip.LmwLoginFailure):
self.sip = lmwsip.LmwSip("FAIL", "FAIL", "localhost", self.sip = lmwsip.LmwSip("FAIL", "FAIL", "localhost",
@@ -53,16 +70,16 @@ class lmwsipTest(unittest.TestCase):
def test_cmd(self): def test_cmd(self):
self.login() self.login()
self.assertEqual(type(self.sip.cmd("WN", "DUMMY", "D10", "+00:59", "2020-01-01", "00:00")), str) self.assertEqual(type(self.sip.cmd("WN", "DUMMY", "H10", "+00:59", "2020-01-01", "00:00")), str)
def test_cmderr(self): def test_cmderr(self):
self.login() self.login()
with self.assertRaises(lmwsip.LmwCmdWarn): with self.assertRaises(lmwsip.LmwCmdWarn):
self.assertEqual(type(self.sip.cmd("NOP", "DUMMY", "D10", "+00:59", "2020-01-01", "00:00")), str) self.assertEqual(type(self.sip.cmd("NOP", "DUMMY", "H10", "+00:59", "2020-01-01", "00:00")), str)
def test_value(self): def test_value(self):
self.login() self.login()
self.assertEqual(type(self.sip.value("WN", "DUMMY", "D10")), str) self.assertEqual(type(self.sip.value("WN", "DUMMY", "H10")), str)
def test_logout(self): def test_logout(self):
self.login() self.login()
@@ -71,7 +88,7 @@ class lmwsipTest(unittest.TestCase):
def test_lmwTimeSerie(self): def test_lmwTimeSerie(self):
self.login() self.login()
timezone = tz.gettz('GMT+1') timezone = tz.gettz('GMT+1')
res = self.sip.timeSerie("WN", "DUMMY", "D10", res = self.sip.timeSerie("WN", "DUMMY", "H10",
datetime.now(timezone)-timedelta(minutes=60), datetime.now(timezone)-timedelta(minutes=60),
datetime.now(timezone)) datetime.now(timezone))
self.assertEqual(type(res.ts), list) self.assertEqual(type(res.ts), list)
@@ -83,8 +100,8 @@ class lmwsipTest(unittest.TestCase):
timezone = tz.gettz('GMT+1') timezone = tz.gettz('GMT+1')
t1 = datetime(2020, 1, 1, 0, 10, 0, 0, timezone) t1 = datetime(2020, 1, 1, 0, 10, 0, 0, timezone)
t2 = datetime(2020, 1, 1, 0, 0, 0, 1, timezone) t2 = datetime(2020, 1, 1, 0, 0, 0, 1, timezone)
self.assertEqual(self.sip._roundtime_(t1, "D10"), t1) self.assertEqual(self.sip._roundtime_(t1, timedelta(minutes=10)), t1)
self.assertEqual(self.sip._roundtime_(t2, "D10"), t1) self.assertEqual(self.sip._roundtime_(t2, timedelta(minutes=10)), t1)
def test_closerecv(self): def test_closerecv(self):
self.login() self.login()
@@ -100,7 +117,7 @@ class lmwsipTest(unittest.TestCase):
def test_closecmd(self): def test_closecmd(self):
self.login() self.login()
self.sip.send("CLOSE") self.sip.send("CLOSE")
self.assertEqual(type(self.sip.cmd("WN", "DUMMY", "D10", "+00:59", "2020-01-01", "00:00")), str) self.assertEqual(type(self.sip.cmd("WN", "DUMMY", "H10", "+00:59", "2020-01-01", "00:00")), str)
def test_reconnect(self): def test_reconnect(self):
self.login(reconnecttime=1) self.login(reconnecttime=1)

View File

@@ -13,10 +13,10 @@ Implements the following commands:
CMD> TI LMW CMD> TI LMW
ANS< ! 20-JAN-01 00:00:00 ANS< ! 20-JAN-01 00:00:00
CMD> WN LMW,DUMMY,D10,+HH:MM,yyyy-mm-dd,HH:MM,DATA CMD> WN LMW,DUMMY,H10,+HH:MM,yyyy-mm-dd,HH:MM,DATA
ANS< ! 1/10,;2/10;.... ANS< ! 1/10,;2/10;....
CMD> WN LMW,DUMMY,D10,+HH:MM,yyyy-mm-dd,HH:MM,DATB CMD> WN LMW,DUMMY,H10,+HH:MM,yyyy-mm-dd,HH:MM,DATB
ANS< ! 1/10/0;2/10/0;.... ANS< ! 1/10/0;2/10/0;....
CMD> LO CMD> LO
@@ -86,7 +86,7 @@ class sipProtocol(socketserver.BaseRequestHandler):
self.send("!") self.send("!")
elif self.match("TI LMW"): elif self.match("TI LMW"):
self.send("! 20-JAN-01 00:00:00") self.send("! 20-JAN-01 00:00:00")
elif self.match("WN LMW,DUMMY,D10"): elif self.match("WN LMW,DUMMY,H10"):
self.meting() self.meting()
elif self.match("LOGOUTCOUNT"): elif self.match("LOGOUTCOUNT"):
self.send(str(logoutcount)) self.send(str(logoutcount))

View File

@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
setuptools.setup( setuptools.setup(
name="lmwsip", # Replace with your own username name="lmwsip", # Replace with your own username
version="0.0.9", version="0.0.10",
author="Marcel Nijenhof", author="Marcel Nijenhof",
author_email="pip@pion.xs4all.nl", author_email="pip@pion.xs4all.nl",
description="Interface for the lmw sip protocol", description="Interface for the lmw sip protocol",