From d742d3e30b226610c12b2799292b0ad1fffc7456 Mon Sep 17 00:00:00 2001 From: Pratik Vyas Date: Tue, 10 Feb 2015 14:40:48 +0530 Subject: [PATCH] Fix new-app --- frappe/cli.py | 7 +++---- frappe/utils/boilerplate.py | 15 +++++++++------ 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/frappe/cli.py b/frappe/cli.py index dabb160b16..57deef8a81 100755 --- a/frappe/cli.py +++ b/frappe/cli.py @@ -29,7 +29,6 @@ def main(): sites_path = parsed_args.get("sites_path") if not parsed_args.get("make_app"): - if parsed_args.get("site")=="all": for site in get_sites(parsed_args["sites_path"]): print "\nRunning", fn, "for", site @@ -129,7 +128,7 @@ def setup_parser(): return parser.parse_args() def setup_install(parser): - parser.add_argument("--make_app", metavar="DEST", nargs=1, + parser.add_argument("--make_app", metavar=("DESTINATION", "APP-NAME"), nargs=2, help="Make a new application with boilerplate") parser.add_argument("--install", metavar="DB-NAME", nargs=1, help="Install a new db") @@ -293,9 +292,9 @@ def setup_translation(parser): # methods @cmd -def make_app(destination): +def make_app(destination, app_name): from frappe.utils.boilerplate import make_boilerplate - make_boilerplate(destination) + make_boilerplate(destination, app_name) @cmd def use(sites_path): diff --git a/frappe/utils/boilerplate.py b/frappe/utils/boilerplate.py index e08faa4f89..1f3281cc99 100644 --- a/frappe/utils/boilerplate.py +++ b/frappe/utils/boilerplate.py @@ -6,25 +6,29 @@ from __future__ import unicode_literals import frappe, os from frappe.utils import touch_file -def make_boilerplate(dest): +def make_boilerplate(dest, app_name): if not os.path.exists(dest): print "Destination directory does not exist" return hooks = frappe._dict() - for key in ("App Name", "App Title", "App Description", "App Publisher", - "App Icon", "App Color", "App Email", "App URL", "App License"): - hook_key = key.lower().replace(" ", "_") + hooks.app_name = app_name + app_title = hooks.app_name.replace("_", " ").title() + for key in ("App Title (defaut: {0})".format(app_title), "App Description", "App Publisher", + "App Icon (e.g. 'octicon octicon-zap')", "App Color", "App Email", "App License"): + hook_key = key.split(" (")[0].lower().replace(" ", "_") hook_val = None while not hook_val: hook_val = raw_input(key + ": ") if hook_key=="app_name" and hook_val.lower().replace(" ", "_") != hook_val: print "App Name must be all lowercase and without spaces" hook_val = "" + elif hook_key=="app_title" and not hook_val: + hook_val = app_title hooks[hook_key] = hook_val - frappe.create_folder(os.path.join(dest, hooks.app_name, hooks.app_name, frappe.scrub(hooks.app_title)), + frappe.create_folder(os.path.join(dest, hooks.app_name, hooks.app_name, hooks.app_title), with_init=True) frappe.create_folder(os.path.join(dest, hooks.app_name, hooks.app_name, "templates"), with_init=True) frappe.create_folder(os.path.join(dest, hooks.app_name, hooks.app_name, "templates", @@ -94,7 +98,6 @@ app_description = "{app_description}" app_icon = "{app_icon}" app_color = "{app_color}" app_email = "{app_email}" -app_url = "{app_url}" app_version = "0.0.1" # Includes in