Ejemplo n.º 1
0
def _load_networking(self, resource_id):
    if self.debug & 0x01 :
        print("_load_networking {!s} called".format(resource_id))

    if not hasattr(self, '_name2id') or not isinstance(self._name2id, dict):
        self._name2id = dict ()

    xurl = "/rest/networking/{!s}".format(resource_id)
    if self.debug & 0x02 :
        print("_load_networking : xurl = " + xurl)
    net_res_tree = self._getXMLetree(xurl)
    if net_res_tree is None :
        if ( len(self.error_str)) :
            raise IsyResponseError (self.error_str)
        else:
            raise IsyResponseError (xurl)
    net_dict = dict ()
    name2rid = dict ()
    for netr in net_res_tree.iter('NetRule'):
        netrule = et2d(netr)
        if 'id' in netrule :
            net_dict[netrule['id']] = netrule
            if 'name' in netrule :
                n = netrule['name']
                name2rid[n] = netrule['id']

                # name2id to replace name2var as a global lookup table
                if n in self._name2id :
                    print("Dup name2id : \"" + n + "\" : " + netrule['id'])
                    print("\tname2id ", self._name2id[n])
                else :
                    self._name2id[n] = (resource_id, netrule['id'])

    return(net_dict, name2rid)
Ejemplo n.º 2
0
def zip_get_userweb(isy):

    dat = isy.soapcomm("GetUserDirectory")
    flist = et2d(ET.fromstring(dat))

    # pprint.pprint(flist)

    if "dir" in flist:
        if isinstance(flist['dir'], list):
            for d in flist['dir']:
                dirset.add(d["dir-name"])
        else:
            dirset.add(flist['dir']["dir-name"])

    if "dir" in flist:
        if isinstance(flist['dir'], list):
            for d in flist['dir']:
                dirset.add(d["dir-name"])
        else:
            dirset.add(flist['dir']["dir-name"])

    if "file" in flist:
        if isinstance(flist['file'], list):
            for f in flist['file']:
                fileset.add(f["file-name"])
        else:
            fileset.add(flist['file']["file-name"])
Ejemplo n.º 3
0
def _load_networking(self, resource_id):
    if self.debug & 0x01:
        print("_load_networking {!s} called".format(resource_id))

    if not hasattr(self, '_name2id') or not isinstance(self._name2id, dict):
        self._name2id = dict()

    xurl = "/rest/networking/{!s}".format(resource_id)
    if self.debug & 0x02:
        print("_load_networking : xurl = " + xurl)
    net_res_tree = self._getXMLetree(xurl)
    if net_res_tree is None:
        if (len(self.error_str)):
            raise IsyResponseError(self.error_str)
        else:
            raise IsyResponseError(xurl)
    net_dict = dict()
    name2rid = dict()
    for netr in net_res_tree.iter('NetRule'):
        netrule = et2d(netr)
        if 'id' in netrule:
            net_dict[netrule['id']] = netrule
            if 'name' in netrule:
                n = netrule['name']
                name2rid[n] = netrule['id']

                # name2id to replace name2var as a global lookup table
                if n in self._name2id:
                    print("Dup name2id : \"" + n + "\" : " + netrule['id'])
                    print("\tname2id ", self._name2id[n])
                else:
                    self._name2id[n] = (resource_id, netrule['id'])

    return (net_dict, name2rid)
Ejemplo n.º 4
0
    def user_fsstat(self) :
	""" ISY Filesystem Status

	    calls SOAP GetFSStat()
	"""
	r = self.soapcomm("GetFSStat")
	return et2d( ET.fromstring(r))
Ejemplo n.º 5
0
def zip_get_conf(isy):

    dat = isy.soapcomm("GetSysConfFiles")
    flist = et2d(ET.fromstring(dat))
    # pprint.pprint(flist)

    if "dir-name" in flist:
        if isinstance(flist['dir-name'], list):
            for d in flist['dir-name']:
                if d.startswith("/"):
                    dirset.add(d)
                else:
                    dirset.add("/CONF/" + d)
        else:
            if flist['dir-name'].startswith("/"):
                dirset.add(flist['dir-name'])
            else:
                dirset.add("/CONF/" + flist['dir-name'])

    if "entry" in flist:
        if isinstance(flist['entry'], list):
            for f in flist['entry']:
                fileset.add("/CONF/" + f)
        else:
            fileset.add("/CONF" + flist["entry"])
Ejemplo n.º 6
0
def zip_get_userweb(isy) :
    global dirset
    global fileset

    dat = isy.soapcomm("GetUserDirectory")
    flist = et2d(ET.fromstring(dat))

    # pprint.pprint(flist)

    if "dir" in flist :
        if isinstance(flist['dir'], list) :
            for d in flist['dir'] :
                dirset.add(d["dir-name"])
        else :
            dirset.add(flist['dir']["dir-name"])

    if "dir" in flist :
        if isinstance(flist['dir'], list) :
            for d in flist['dir'] :
                dirset.add(d["dir-name"])
        else :
            dirset.add(flist['dir']["dir-name"])

    if "file" in flist :
        if isinstance(flist['file'], list) :
            for f in flist['file'] :
                fileset.add(f["file-name"])
        else :
            fileset.add(flist['file']["file-name"])
