code: def _parse_tree(self, node):
          
          if 'timestamp' in node.attrib:
              self.timestamp = int(node.attrib['timestamp'])
          if 'date' in node.attrib:
              dt = dateutil.parser.parse(node.attrib['date'])
              self.timestamp = int(dt.strftime("%s"))
          if 'urgency' in node.attrib:
              self.urgency = node.attrib['urgency']
          if 'version' in node.attrib:
              self.version = node.attrib['version']
              # fix up hex value
              if self.version.startswith('0x'):
                  self.version = str(int(self.version[2:], 16))
          for c3 in node:
              if c3.tag == 'description':
                  self.description = _parse_desc(c3)
              if c3.tag == 'size':
                  if 'type' not in c3.attrib:
                      continue
                  if c3.attrib['type'] == 'installed':
                      self.size_installed = int(c3.text)
                  if c3.attrib['type'] == 'download':
                      self.size_download = int(c3.text)
              elif c3.tag == 'checksum':
                  csum = Checksum()
                  csum._parse_tree(c3)
                  self.add_checksum(csum)
docs: Parse a <release> object