⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getprops.py

📁 MANTIS是由科罗拉多大学开发的传感器网络嵌入式操作系统。 这是mantis的0.9.5版本的源码。
💻 PY
字号:
#!/usr/bin/pythonimport xml.saximport getpropsimport stringimport xml.sax.handler class EventListHandler(xml.sax.handler.ContentHandler):  def __init__(self):    self.mapping = {}  def getDataType(self, eventid, name):    datatypes = self.mapping[str(eventid)]    datatype = datatypes[name]    return datatype["type"]  def getData(self, eventid):    return self.mapping[str(eventid)]  def getDataProperty(self, eventid, name, property):    datatypes = self.mapping[str(eventid)]    datatype = datatypes[name]    return datatype[str(property)]  def getPackString(self, eventid):    datatypes = self.mapping[str(eventid)]    packstring = ""    for name in datatypes["order"]:      datatype = datatypes[name]      packstring = packstring + self.getDataType(eventid, name)        return packstring  def eventIsRegistered(self, eventid):    if self.mapping.has_key(str(eventid)):      return 1    return 0  def getNames(self, eventid):    # retrieve the datatypes for this id    datatypes = self.mapping[str(eventid)]    # return the ordered list of names    return datatypes["order"]  def readTypes(self):    parser = xml.sax.make_parser(  )    parser.setContentHandler(self)    parser.parse("props.xml")  # this callback occurs when we recieve a new <start element>  # tag, respond according to the name of the tag  def startElement(self, name, attributes):    # new event tag, so start a new event keyed off of ID    if name == "event":      self.event = attributes["id"]      self.event_dict = {}      self.event_order = []    # new data attribute, store in current event    elif name == "data":      name = attributes["name"]      datadict = {}      datadict["type"] = attributes["type"]      if attributes.has_key("max"):        datadict["max"] = attributes["max"]      if attributes.has_key("min"):        datadict["min"] = attributes["min"]      self.event_dict[name] = datadict      # keep a list so we can remember the order      self.event_order.append(name)  # this shouldn't occur in our xml file  def characters(self, data):    if len(data) == 1:      return    if not self.isWhitespace(data):      print 'unknown characters', len(data), data   def endElement(self, name):      if name == "event":      # store the order so it can be unpacked correctly      self.event_dict["order"] = self.event_order      self.mapping[self.event] = self.event_dict  # determine if a set of characters is whitespace  def isWhitespace(self, data):    for chars in data:      if not chars in string.whitespace:        return 0    return 1      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -