summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2013-02-15 05:49:55 -0500
committerJasper St. Pierre <jstpierre@mecheye.net>2013-02-15 05:56:49 -0500
commit6ba948c1647ad19e91576520e6f506235a585bb2 (patch)
tree4707f2c4e7051a8168af6d7b90f7ab57cdee1503
parentc53e5f29befc6b9e8d71746caf79e53821a4db4f (diff)
downloadgobject-introspection-6ba948c1647ad19e91576520e6f506235a585bb2.tar.gz
docmain: Create the output dir for us if it doesn't exist
-rw-r--r--giscanner/docmain.py2
-rw-r--r--giscanner/docwriter.py6
2 files changed, 6 insertions, 2 deletions
diff --git a/giscanner/docmain.py b/giscanner/docmain.py
index cd782fef..fc78ed62 100644
--- a/giscanner/docmain.py
+++ b/giscanner/docmain.py
@@ -41,8 +41,6 @@ def doc_main(args):
options, args = parser.parse_args(args)
if not options.output:
raise SystemExit("missing output parameter")
- if not os.path.isdir(options.output):
- raise SystemExit("wrong output parameter: %s" % (options.output, ))
if len(args) < 2:
raise SystemExit("Need an input GIR filename")
diff --git a/giscanner/docwriter.py b/giscanner/docwriter.py
index 85f3b16d..d5b1f909 100644
--- a/giscanner/docwriter.py
+++ b/giscanner/docwriter.py
@@ -593,6 +593,12 @@ class DocWriter(object):
output_encoding='utf-8')
def write(self, output):
+ try:
+ os.makedirs(output)
+ except OSError:
+ # directory already made
+ pass
+
nodes = [self._transformer.namespace]
for node in self._transformer.namespace.itervalues():
if isinstance(node, ast.Function) and node.moved_to is not None: