def xml_multiwrite(self, hardwareObjectName, str_updateList):
        if self.server.hardwareRepositoryDirectory is not None:
            filename = os.path.normpath(
                self.server.hardwareRepositoryDirectory + hardwareObjectName +
                '.xml')

            if os.path.exists(filename):
                try:
                    pathvalueList = eval(str_updateList)
                except:
                    return {'__error__': 'Bad update list format.'}

                if type(pathvalueList) in (types.ListType, types.TupleType):
                    paths = []
                    values = []
                    for path, value in pathvalueList:
                        paths.append(path)
                        values.append(value)

                    try:
                        SimpleXMLReadWriteSupport.batchUpdate(
                            filename, paths, values, filename)
                    except SAXParseException, msg:
                        return {
                            '__error__':
                            'Could not parse hardware object file %s : %s' %
                            (hardwareObjectName, msg)
                        }
                    except:
                        return {
                            '__error__':
                            'Could not update hardware object %s' %
                            hardwareObjectName
                        }
     def xml_multiwrite(self, hardwareObjectName, str_updateList):
        if self.server.hardwareRepositoryDirectory is not None:
            filename = os.path.normpath(self.server.hardwareRepositoryDirectory + hardwareObjectName + '.xml')
            
            if os.path.exists(filename):
                try:
                     pathvalueList = eval(str_updateList)
                except:
                     return { '__error__': 'Bad update list format.' }

                if type(pathvalueList) in (list, tuple):
                    paths = []
                    values = []
                    for path, value in pathvalueList:
                        paths.append(path)
                        values.append(value)
                        
                    try:
                         SimpleXMLReadWriteSupport.batchUpdate(filename, paths, values, filename)
                    except SAXParseException as msg:
                         return { '__error__': 'Could not parse hardware object file %s : %s' % (hardwareObjectName, msg) } 
                    except:
                         return { '__error__': 'Could not update hardware object %s' % hardwareObjectName }
                    else:
                         self.server.broadcast_update_event(hardwareObjectName)
                         return {}
                else:
                     return { '__error__': 'Could not eval. update list' }
            else:
                 return { '__error__': '%s does not exist.' % hardwareObjectName }
        else:
             return { '__error__': 'No server.' }
Example #3
0
    def xml_write(self, hardware_object_name, path, value):
        if self.server.hardwareRepositoryDirectory is not None:
            filename = os.path.normpath(
                self.server.hardwareRepositoryDirectory + hardware_object_name + ".xml"
            )

            if os.path.exists(filename):
                try:
                    return SimpleXMLReadWriteSupport.update(
                        filename, path, value, filename
                    )
                except SAXParseException as msg:
                    return {
                        "__error__": "Could not parse hardware object file %s : %s"
                        % (hardware_object_name, msg)
                    }
                except Exception:
                    return {
                        "__error__": "Could not update hardware object %s"
                        % hardware_object_name
                    }
                else:
                    self.server.broadcast_update_event(hardware_object_name)
            else:
                return {"__error__": "%s does not exist." % hardware_object_name}
        else:
            return {"__error__": "No server."}
    def xml_write(self, hardwareObjectName, path, value):
        if self.server.hardwareRepositoryDirectory is not None:
            filename = os.path.normpath(
                self.server.hardwareRepositoryDirectory + hardwareObjectName + ".xml"
            )

            if os.path.exists(filename):
                try:
                    return SimpleXMLReadWriteSupport.update(
                        filename, path, value, filename
                    )
                except SAXParseException as msg:
                    return {
                        "__error__": "Could not parse hardware object file %s : %s"
                        % (hardwareObjectName, msg)
                    }
                except BaseException:
                    return {
                        "__error__": "Could not update hardware object %s"
                        % hardwareObjectName
                    }
                else:
                    self.server.broadcast_update_event(hardwareObjectName)
            else:
                return {"__error__": "%s does not exist." % hardwareObjectName}
        else:
            return {"__error__": "No server."}
Example #5
0
    def xml_write(self, hardwareObjectName, path, value):
        if self.server.hardwareRepositoryDirectory is not None:
            filename = os.path.normpath(
                self.server.hardwareRepositoryDirectory + hardwareObjectName +
                '.xml')

            if os.path.exists(filename):
                try:
                    return SimpleXMLReadWriteSupport.update(
                        filename, path, value, filename)
                except SAXParseException as msg:
                    return {
                        '__error__':
                        'Could not parse hardware object file %s : %s' %
                        (hardwareObjectName, msg)
                    }
                except:
                    return {
                        '__error__':
                        'Could not update hardware object %s' %
                        hardwareObjectName
                    }
                else:
                    self.server.broadcast_update_event(hardwareObjectName)
            else:
                return {'__error__': '%s does not exist.' % hardwareObjectName}
        else:
            return {'__error__': 'No server.'}
