コード例 #1
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:
                    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
                        }
コード例 #2
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:
                     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.' }
コード例 #3
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."}