Кажется, вы просто пытаетесь обернуть xc.Server
.Просто используйте функцию вместо класса.
import xmlrpc.client as xc
def AristaSwitch(devicename, user='admin', password='xxxxxx'):
url="https://"+user+":"+password+"@"+devicename+"/command-api"
Server = xc.Server(url)
return Server
Тогда просто сделайте свое дело:
as = AristaSwitch("192.168.1.1")
as.runCmds(1, [ "show hostname" ] )
Если вы говорите о настройке объекта xc.Server
, выВы можете просто унаследовать его:
class AristaSwitch(xc.Server):
def __init__(self, devicename, user='admin', password='xxxxxx'):
self.url="https://"+user+":"+password+"@"+devicename+"/command-api"
super().__init__(self.url)
Вам нужно обновить def __init__
до своего настроенного url
ввода, но вы должны быть достаточно подкованы в исходной реализации, так как вы можете случайно перезаписать некоторые атрибуты илидетали реализации из суперкласса xc.Server
.
В этом случае использования AristaSwitch
в основном xc.Server
с настроенным методом создания экземпляров, и вы можете дополнить его своими собственными методами позже, если хотите.