コード例 #1
0
    def ont_getvalue_by_name(self,name,cmd,climode="sh"):
        """Returns the value of the specific parameter name.

        cli is default as sh. if need to use bcm shell, please set climode as "bcm"
        for example, need to get version by cmd "ver"":
        ~ # ver
        Calix ONT 813G-2
            GigEth ports:    4
            POTS ports:      2       Slic:LE9540
            RF ports:        0
            Wireless-1:      MFG:BCM, FREQ:2.4GHz, Firmware:V1.2
            Wireless-2:      MFG:QNT, FREQ:5.0GHz, Firmware:v37.3.0.50(acR3.2.1)
            MFG S/N:         261508000141
            FSAN S/N:        CXNK0028B4AA
            SW Release Ver:  11.1.110.5
            Kernel Version:  Linux 3.4.11-rt19 Feb 24 2016 mips GNU/Linux
        Running    : 11.1.110.5
        ~ #
        so the name is "Running", cmd is "ver", climode is default"sh"
        """
        self.set_800ont_climode(climode)
        r = self.ont_send(cmd)
        self.logger.info("output:%s" %r)
        r = ResponseMap(self.ont_send(cmd))
        self.logger.info("output:%s" %r)
        #patten = r"(\s*%s[=:.\s]+)(\S+)" %name
        patten = r"(\s*%s[=:.\s]+)(\S+)" %name
        self.logger.info("patten:%s" %patten)
        m = r.table_match(patten)
        self.logger.info("m:%s" %m)
        if m:
            return m[0][1]
        else:
            return False
コード例 #2
0
 def e7_get_ont_rgmode(self, ontid):
     res = ResponseMap(self.send("show ont-port %s/G1 detail" % (ontid)))
     patten = r"(.+nagement\s+Mode\s+:\s+)(\S+)"
     m = res.table_match(patten)
     if m:
         return m[0][1]
     else:
         return False
コード例 #3
0
 def ont_get_clei(self):
     self.set_800ont_climode("sh")
     r = ResponseMap(self.ont_send("dtshell_900 bdinfo"))
     patten = r"(.+CLEI:\s+)(\S+)"
     m = r.table_match(patten)
     if m:
         return m[0][1]
     else:
         return False
コード例 #4
0
 def ont_get_ipaddress(self, interface):
     self.set_800ont_climode("sh")
     r = ResponseMap(self.ont_send("ifconfig %s" % interface))
     patten = r"(.+net\s+addr:\s*)(\d+\.\d+\.\d+\.\d+)(.*)"
     m = r.table_match(patten)
     if m:
         return m[0][1]
     else:
         return False
コード例 #5
0
 def ont_get_ver(self):
     self.set_800ont_climode("sh")
     r = ResponseMap(self.ont_send("ver"))
     patten = r"(.+Ver:\s+)(\d+\.\d+\.\d+\.\d+)"
     m = r.table_match(patten)
     return m[0][1]
     if m:
         return m[0][1]
     else:
         return False
コード例 #6
0
 def e7_get_ont_rg_ip(self, ontid):
     """
     get ont rg ip
     """
     res = ResponseMap(self.send("show ont %s" % ontid))
     patten = r"(.+Location:\s+)(\d+\S\d+)"
     m = res.table_match(patten)
     if m:
         return m[0][1]
     else:
         return False
コード例 #7
0
    def ont_check_by_tablematch(self,reg,cmd,climode="sh"):
        """if match, return True, else return False.

        """
        self.set_800ont_climode(climode)
        r = ResponseMap(self.ont_send(cmd))
        patten = r"(%s)" %reg
        m = r.table_match(patten)
        if m:
            return True
        else:
            return False
コード例 #8
0
 def e7_get_ontcfg_version(self, ontid):
     version = False
     for i in range(0, 10):
         res = ResponseMap(self.send("show ont %s detail" % (ontid)))
         patten = r"(.+File\s+Vers\s+:\s+)(\S+)"
         m = res.table_match(patten)
         #patten = r"(.+File\s+Vers\s+:\s+)(\S+)"
         if m:
             version = m[0][1]
             break
         else:
             time.sleep(20)
             print("can't get ont cfg version, try again")
     return version
コード例 #9
0
    def e7_get_ont_gponport(self, ontid):
        """
        get ont status on e7.

        ontid  is the ont provisioned ID on E7.

        if the ont is
        """
        res = ResponseMap(self.send("show ont %s" % ontid))
        patten = r"(.+Location:\s+)(\d+\S\d+)"
        m = res.table_match(patten)
        if m:
            return m[0][1]
        else:
            return False
コード例 #10
0
    def ont_get_br0_member(self):
        self.set_800ont_climode("sh")
        r = ResponseMap(self.ont_send("brctl show"))
        patten = r"(.*\s+eth.+)"
        m = r.table_match(patten)
        list = []
        for item in m:
            re_result = re.match(r'(br0\s+.+\s+.+\s+)(eth.+)',item[0])
            if re_result:
                list.append(re_result.group(2))
            else:
                re_result = re.match(r'(\s+)(eth.+)',item[0])
                if re_result:
                    list.append(re_result.group(2))

        return list