prewikka/master: Convert all IDMEF string to unicode

[email protected] Fri, 29 Jan 2010 18:01:52 +0100 (CET)
Newsgroups gmane.comp.security.ids.prelude.cvs
Message-ID <[email protected]>
commit 2d63d768e15bafaf5314eff7901c357850553f15
Author: Yoann Vandoorselaere <[email protected]>
Date:   Fri Jan 22 17:11:00 2010 +0100

    Convert all IDMEF string to unicode


========================================

 prewikka/IDMEFDatabase.py        |   10 ++++++----
 prewikka/views/messagesummary.py |    2 ++
 2 files changed, 8 insertions(+), 4 deletions(-)

========================================

diff --git a/prewikka/IDMEFDatabase.py b/prewikka/IDMEFDatabase.py
index 2b8b408..437ae93 100644
--- a/prewikka/IDMEFDatabase.py
+++ b/prewikka/IDMEFDatabase.py
@@ -78,7 +78,7 @@ def convert_idmef_value(value):
         return idmef_class_enum_to_string(idmef_value_get_class(value), idmef_value_get_enum(value))
 
     try:
-        return {
+        ret = {
             IDMEF_VALUE_TYPE_INT8:          idmef_value_get_int8,
             IDMEF_VALUE_TYPE_UINT8:         idmef_value_get_uint8,
             IDMEF_VALUE_TYPE_INT16:         idmef_value_get_int16,
@@ -98,6 +98,11 @@ def convert_idmef_value(value):
     except KeyError:
         return None
 
+    if idmef_value_get_type(value) == IDMEF_VALUE_TYPE_STRING and isinstance(ret, str):
+        ret = toUnicode(ret)
+
+    return ret
+
 
 
 class Message:
@@ -149,9 +154,6 @@ class Message:
             if not self._value_list:
                 idmef_value_destroy(idmef_value)
 
-            if idmef_value_get_type(idmef_value) == IDMEF_VALUE_TYPE_STRING:
-                value = toUnicode(value)
-
         else:
             if not self._value_list:
                 idmef_value_destroy(idmef_value)
diff --git a/prewikka/views/messagesummary.py b/prewikka/views/messagesummary.py
index 11bd0c5..fe5a9a3 100644
--- a/prewikka/views/messagesummary.py
+++ b/prewikka/views/messagesummary.py
@@ -542,6 +542,8 @@ class MessageSummary(Table):
                         value = utils.hexdump(value)
                 else:
                     value = ad.get("data")
+                    if isinstance(value, str):
+                        value = utils.toUnicode(value)
 
             for field in ignore:
                 if meaning != None and meaning == field[0]:
_______________________________________________
Prelude-cvslog site list
[email protected]
http://lists.prelude-ids.org/mailman/listinfo/prelude-cvslog