From aec899e50d22136692a39357cca571b6daf0fcd6 Mon Sep 17 00:00:00 2001
From: Martin Mares <mj@ucw.cz>
Date: Mon, 12 Apr 2021 16:37:25 +0200
Subject: [PATCH] =?UTF-8?q?Odm=C3=ADt=C3=A1me=20PDF=20chr=C3=A1n=C4=9Bn?=
 =?UTF-8?q?=C3=A1=20heslem?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Předtím pokus o submit skončil výjimkou.

Closes #203.
---
 mo/submit.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/mo/submit.py b/mo/submit.py
index ac46677b..10ff0f63 100644
--- a/mo/submit.py
+++ b/mo/submit.py
@@ -92,11 +92,11 @@ class Submitter:
 
         if 'error' in result:
             logger.info('Submit: PDF error: %s', result['error'])
-            if result['pdf-like'] and allow_broken:
+            if result.get('pdf-like', False) and allow_broken:
                 logger.info('Submit: Soubor akceptován s varováním')
                 broken = True
             else:
-                raise SubmitException('Soubor není korektní PDF.')
+                raise SubmitException(result.get('user-error', 'Soubor není korektní PDF.'))
         else:
             paper.pages = result['pages']
             broken = False
@@ -114,6 +114,9 @@ class Submitter:
         except pikepdf.PdfError as e:
             result['error'] = str(e)
             result['pdf-like'] = Submitter._looks_like_pdf(tmpfile)
+        except pikepdf.PasswordError:
+            result['error'] = 'Soubor je chráněný heslem'
+            result['user-error'] = 'Soubor je chráněný heslem'
         pipe.send(result)
 
     @staticmethod
-- 
GitLab