chiark / gitweb /
Never use exit/log in metadata
authorDaniel Martí <mvdan@mvdan.cc>
Wed, 2 Dec 2015 21:59:58 +0000 (22:59 +0100)
committerDaniel Martí <mvdan@mvdan.cc>
Wed, 2 Dec 2015 21:59:58 +0000 (22:59 +0100)
fdroidserver/metadata.py

index 0f833c570d45c392d47b2d9c6ab063a407abc68b..814cee6ec2276995262c33ac18c0f6401be93b0a 100644 (file)
 import json
 import os
 import re
-import sys
 import glob
 import cgi
-import logging
 import textwrap
 
 import yaml
@@ -889,10 +887,8 @@ def parse_metadata(metadatapath):
     _, ext = common.get_extension(metadatapath)
     accepted = common.config['accepted_formats']
     if ext not in accepted:
-        logging.critical('"' + metadatapath
-                         + '" is not in an accepted format, '
-                         + 'convert to: ' + ', '.join(accepted))
-        sys.exit(1)
+        raise MetaDataException('"%s" is not an accepted format, convert to: %s' % (
+            metadatapath, ', '.join(accepted)))
 
     app = None
     if ext == 'txt':
@@ -904,8 +900,7 @@ def parse_metadata(metadatapath):
     elif ext == 'yaml':
         app = parse_yaml_metadata(metadatapath)
     else:
-        logging.critical('Unknown metadata format: ' + metadatapath)
-        sys.exit(1)
+        raise MetaDataException('Unknown metadata format: %s' % metadatapath)
 
     post_metadata_parse(app)
     return app
@@ -934,8 +929,7 @@ def parse_xml_metadata(metadatapath):
     root = tree.getroot()
 
     if root.tag != 'resources':
-        logging.critical(metadatapath + ' does not have root as <resources></resources>!')
-        sys.exit(1)
+        raise MetaDataException('%s does not have root as <resources></resources>!' % metadatapath)
 
     for child in root:
         if child.tag != 'builds':