Example #6
0
    def xml_multiwrite(self, hardwareObjectName, str_updateList):
        if self.server.hardwareRepositoryDirectory is not None:
            filename = os.path.normpath(
                self.server.hardwareRepositoryDirectory + hardwareObjectName +
                ".xml")

            if os.path.exists(filename):
                try:
                    pathvalueList = eval(str_updateList)
                except BaseException:
                    return {"__error__": "Bad update list format."}

                if type(pathvalueList) in (list, tuple):
                    paths = []
                    values = []
                    for path, value in pathvalueList:
                        paths.append(path)
                        values.append(value)

                    try:
                        SimpleXMLReadWriteSupport.batchUpdate(
                            filename, paths, values, filename)
                    except SAXParseException as msg:
                        return {
                            "__error__":
                            "Could not parse hardware object file %s : %s" %
                            (hardwareObjectName, msg)
                        }
                    except BaseException:
                        return {
                            "__error__":
                            "Could not update hardware object %s" %
                            hardwareObjectName
                        }
                    else:
                        self.server.broadcast_update_event(hardwareObjectName)
                        return {}
                else:
                    return {"__error__": "Could not eval. update list"}
            else:
                return {"__error__": "%s does not exist." % hardwareObjectName}
        else:
            return {"__error__": "No server."}
 def xml_write(self, hardwareObjectName, path, value):
    if self.server.hardwareRepositoryDirectory is not None:
        filename = os.path.normpath(self.server.hardwareRepositoryDirectory + hardwareObjectName + '.xml')
        
        if os.path.exists(filename):
            try:
                 return SimpleXMLReadWriteSupport.update(filename, path, value, filename)
            except SAXParseException, msg:
                 return { '__error__': 'Could not parse hardware object file %s : %s' % (hardwareObjectName, msg) }
            except:
Example #8
0
    def xml_read(self, hardwareObjectName, path):
        if self.server.hardwareRepositoryDirectory is not None:
            filename = os.path.normpath(
                self.server.hardwareRepositoryDirectory + hardwareObjectName +
                ".xml")

            if os.path.exists(filename):
                try:
                    ret = SimpleXMLReadWriteSupport.read(filename, path)
                except SAXParseException as msg:
                    return {
                        "__error__":
                        "Could not parse hardware object file %s : %s" %
                        (hardwareObjectName, msg)
                    }
                except BaseException:
                    return {
                        "__error__":
                        "Could not read hardware object %s" %
                        hardwareObjectName
                    }

                #
                # format return value for Spec
                #
                spec_ret = {}
                for i in range(len(ret)):
                    dict = {}
                    dict.update(ret[i])

                    tmp = ""
                    if "__children__" in dict:
                        for childpath, childname in list(
                                dict["__children__"].items()):
                            tmp += childname + ":" + childpath + " "
                        tmp.strip()
                        dict["__children__"] = tmp

                    spec_ret[i] = dict

                if len(spec_ret) > 0:
                    return spec_ret
                else:
                    return {"__error__": "No match."}
            else:
                return {"__error__": "%s does not exist." % hardwareObjectName}
        else:
            return {"__error__": "No server."}
