From 4e1ad1cc9c98ca976363460a432bbf87bfe0c949 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pavel=20K=C3=A1cha?= <ph@cesnet.cz>
Date: Tue, 17 May 2016 11:04:09 +0200
Subject: [PATCH] Python 3 str/bytes compatibility fixes

---
 intelmq/bots/experts/idea/expert.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/intelmq/bots/experts/idea/expert.py b/intelmq/bots/experts/idea/expert.py
index 4fb6f44..eef5f20 100644
--- a/intelmq/bots/experts/idea/expert.py
+++ b/intelmq/bots/experts/idea/expert.py
@@ -6,14 +6,16 @@ from collections import Sequence, Mapping
 from base64 import b64decode
 from uuid import uuid4
 if version_info >= (3, 0):
-    from urllib.parse import quote_plus as quot
+    from urllib.parse import quote_plus
     basestring = str
 else:
-    from urllib import quote_plus as quot
+    from urllib import quote_plus
 
 from intelmq.lib.bot import Bot
 from intelmq.lib.message import Event
 
+def quot(s):
+    return quote_plus((s or "").encode("UTF-8"))
 
 def get_value(src, value):
     try:
@@ -133,7 +135,7 @@ translation = {
             "Ref": [lambda s: "malware:" + quot(s["malware.name"] + quot(s.get("malware.version")))]
         },
         {
-            "Content": lambda s: b64decode(s["raw"]),
+            "Content": lambda s: b64decode(s["raw"]).decode("ISO-8859-1"),
             "Type": [lambda s: s["raw"] and "OrigData"],
             "Ref": ["feed.url"]
         }
-- 
GitLab