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