Python voip 测试脚本

# This is a sample Python script.

# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.

import telnetlib as Tn
import telnetlib as Tk
from tkinter import messagebox
from tcping import Ping
import time
import os
import os.path
import logging
import datetime


class tele():
    def __init__(self):
        self.tn = None
        #self.tn = Tn.Telnet("192.168.1.1", port=23, timeout=10)
        self.accout = "telecomadmin".encode()
        self.password = "nE7jA%5m".encode()
        self.ifconfig_2 = "ifconfig ra0 down".encode()
        self.ifconfig_2_up = "ifconfig ra0 up".encode()
        self.name = "tc login:".encode()

        self.mode = 1
        self.wmode = "w1"

        #log
        self.t_log = log()

        #振铃指令
        self.evcom = "evcom".encode()
        self.di= "di".encode()
        self.ir = "ir if=0".encode()

        self.reboot1 = "reboot".encode()




    def login(self):
        self.tn = Tn.Telnet("192.168.1.1", port=23, timeout=10)
        # tn = Tn.Telnet("192.168.1.1",port=23,timeout=10)

        print(self.accout)
        try:
            respon = self.tn.read_until(self.name)
        except Exception as e:
            print("------respon is error -------\n")
        # print("the is :",respon)

        try:
            self.tn.write(self.accout + b'\n' + self.password + b'\n')
        except Exception as e:
            messagebox.showinfo("error", "the login error!!!\n")


    def write(self):
        try:
            self.tn.write(self.evcom + b'\n')
            self.tn.write(self.di + b'\n')
            self.tn.write(self.ir + b'\n')
        except Exception as e:
            messagebox.showinfo("error", "write error!\n")

    def reboot(self):
        try:
            print("11")
            self.log_w("reboot\n")
            self.tn.write(self.reboot1 + b'\n')
        except Exception as e:
            print("reboot error!\n")

    def log_w(self,buff):
        self.t_log.log_write(buff)

    def end(self):
        messagebox.showinfo("ok", "the fun is ok")

    def close(self):
        self.tn.close()

    def test(self):
        print("-----into-----\n")


class time_time():
    def __int__(self):
        self.time_flag = 1

    def start_time(self):
        time.sleep(30)

    def start_di_time(self):
        time.sleep(120)

    def reboot_time(self):
        time.sleep(30)

class log():
    def __init__(self):
        self.path = os.getcwd()
        self.filename1 = self.path + '/' + 'log_voip.txt'
        logging.basicConfig(filename=self.filename1, level=logging.INFO)

    # def get_path(self):
    #     self.path = os.getcwd()
    #     self.filename1 = self.path + '/' + 'log.txt'
    #     logging.basicConfig(filename=self.filename1, level=logging.INFO)

    def log_write(self,log_info):
        logging.info(log_info)

class ping_tool():
    def __init__(self):
        self.ping_7 = Ping('192.168.1.1')

    def ping_start(self,num):
        self.ping_7.ping(num)
        list = []
        #ret = self.ping_7.result.table
        ret = self.ping_7.result.raw
        list = ret.split()

        print(list)
        print(list[8],list[7])
        return list[7]

    def ping_loop(self):
        while True:
            result = self.ping_start(10)
            if int(result) > 1:
                break;


# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    num = 0
    #liyong = tele()
    sleep_time = time_time()
    #liyong_time = time_time()
    #liyong_time.start_time()
    #ping 192.168.1.1
    ping_1 = ping_tool()
    llog = log()
    liyong = tele()
    # liyong.login()
    # liyong.write()
    while num < 1200:
        ping_1.ping_loop()
        current_time = datetime.datetime.now()
        str1 = "num="+str(num)
        llog.log_write("------------------------------------------------------------------------------------")
        llog.log_write("--------------------------------------start-----------------------------------------")
        llog.log_write(str1)
        llog.log_write("------------------------------------------------------------------------------------")
        llog.log_write("------------------------ping 192.168.1.1 right----------------------"+str(current_time))

        current_time = datetime.datetime.now()
        liyong.login()
        llog.log_write("------------------------login 192.168.1.1 success-------------------"+str(current_time))
        # sleep 60
        sleep_time.start_time()
        # start di
        current_time = datetime.datetime.now()
        llog.log_write("------------------------start Ring Ring Ring------------------------"+str(current_time))
        print("11111111write------\n")
        liyong.write()
        # di 300 s
        sleep_time.start_di_time()
        current_time = datetime.datetime.now()
        llog.log_write("------------------------end Ring Ring Ring------------------------"+str(current_time))
        # di end
        liyong.close()
        liyong.login()
        liyong.reboot()
        sleep_time.reboot_time()
        num = num +1
        liyong.close()
        llog.log_write("-------------------------------------------------------------------------------------")
        llog.log_write("--------------------------------------end--------------------------------------------")
        llog.log_write("-------------------------------------------------------------------------------------")





在处理ping异常导致的程序崩溃,程序进入到死循环状态的问题后的代码修改

# This is a sample Python script.

# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.

import telnetlib as Tn
import telnetlib as Tk
from tkinter import messagebox
from tcping import Ping
import time
import os
import os.path
import logging
import datetime
from threading import Thread


class tele():
    def __init__(self):
        self.tn = None
        #self.tn = Tn.Telnet("192.168.1.1", port=23, timeout=10)
        self.accout = "telecomadmin".encode()
        self.password = "nE7jA%5m".encode()
        self.ifconfig_2 = "ifconfig ra0 down".encode()
        self.ifconfig_2_up = "ifconfig ra0 up".encode()
        self.name = "tc login:".encode()

        self.mode = 1
        self.wmode = "w1"

        #log
        self.t_log = log()

        #振铃指令
        self.evcom = "evcom".encode()
        self.di= "di".encode()
        self.ir = "ir if=0".encode()

        self.reboot1 = "reboot".encode()

        #2.4G
        self.ifconfig = "ifconfig".encode()
        self.arm = "ra0".encode()




    def login(self):
        try:
            self.tn = Tn.Telnet("192.168.1.1", port=23, timeout=10)
        except Exception as e:
            print("login error!!!")
            return False
        # tn = Tn.Telnet("192.168.1.1",port=23,timeout=10)

        print(self.accout)
        try:
            respon = self.tn.read_until(self.name)
        except Exception as e:
            print("------respon is error -------\n")
        # print("the is :",respon)

        try:
            self.tn.write(self.accout + b'\n' + self.password + b'\n')
        except Exception as e:
            #messagebox.showinfo("error", "the login error!!!\n")
            print("------the login error!-------")

        return True
    #check wifi is ok
    def write_f(self):
        try:
            self.tn.write(self.ifconfig + b'\n')
            re = self.tn.read_until(self.arm)
            re=re.decode()
            print(re)
            if "ra0" in re:
                print("the wifi is ok ")
        except Exception as e:
            print("time out")


    def write(self):
        try:
            print("write di di di")
            self.tn.write(self.evcom + b'\n')
            self.tn.write(self.di + b'\n')
            self.tn.write(self.ir + b'\n')
        except Exception as e:
            #messagebox.showinfo("error", "write error!\n")
            print("----write di di di error------!")

    def reboot(self):
        try:
            print("reboot")
            self.log_w("reboot\n")
            self.tn.write(self.reboot1 + b'\n')
        except Exception as e:
            print("reboot error!\n")
            return False

    def log_w(self,buff):
        self.t_log.log_write(buff)

    def end(self):
        messagebox.showinfo("ok", "the fun is ok")

    def close(self):
        self.tn.close()

    def test(self):
        print("-----into-----\n")


class time_time():
    def __int__(self):
        self.time_flag = 1

    def start_time(self):
        time.sleep(120)

    def start_di_time(self):
        time.sleep(5)

    def reboot_time(self):
        time.sleep(110)

    def wait_time(self):
        time.sleep(10)

class log():
    def __init__(self):
        self.path = os.getcwd()
        self.filename1 = self.path + '/' + 'log_voip.txt'
        logging.basicConfig(filename=self.filename1, level=logging.INFO)

    # def get_path(self):
    #     self.path = os.getcwd()
    #     self.filename1 = self.path + '/' + 'log.txt'
    #     logging.basicConfig(filename=self.filename1, level=logging.INFO)

    def log_write(self,log_info):
        logging.info(log_info)

class ping_tool():
    def __init__(self):
        self.ping_7 = Ping('192.168.1.1')

    def ping_false(self):
        result = self.ping_7.ping(1)
        if result != None:
            return result

    def ping_start(self,num):
        self.ping_7.ping(num)
        list = []
        #ret = self.ping_7.result.table
        ret = self.ping_7.result.raw
        list = ret.split()

        print(list)
        print(list[8],list[7])
        return list[7]

    def ping_loop(self):
        ping_num=0
        try:
            result = self.ping_start(10)
            ping_num=ping_num+1
            if int(result) >= 1:
                return True
            return False
        except Exception as e:
            print("the check error!")


    def ping_loop_end(self):
        try:
            result = self.ping_start(1)
        except Exception as e:
            return True



# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    num = 0
    ping_num1=0
    #liyong = tele()
    sleep_time = time_time()
    #liyong_time = time_time()
    #liyong_time.start_time()
    #ping 192.168.1.1
    #ping_1 = ping_tool()
    llog = log()
    #liyong = tele()
    #a = ping_1.ping_false()
    # liyong.login()
    # liyong.write()
    while num < 1200:
        try:
            liyong = tele()
            print("start function and wait 120s")
            print(num)
            sleep_time.start_time()
            current_time = datetime.datetime.now()
            str1 = "num="+str(num)
            llog.log_write("------------------------------------------------------------------------------------")
            llog.log_write("--------------------------------------start-----------------------------------------")
            llog.log_write(str1)
            llog.log_write("------------------------------------------------------------------------------------")
            #llog.log_write("------------------------ping 192.168.1.1 right----------------------"+str(current_time))

            current_time = datetime.datetime.now()
            while liyong.login() == False:
                print("login error,check it")
                #ping_1.ping_loop()
            print("login success")
            #liyong.login()
            #sleep_time.wait_time()
            liyong.reboot()
            # while liyong.reboot() == False:
            #     print(" ")
            print("wait 10s")
            sleep_time.wait_time()
            liyong.close()
            llog.log_write("------------------------login and reeboot 192.168.1.1 success-------------------"+str(current_time))
            print("reboot and wait 110s")
            sleep_time.reboot_time()
            #booot slepp

            while liyong.login() == False:
                print("login error and wait 10s")
                sleep_time.wait_time()

            # start di
            current_time = datetime.datetime.now()
            llog.log_write("------------------------start Ring Ring Ring------------------------"+str(current_time))
            print("------------start di di di-----\n")
            liyong.write()
            # di 300 s
            print("wait di di di 10s")
            sleep_time.start_di_time()
            current_time = datetime.datetime.now()
            llog.log_write("------------------------end Ring Ring Ring------------------------"+str(current_time))
            # di end
            print("di di di end and function start")
            num = num +1
            liyong.close()
            ping_1 = ping_tool()
            while ping_1.ping_false() != False:
                print("ping")

            # while ping_1.ping_loop_end()==True:
            #     print("ping")
            llog.log_write("-------------------------------------------------------------------------------------")
            llog.log_write("--------------------------------------end--------------------------------------------")
            llog.log_write("-------------------------------------------------------------------------------------")
        except Exception as e:
            print("try agin")



voip测试新需求:每隔30分钟,振铃5分钟

# -*- coding: utf-8 -*-
# This is a sample Python script.
 
# Press Shift+F10 to execute it or replace it with your code.
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
 
import telnetlib as Tn
import telnetlib as Tk
from tkinter import messagebox
from tcping import Ping
import time
import os
import os.path
import logging
import datetime
from threading import Thread
 
 
class tele():
    def __init__(self):
        self.tn = None
        #self.tn = Tn.Telnet("192.168.1.1", port=23, timeout=10)
        self.accout = "telecomadmin".encode()
        self.password = "nE7jA%5m".encode()
        self.ifconfig_2 = "ifconfig ra0 down".encode()
        self.ifconfig_2_up = "ifconfig ra0 up".encode()
        self.name = "tc login:".encode()
 
        self.mode = 1
        self.wmode = "w1"
 
        #log
        self.t_log = log()
 
        #振铃指令
        self.evcom = "evcom".encode()
        self.di= "di".encode()
        self.ir = "ir if=0".encode()
        #关闭振铃指令
        self.endif = "ir if=0 dur=0".encode()
        self.reboot1 = "reboot".encode()
 
        #2.4G
        self.ifconfig = "ifconfig".encode()
        self.arm = "ra0".encode()
 
 
 
 
    def login(self):
        try:
            self.tn = Tn.Telnet("192.168.1.1", port=23, timeout=10)
        except Exception as e:
            print("login error!!!")
            return False
        # tn = Tn.Telnet("192.168.1.1",port=23,timeout=10)
 
        print(self.accout)
        try:
            respon = self.tn.read_until(self.name)
        except Exception as e:
            print("------respon is error -------\n")
        # print("the is :",respon)
 
        try:
            self.tn.write(self.accout + b'\n' + self.password + b'\n')
        except Exception as e:
            #messagebox.showinfo("error", "the login error!!!\n")
            print("------the login error!-------")
 
        return True
    #check wifi is ok
    def write_f(self):
        try:
            self.tn.write(self.ifconfig + b'\n')
            re = self.tn.read_until(self.arm)
            re=re.decode()
            print(re)
            if "ra0" in re:
                print("the wifi is ok ")
        except Exception as e:
            print("time out")
 
 
    def start_evcom(self):
        try:
            print("start evcom")
            self.tn.write(self.evcom + b'\n')
        except Exception as e:
            #messagebox.showinfo("error", "write error!\n")
            print("----write di di di error------!")
 
    def start_di(self):
        try:
            print("satrt di di di")
            self.tn.write(self.di + b'\n')
            self.tn.write(self.ir + b'\n')
        except Exception as e:
            #messagebox.showinfo("error", "write error!\n")
            print("----write di di di error------!")
            
    def end_di(self):
        try:
            print("end di di di")
            self.tn.write(self.endif + b'\n')
        except Exception as e:
            #messagebox.showinfo("error", "write error!\n")
            print("----write di di di error------!")
 
    def reboot(self):
        try:
            print("reboot")
            self.log_w("reboot\n")
            self.tn.write(self.reboot1 + b'\n')
        except Exception as e:
            print("reboot error!\n")
            return False
 
    def log_w(self,buff):
        self.t_log.log_write(buff)
 
    def end(self):
        messagebox.showinfo("ok", "the fun is ok")
 
    def close(self):
        self.tn.close()
 
    def test(self):
        print("-----into-----\n")
 
 
