diff piecrust/commands/builtin/util.py @ 11:617191dec18e

Fixes for Windows, make `findPagePath` return a ref path.
author Ludovic Chabant <ludovic@chabant.com>
date Mon, 18 Aug 2014 16:47:44 -0700
parents 474c9882decf
children afcfecd3bf92
line wrap: on
line diff
--- a/piecrust/commands/builtin/util.py	Sun Aug 17 21:18:48 2014 -0700
+++ b/piecrust/commands/builtin/util.py	Mon Aug 18 16:47:44 2014 -0700
@@ -86,18 +86,19 @@
         app = ctx.app
         source = ctx.args.source
         metadata = source.buildMetadata(ctx.args)
-        page_path = source.findPagePath(metadata, MODE_CREATING)
-        name, ext = os.path.splitext(page_path)
+        rel_path, metadata = source.findPagePath(metadata, MODE_CREATING)
+        path = source.resolveRef(rel_path)
+        name, ext = os.path.splitext(path)
         if ext == '.*':
-            page_path = '%s.%s' % (name,
+            path = '%s.%s' % (name,
                     app.config.get('site/default_auto_format'))
-        if os.path.exists(page_path):
-            raise Exception("'%s' already exists." % page_path)
+        if os.path.exists(path):
+            raise Exception("'%s' already exists." % path)
 
-        logger.info("Creating page: %s" % os.path.relpath(page_path, app.root_dir))
-        if not os.path.exists(os.path.dirname(page_path)):
-            os.makedirs(os.path.dirname(page_path), 0o755)
-        with open(page_path, 'w') as f:
+        logger.info("Creating page: %s" % os.path.relpath(path, app.root_dir))
+        if not os.path.exists(os.path.dirname(path)):
+            os.makedirs(os.path.dirname(path), 0o755)
+        with open(path, 'w') as f:
             f.write('---\n')
             f.write('title: %s\n' % 'Unknown title')
             f.write('---\n')