← Back to team overview

ubuntu-touch-coreapps-reviewers team mailing list archive

[Merge] lp:~dholbach/help-app/1436316 into lp:help-app

 

Daniel Holbach has proposed merging lp:~dholbach/help-app/1436316 into lp:help-app.

Commit message:
Don't sys.exit() if Markdown instatiation fails, catch error in tests and elsewhere.

Requested reviews:
  Ubuntu Help app developers (help-app-dev)
Related bugs:
  Bug #1436316 in Ubuntu Help App: "Don't sys.exit() in Markdown() instantiation"
  https://bugs.launchpad.net/help-app/+bug/1436316

For more details, see:
https://code.launchpad.net/~dholbach/help-app/1436316/+merge/259007

Don't sys.exit() if Markdown instatiation fails, catch error in tests and elsewhere.
-- 
Your team Ubuntu Help app developers is requested to review the proposed merge of lp:~dholbach/help-app/1436316 into lp:help-app.
=== modified file 'internals/tests/test_markdown.py'
--- internals/tests/test_markdown.py	2015-03-23 15:53:43 +0000
+++ internals/tests/test_markdown.py	2015-05-13 14:35:20 +0000
@@ -10,14 +10,22 @@
         TestCase.__init__(self, *args)
 
     def test_load_extensions(self):
-        md = utils.Markdown()
+        try:
+            md = utils.Markdown()
+        except ImportError:
+            md = None
+        self.assertIsNotNone(md)
         for ext in MD_EXTENSIONS:
             self.assertTrue(ext in md.md.treeprocessors or
                             ext in [q.__module__ for q
                                     in md.md.registeredExtensions])
 
     def test_convert_all_docs(self):
-        md = utils.Markdown()
+        try:
+            md = utils.Markdown()
+        except ImportError:
+            md = None
+        self.assertIsNotNone(md)
         docs = Documents()
         self.assertEqual(len(docs.docs),
                          len([md.can_convert_md_file(fn) for fn

=== modified file 'internals/translations/build.py'
--- internals/translations/build.py	2015-03-31 11:38:30 +0000
+++ internals/translations/build.py	2015-05-13 14:35:20 +0000
@@ -233,9 +233,15 @@
 
 class Documents(object):
     def __init__(self):
-        md = Markdown()
-        self.docs = [fn for fn in self.find_docs()
-                     if verify_file_type(fn) and md.can_convert_md_file(fn)]
+        try:
+            md = Markdown()
+        except ImportError:
+            md = None
+            self.docs = []
+        if md:
+            self.docs = \
+                [fn for fn in self.find_docs()
+                 if verify_file_type(fn) and md.can_convert_md_file(fn)]
 
     def find_docs(self):
         docs = []

=== modified file 'internals/translations/utils.py'
--- internals/translations/utils.py	2015-03-31 07:57:56 +0000
+++ internals/translations/utils.py	2015-05-13 14:35:20 +0000
@@ -69,10 +69,10 @@
         try:
             self.md = markdown.Markdown(extensions=MD_EXTENSIONS)
         except ImportError:
+            print('Could not load all markdown extensions.')
+            raise
+        finally:
             os.chdir(pwd)
-            print('Could not load all markdown extensions.')
-            sys.exit(1)
-        os.chdir(pwd)
 
     def can_convert_md_file(self, fn):
         (ret, tmp) = tempfile.mkstemp()


Follow ups