Ejemplo n.º 7
0
def zip_get_conf(isy) :
    global dirset
    global fileset

    dat = isy.soapcomm("GetSysConfFiles")
    flist = et2d(ET.fromstring(dat))
    # pprint.pprint(flist)

    if "dir-name" in flist :
        if isinstance(flist['dir-name'], list) :
            for d in flist['dir-name'] :
                if d.startswith("/") :
                    dirset.add(d)
                else :
                    dirset.add("/CONF/" + d)
        else :
            if flist['dir-name'].startswith("/") :
                dirset.add(flist['dir-name'])
            else :
                dirset.add("/CONF/" + flist['dir-name'])

    if "entry" in flist :
        if isinstance(flist['entry'], list) :
            for f in flist['entry'] :
                fileset.add("/CONF/" + f)
        else :
            fileset.add("/CONF" + flist["entry"])
Ejemplo n.º 8
0
    def time(self) :
	"""  system time of ISY

	    args: none

	calls : /rest/time
	"""
	xurl = "/rest/time"
	resp = self._getXMLetree(xurl)
	self._printXML(resp)
	return et2d(resp)
Ejemplo n.º 9
0
    def user_dir(self, name="", pattern="") :
	""" Get User Folder/Directory Listing

	    Named args:
		name
		pattern

	    call SOAP GetUserDirectory()
	"""
	r = self.soapcomm("GetUserDirectory", name=name, pattern=pattern)
	# print "GetUserDirectory : ", r
	return et2d( ET.fromstring(r))
Ejemplo n.º 10
0
    def sys(self) :
	""" system configuration

	    args: none

	calls : /rest/sys
	"""  
	xurl = "/rest/sys"
        if self.debug & 0x02 : print("xurl = " + xurl)
	resp = self._getXMLetree(xurl)
	self._printXML(resp)
	return et2d(resp)
Ejemplo n.º 11
0
    def user_mkdir(self, name=None) :
	""" Make new User Folder/Directory

	    Named args:
		name

	    call SOAP MakeUserDirectory()
	"""
	if name == None :
	    raise IsyValueError("user_mkdir : invalid dir name")
	if name[0] != "/" :
	    name = "/USER/WEB/" + name
	r = self.soapcomm("MakeUserDirectory", name=name)
	return et2d( ET.fromstring(r))
Ejemplo n.º 12
0
    def network(self) :
	""" network configuration

	    args: none

	Returns network configuration
	calls /rest/network
	"""

	xurl = "/rest/network"
        if self.debug & 0x02 : print("xurl = " + xurl)
	resp = self._getXMLetree(xurl)
	self._printXML(resp)
	return et2d(resp)
Ejemplo n.º 13
0
    def subscriptions(self) :
	"""  get event subscriptions list and states

	    args: none

	Returns the state of subscriptions

	calls : /rest/subscriptions
	"""
	xurl = "/rest/subscriptions"
        if self.debug & 0x02 : print("xurl = " + xurl)
	resp = self._getXMLetree(xurl)
	self._printXML(resp)
	return et2d(resp)
Ejemplo n.º 14
0
    def electricity(self):
	""" 
	electricity status

	    args: none

	Returns electricity module info, "Energy Monitor",
	"Open ADR" and "Flex Your Power" status

	Only applicable to 994 Z Series.

	calls: /rest/electricity
	"""

	xurl = "/rest/electricity"
        if self.debug & 0x02 :
            print("xurl = " + xurl)
	resp = self._getXMLetree(xurl)
	if resp != None :
	    self._printXML(resp)
	    return et2d(resp)
Ejemplo n.º 15
0
def _load_networking(self, resource_id):
    if self.debug & 0x01 :
	print("_load_networking {!s} called".resource_id)
    xurl = "/rest/networking/{!s}".format(resource_id)
    if self.debug & 0x02 :
	print("_load_networking : xurl = " + xurl)
    net_res_tree = self._getXMLetree(xurl)
    if net_res_tree == None :
	if ( len(self.error_str) ) :
	    raise IsyResponseError (self.error_str)
	else:
	    raise IsyResponseError (xurl)
    net_dict = dict ()
    name2id = dict ()
    for netr in net_res_tree.iter('NetRule'):
	netrule = et2d(netr)
	if 'id' in netrule :
	    net_dict[netrule['id']] = netrule
	    if 'name' in netrule :
		name2id[netrule['name']] = netrule['id']
    return(net_dict, name2id)
Ejemplo n.º 16
0
    def batterypoweredwrites(self, on=-1) :
	""" Battery Powered Writes

	    args values:
		1 = Turn Batch mode on
		0 = Turn Batch mode off
		-1 or None = Return Batch mode status

	returns status of Battery Powered device operations
	calls /rest/batteryPoweredWrites/
	"""
	xurl = "rest/batteryPoweredWrites/"

	if on == 0 :
	    xurl += "/off"
	elif on == 1 :
	    xurl += "/on"

        if self.debug & 0x02 : print("xurl = " + xurl)
	resp = self._getXMLetree(xurl)
	if resp != None :
	    self._printXML(resp)
	    return et2d(resp)