diff --git a/frappe/__init__.py b/frappe/__init__.py index 9afa2d8721..975b17d014 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -350,6 +350,9 @@ def get_module(modulename): def scrub(txt): return txt.replace(' ','_').replace('-', '_').replace('/', '_').lower() +def unscrub(txt): + return txt.replace('_',' ').replace('-', ' ').title() + def get_module_path(module, *joins): module = scrub(module) return get_pymodule_path(local.module_app[module] + "." + module, *joins) diff --git a/frappe/installer.py b/frappe/installer.py index 6aa6ce240c..b5054e3191 100755 --- a/frappe/installer.py +++ b/frappe/installer.py @@ -103,6 +103,8 @@ def install_app(name, verbose=False, set_as_patched=True): for before_install in app_hooks.before_install or []: frappe.get_attr(before_install)() + if name != "frappe": + add_module_defs(name) sync_for(name, force=True, sync_everything=True, verbose=verbose) add_to_installed_apps(name) @@ -179,3 +181,11 @@ def make_site_dirs(): locks_dir = frappe.get_site_path('locks') if not os.path.exists(locks_dir): os.makedirs(locks_dir) + +def add_module_defs(app): + modules = frappe.get_module_list(app) + for module in modules: + d = frappe.new_doc("Module Def") + d.app_name = app + d.module_name = frappe.unscrub(module) + d.save()