summaryrefslogtreecommitdiff
path: root/plugins/python/androperms/string.py
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/python/androperms/string.py')
-rw-r--r--plugins/python/androperms/string.py82
1 files changed, 0 insertions, 82 deletions
diff --git a/plugins/python/androperms/string.py b/plugins/python/androperms/string.py
deleted file mode 100644
index 09a7b93..0000000
--- a/plugins/python/androperms/string.py
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/python -u
-# -*- coding: utf-8 -*-
-
-
-from defs import CHUNK_TYPE
-
-
-class StringBlock():
-
-
- def __init__(self, reader):
-
- magic = reader.readInt()
- if magic != CHUNK_TYPE:
- raise Exception("Bad Magic Number (0x%08lx)!" % magic)
-
- chunk_size = reader.readInt()
- str_count = reader.readInt()
- style_offset_count = reader.readInt()
- reader.readInt() # ???
- str_offset = reader.readInt()
- styles_offset = reader.readInt()
-
- self._str_offsets = reader.readIntArray(str_count);
- self._style_offsets = reader.readIntArray(style_offset_count);
-
- if styles_offset == 0:
- size = chunk_size - str_offset
- else:
- size = styles_offset - str_offset
-
- if size % 4 != 0:
- raise Exception("String data size is not multiple of 4 (%d)!" % size)
-
- self._strings = reader.readIntArray(size / 4)
-
- if styles_offset > 0:
-
- size = chunk_size - styles_offset
-
- if size % 4 != 0:
- raise Exception("Style data size is not multiple of 4 (%d)!" % size)
-
- self._styles = reader.readIntArray(size / 4)
-
- self._str_data = [ self.getRaw(i) for i in range(self.count()) ]
-
-
- def count(self):
- """Count the number of strings in the current block."""
-
- return len(self._str_offsets)
-
-
- def getRaw(self, index):
- """Provide a raw string (without any styling information) at specified index."""
-
- if index < 0 or index >= len(self._str_offsets):
- raise Exception("Invalid Index (%d)!" % index)
-
- offset = self._str_offsets[index]
- length = self.getShort(self._strings, offset)
-
- data = ''
-
- for i in range(length):
- offset += 2
- data += unichr(self.getShort(self._strings, offset))
-
- return data
-
-
- def getShort(self, array, offset):
-
- value = array[offset / 4]
-
- if ((offset % 4) / 2) == 0:
- value &= 0xFFFF
- else:
- value >>= 16
-
- return value