Example #9
0
    def xml_read(self, hardwareObjectName, path):
        if self.server.hardwareRepositoryDirectory is not None:
            filename = os.path.normpath(
                self.server.hardwareRepositoryDirectory + hardwareObjectName +
                '.xml')

            if os.path.exists(filename):
                try:
                    ret = SimpleXMLReadWriteSupport.read(filename, path)
                except SAXParseException as msg:
                    return {
                        '__error__':
                        'Could not parse hardware object file %s : %s' %
                        (hardwareObjectName, msg)
                    }
                except:
                    return {
                        '__error__':
                        'Could not read hardware object %s' %
                        hardwareObjectName
                    }

                #
                # format return value for Spec
                #
                spec_ret = {}
                for i in range(len(ret)):
                    dict = {}
                    dict.update(ret[i])

                    tmp = ''
                    if '__children__' in dict:
                        for childpath, childname in list(
                                dict['__children__'].items()):
                            tmp += childname + ':' + childpath + ' '
                        tmp.strip()
                        dict['__children__'] = tmp

                    spec_ret[i] = dict

                if len(spec_ret) > 0:
                    return spec_ret
                else:
                    return {'__error__': 'No match.'}
            else:
                return {'__error__': '%s does not exist.' % hardwareObjectName}
        else:
            return {'__error__': 'No server.'}
    def xml_read(self, hardwareObjectName, path):
        if self.server.hardwareRepositoryDirectory is not None:
            filename = os.path.normpath(
                self.server.hardwareRepositoryDirectory + hardwareObjectName +
                '.xml')

            if os.path.exists(filename):
                try:
                    ret = SimpleXMLReadWriteSupport.read(filename, path)
                except SAXParseException, msg:
                    return {
                        '__error__':
                        'Could not parse hardware object file %s : %s' %
                        (hardwareObjectName, msg)
                    }
                except:
                    return {
    def xml_read(self, hardwareObjectName, path):
        if self.server.hardwareRepositoryDirectory is not None:
            filename = os.path.normpath(
                self.server.hardwareRepositoryDirectory + hardwareObjectName + ".xml"
            )

            if os.path.exists(filename):
                try:
                    ret = SimpleXMLReadWriteSupport.read(filename, path)
                except SAXParseException as msg:
                    return {
                        "__error__": "Could not parse hardware object file %s : %s"
                        % (hardwareObjectName, msg)
                    }
                except BaseException:
                    return {
                        "__error__": "Could not read hardware object %s"
                        % hardwareObjectName
                    }

                #
                # format return value for Spec
                #
                spec_ret = {}
                for i in range(len(ret)):
                    dict = {}
                    dict.update(ret[i])

                    tmp = ""
                    if "__children__" in dict:
                        for childpath, childname in list(dict["__children__"].items()):
                            tmp += childname + ":" + childpath + " "
                        tmp.strip()
                        dict["__children__"] = tmp

                    spec_ret[i] = dict

                if len(spec_ret) > 0:
                    return spec_ret
                else:
                    return {"__error__": "No match."}
            else:
                return {"__error__": "%s does not exist." % hardwareObjectName}
        else:
            return {"__error__": "No server."}
Example #12
0
    def startElement(self, name, attrs):
        #
        # determine path to the new object
        #
        self.path += "/" + str(name) + "[%d]"
        i = self.previous_path.rfind("[")

        if i >= 0 and self.path[:-4] == self.previous_path[:i]:
            objectIndex = int(self.previous_path[i + 1 : -1]) + 1
        else:
            objectIndex = 1  # XPath indexes begin at 1

        self.path %= objectIndex

        if SimpleXMLReadWriteSupport.testPath(self.path, self.queryPath, attrs):
            self.get_property = True
            self.propertyName = str(name)
            self.propertyValue = ""
        else:
            self.get_property = False
    def startElement(self, name, attrs):
        #
        # determine path to the new object
        #
        self.path += "/" + str(name) + "[%d]"
        i = self.previousPath.rfind("[")

        if i >= 0 and self.path[:-4] == self.previousPath[:i]:
            objectIndex = int(self.previousPath[i + 1 : -1]) + 1
        else:
            objectIndex = 1  # XPath indexes begin at 1

        self.path %= objectIndex

        if SimpleXMLReadWriteSupport.testPath(self.path, self.queryPath, attrs):
            self.getProperty = True
            self.propertyName = str(name)
            self.propertyValue = ""
        else:
            self.getProperty = False
     def xml_read(self, hardwareObjectName, path):
        if self.server.hardwareRepositoryDirectory is not None:
            filename = os.path.normpath(self.server.hardwareRepositoryDirectory + hardwareObjectName + '.xml')

            if os.path.exists(filename):
                try:
                     ret = SimpleXMLReadWriteSupport.read(filename, path)
                except SAXParseException as msg:
                     return { '__error__': 'Could not parse hardware object file %s : %s' % (hardwareObjectName, msg) }
                except:
                     return { '__error__': 'Could not read hardware object %s' % hardwareObjectName } 
                
                #
                # format return value for Spec
                #
                spec_ret = {}
                for i in range(len(ret)):
                    dict = {}
                    dict.update(ret[i])
	 	    	
                    tmp = ''
		    if '__children__' in dict:
                      for childpath, childname in list(dict['__children__'].items()):
                        tmp += childname + ':' + childpath + ' '
                      tmp.strip()
                      dict['__children__'] = tmp
                    
                    spec_ret[i]=dict

                if len(spec_ret) > 0:
                    return spec_ret
                else:
                    return { '__error__': 'No match.' }
            else:
                 return { '__error__': '%s does not exist.' % hardwareObjectName }
        else:
             return { '__error__': 'No server.' }