diff --git a/lmwsip/__init__.py b/lmwsip/__init__.py index d2d6b3e..a225a22 100644 --- a/lmwsip/__init__.py +++ b/lmwsip/__init__.py @@ -25,6 +25,468 @@ Support for: 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, 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.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): # # Find the last valid 10 minute window. @@ -371,12 +840,13 @@ Returns a single string value or None m = (window.seconds % 3600)//60 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: time += timedelta(microseconds=1000000-time.microsecond) if time.second != 0: 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)) return(time) @@ -408,13 +878,14 @@ Errors: endTime - startTime > 24 hour now - startTime < 30 days """ - startTime = self._roundtime_(startTime.astimezone(tz.gettz('GMT+1')), parameter) - endTime = endTime.astimezone(tz.gettz('GMT+1')) - - if (parameter.find("10") != -1): + try: + delta = timedelta(minutes=self.period(parameter)) + except Exception as e: delta = timedelta(minutes=10) - else: - delta = timedelta(minutes=1) + raise(e) + + startTime = self._roundtime_(startTime.astimezone(tz.gettz('GMT+1')), delta) + endTime = endTime.astimezone(tz.gettz('GMT+1')) if startTime > endTime: self.log.warning("starttime > endtime: %s > %s", startTime, endTime) @@ -553,3 +1024,11 @@ class LmwCmdWarn(Warning): def __str__(self): 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) diff --git a/lmwsip/tests/__init__.py b/lmwsip/tests/__init__.py index 6017a73..e9e7782 100755 --- a/lmwsip/tests/__init__.py +++ b/lmwsip/tests/__init__.py @@ -38,6 +38,23 @@ class lmwsipTest(unittest.TestCase): self.login() 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): with self.assertRaises(lmwsip.LmwLoginFailure): self.sip = lmwsip.LmwSip("FAIL", "FAIL", "localhost", @@ -53,16 +70,16 @@ class lmwsipTest(unittest.TestCase): def test_cmd(self): 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): self.login() 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): 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): self.login() @@ -71,7 +88,7 @@ class lmwsipTest(unittest.TestCase): def test_lmwTimeSerie(self): self.login() 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)) self.assertEqual(type(res.ts), list) @@ -83,8 +100,8 @@ class lmwsipTest(unittest.TestCase): timezone = tz.gettz('GMT+1') t1 = datetime(2020, 1, 1, 0, 10, 0, 0, timezone) t2 = datetime(2020, 1, 1, 0, 0, 0, 1, timezone) - self.assertEqual(self.sip._roundtime_(t1, "D10"), t1) - self.assertEqual(self.sip._roundtime_(t2, "D10"), t1) + self.assertEqual(self.sip._roundtime_(t1, timedelta(minutes=10)), t1) + self.assertEqual(self.sip._roundtime_(t2, timedelta(minutes=10)), t1) def test_closerecv(self): self.login() @@ -100,7 +117,7 @@ class lmwsipTest(unittest.TestCase): def test_closecmd(self): self.login() 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): self.login(reconnecttime=1) diff --git a/lmwsip/tests/stubSipServer.py b/lmwsip/tests/stubSipServer.py index 5859ec5..e8ebfbb 100755 --- a/lmwsip/tests/stubSipServer.py +++ b/lmwsip/tests/stubSipServer.py @@ -13,10 +13,10 @@ Implements the following commands: CMD> TI LMW 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;.... - 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;.... CMD> LO @@ -86,7 +86,7 @@ class sipProtocol(socketserver.BaseRequestHandler): self.send("!") elif self.match("TI LMW"): self.send("! 20-JAN-01 00:00:00") - elif self.match("WN LMW,DUMMY,D10"): + elif self.match("WN LMW,DUMMY,H10"): self.meting() elif self.match("LOGOUTCOUNT"): self.send(str(logoutcount)) diff --git a/setup.py b/setup.py index 7441587..54ed029 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ with open("README.md", "r") as fh: setuptools.setup( name="lmwsip", # Replace with your own username - version="0.0.9", + version="0.0.10", author="Marcel Nijenhof", author_email="pip@pion.xs4all.nl", description="Interface for the lmw sip protocol",