class time_time():
    def __int__(self):
        self.time_flag = 1
 
    def start_time(self):
        time.sleep(300)
 
    def start_di_time(self):
        time.sleep(1800)
 
    def reboot_time(self):
        time.sleep(110)
 
    def wait_time(self):
        time.sleep(10)
 
class log():
    def __init__(self):
        self.path = os.getcwd()
        self.filename1 = self.path + '/' + 'log_voip.txt'
        logging.basicConfig(filename=self.filename1, level=logging.INFO)
 
    # def get_path(self):
    #     self.path = os.getcwd()
    #     self.filename1 = self.path + '/' + 'log.txt'
    #     logging.basicConfig(filename=self.filename1, level=logging.INFO)
 
    def log_write(self,log_info):
        logging.info(log_info)
 
class ping_tool():
    def __init__(self):
        self.ping_7 = Ping('192.168.1.1')
 
    def ping_false(self):
        result = self.ping_7.ping(1)
        if result != None:
            return result
 
    def ping_start(self,num):
        self.ping_7.ping(num)
        list = []
        #ret = self.ping_7.result.table
        ret = self.ping_7.result.raw
        list = ret.split()
 
        print(list)
        print(list[8],list[7])
        return list[7]
 
    def ping_loop(self):
        ping_num=0
        try:
            result = self.ping_start(10)
            ping_num=ping_num+1
            if int(result) >= 1:
                return True
            return False
        except Exception as e:
            print("the check error!")
 
 
    def ping_loop_end(self):
        try:
            result = self.ping_start(1)
        except Exception as e:
            return True
 
 
 
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    num = 0
    ping_num1=0
    sleep_time = time_time()
    llog = log()
    liyong = tele()
    liyong.login()
    sleep_time.wait_time()
    
    while num < 1200:
        try:
            print(num)
            current_time = datetime.datetime.now()
            str1 = "num="+str(num)
            llog.log_write("------------------------------------------------------------------------------------")
            llog.log_write("--------------------------------------start-----------------------------------------")
            llog.log_write(str1)
            llog.log_write("------------------------------------------------------------------------------------")
            current_time = datetime.datetime.now()

 
            # start di
            current_time = datetime.datetime.now()
            llog.log_write("------------------------start Ring Ring Ring------------------------"+str(current_time))
            print("------------start di di di-----\n")
            #start di
            liyong.start_evcom()
            liyong.start_di()
            # di 300 s
            current_time = datetime.datetime.now()
            llog.log_write("------------------------Ring Ring Ring  5min------------------------"+str(current_time))
            sleep_time.start_time()
            print("wait di di di 300s")
            
            #close di
            liyong.end_di()
            current_time = datetime.datetime.now()
            llog.log_write("------------------------end Ring Ring Ring------------------------"+str(current_time))
            
            #wait time
            sleep_time.start_di_time()
            current_time = datetime.datetime.now()
            llog.log_write("------------------------into wait time 30 min------------------------"+str(current_time))

            llog.log_write("-------------------------------------------------------------------------------------")
            llog.log_write("--------------------------------------end--------------------------------------------")
            llog.log_write("-------------------------------------------------------------------------------------")
        except Exception as e:
            print("try agin")
 
 
 

准备多线程,把程序上到多线上和重写telnet 类函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潘多拉的面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值