From d17f0ad6744f7e9a314030583ec0962130684f94 Mon Sep 17 00:00:00 2001 From: Clement Verna Date: Jan 15 2017 18:14:15 +0000 Subject: Support binary attachment like images and pdf Signed-off-by: Clement Verna --- diff --git a/pagure_importer/utils/__init__.py b/pagure_importer/utils/__init__.py index 8cab974..2e11f18 100644 --- a/pagure_importer/utils/__init__.py +++ b/pagure_importer/utils/__init__.py @@ -267,8 +267,14 @@ def issue_to_json(issue, folder): for key in attachments.keys(): filename = get_secure_filename(attachments[key], key) attach_path = os.path.join(folder, 'files', filename) - with open(attach_path, 'w') as stream: - stream.write(str(attachments[key])) + # Try decoding Bytes to UTF-8 + try: + with open(attach_path, 'w') as stream: + stream.write(attachments[key].decode()) + # If it fails write the data as binary + except UnicodeDecodeError: + with open(attach_path, 'wb') as stream: + stream.write(attachments[key]) files.append('files/' + filename) # Write down what changed