summaryrefslogtreecommitdiff
path: root/giscanner
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2010-02-11 16:03:59 -0500
committerColin Walters <walters@verbum.org>2010-02-11 16:03:59 -0500
commita77986a99b26812f1a560fb65e8036d2cf236b3a (patch)
treedb56f7054b10f33d05b5350882e01016ff217d5d /giscanner
parent46f4446aa87741e63abcc45251bc35087837c3fb (diff)
downloadgobject-introspection-a77986a99b26812f1a560fb65e8036d2cf236b3a.tar.gz
[scanner] Print error instead of throwing for unknown include
We should avoid exceptions being propagated to the toplevel.
Diffstat (limited to 'giscanner')
-rw-r--r--giscanner/scannermain.py6
-rw-r--r--giscanner/transformer.py5
2 files changed, 8 insertions, 3 deletions
diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
index cc70fdee..44c0287d 100644
--- a/giscanner/scannermain.py
+++ b/giscanner/scannermain.py
@@ -276,7 +276,11 @@ def scanner_main(args):
for include in options.includes:
if os.sep in include:
raise ValueError("Invalid include path %r" % (include, ))
- include_obj = Include.from_string(include)
+ try:
+ include_obj = Include.from_string(include)
+ except:
+ sys.stderr.write("Malformed include %r\n" % (include, ))
+ sys.exit(1)
transformer.register_include(include_obj)
packages = set(options.packages)
diff --git a/giscanner/transformer.py b/giscanner/transformer.py
index f31408fa..2863e731 100644
--- a/giscanner/transformer.py
+++ b/giscanner/transformer.py
@@ -18,7 +18,7 @@
# Boston, MA 02111-1307, USA.
#
-import os
+import os, sys
from .ast import (Bitfield, Callback, Enum, Function, Namespace, Member,
Parameter, Return, Struct, Field,
@@ -125,8 +125,9 @@ class Transformer(object):
path = os.path.join(d, girname)
if os.path.exists(path):
return path
- raise ValueError("Couldn't find include %r (search path: %r)"\
+ sys.stderr.write("Couldn't find include %r (search path: %r)\n"\
% (girname, searchdirs))
+ sys.exit(1)
def _parse_include(self, filename):
parser = self._cachestore.load(filename)