few just in case "patches"

This commit is contained in:
Miroslav Stampar 2012-04-02 12:58:10 +00:00
parent d908d078dd
commit 1e01203562
2 changed files with 10 additions and 2 deletions

View File

@ -3092,6 +3092,8 @@ def decodeHexValue(value):
Returns value decoded from DBMS specific hexadecimal representation Returns value decoded from DBMS specific hexadecimal representation
""" """
retVal = value
def _(value): def _(value):
if value and isinstance(value, basestring) and len(value) % 2 == 0: if value and isinstance(value, basestring) and len(value) % 2 == 0:
if value.lower().startswith("0x"): if value.lower().startswith("0x"):
@ -3109,7 +3111,12 @@ def decodeHexValue(value):
pass pass
return value return value
return applyFunctionRecursively(value, _) try:
retVal = applyFunctionRecursively(value, _)
except Exception:
singleTimeWarnMessage("there was a problem decoding value '%s' from expected hexadecimal form" % value)
return retVal
def extractExpectedValue(value, expected): def extractExpectedValue(value, expected):
""" """

View File

@ -12,6 +12,7 @@ import sqlite3
import threading import threading
import time import time
from lib.core.common import getUnicode
from lib.core.common import serializeObject from lib.core.common import serializeObject
from lib.core.common import unserializeObject from lib.core.common import unserializeObject
from lib.core.settings import HASHDB_FLUSH_THRESHOLD from lib.core.settings import HASHDB_FLUSH_THRESHOLD
@ -74,7 +75,7 @@ class HashDB(object):
if key: if key:
hash_ = HashDB.hashKey(key) hash_ = HashDB.hashKey(key)
self._cache_lock.acquire() self._cache_lock.acquire()
self._write_cache[hash_] = value if not serialize else serializeObject(value) self._write_cache[hash_] = getUnicode(value) if not serialize else serializeObject(value)
self._cache_lock.release() self._cache_lock.release()
if getCurrentThreadName() in ('0', 'MainThread'): if getCurrentThreadName() in ('0', 'MainThread'):