def _formatValue(self, item):
     m = (item.header.valuetype & 0xF0) << 8
     if m == SDB_TAG_TYPES.TAG_TYPE_STRINGREF:
         ref = item.value.reference
         return self._strindex.get_string(ref)
     else:
         return formatValue(item)
 def _formatValue(self, item):
     m = (item.header.valuetype & 0xF0) << 8
     if m == SDB_TAG_TYPES.TAG_TYPE_STRINGREF:
         ref = item.value.reference
         return self._strindex.get_string(ref)
     else:
         return formatValue(item)
Example #3
0
def dump_item(item, indent=""):
    if isBadItem(item):
        return

    v = item.value
    if v.vsHasField("children"):
        yield u"{indent:s}<{tag:s}>".format(
            indent=indent,
            tag=getTagName(item.header))

        for _, c in v.children:
            if isBadItem(c):
                continue
            for l in dump_item(c, indent + "  "):
                yield l

        yield u"{indent:s}</{tag:s}>".format(
            indent=indent,
            tag=getTagName(item.header))
    else:
        yield u"{indent:s}<{tag:s} type='{type_:s}'>{data:s}</{tag:s}>".format(
            indent=indent,
            type_=formatValueType(item),
            data=formatValue(item),
            tag=getTagName(item.header))
Example #4
0
 def _formatValue(self, item):
     m = (item.header.valuetype & 0xF0) << 8
     if m == SDB_TAG_TYPES.TAG_TYPE_STRINGREF:
         ref = item.value.reference
         try:
             return self._index.get_string(ref)
         except IndexError:
             return "UNRESOLVED_STRINGREF:" + hex(ref)
     else:
         return formatValue(item)
Example #5
0
 def _formatValue(self, item):
     m = (item.header.valuetype & 0xF0) << 8
     if m == SDB_TAG_TYPES.TAG_TYPE_STRINGREF:
         ref = item.value.reference
         try:
             return self._index.get_string(ref)
         except IndexError:
             return "UNRESOLVED_STRINGREF:" + hex(ref)
     else:
         return formatValue(item)
Example #6
0
 def _formatValue(self, item):
     m = (item.header.valuetype & 0xF0) << 8
     if m == SDB_TAG_TYPES.TAG_TYPE_STRINGREF:
         ref = item.value.reference
         if self._strindex is None:
             raise RuntimeError("strings not indexed")
         if ref not in self._strindex:
             return "UNRESOLVED_STRINGREF:" + hex(ref)
         return self._strindex[ref].value.value
     else:
         return formatValue(item)
Example #7
0
def dump_item(item, indent=""):
    if isBadItem(item):
        return

    v = item.value
    if v.vsHasField("children"):
        yield u"{indent:s}<{tag:s}>".format(indent=indent,
                                            tag=str(getTagName(item.header)))

        for _, c in v.children:
            if isBadItem(c):
                continue
            for l in dump_item(c, indent + "  "):
                yield l

        yield u"{indent:s}</{tag:s}>".format(indent=indent,
                                             tag=str(getTagName(item.header)))
    else:
        yield u"{indent:s}<{tag:s} type='{type_:s}'>{data:s}</{tag:s}>".format(
            indent=indent,
            type_=str(formatValueType(item)),
            data=formatValue(item),
            tag=str(getTagName(item.header)))