From 27504792ccb435ff34d6c7229ee1b32403a001a0 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Thu, 28 Nov 2013 18:14:35 +0530 Subject: [PATCH] [minor] reload a plugin doc --- webnotes/__init__.py | 4 ++-- webnotes/model/sync.py | 2 +- webnotes/modules/__init__.py | 4 ++-- webnotes/modules/import_file.py | 21 +++++++++++++-------- wnf.py | 9 ++++++--- 5 files changed, 24 insertions(+), 16 deletions(-) diff --git a/webnotes/__init__.py b/webnotes/__init__.py index a1af5d690a..af578d84f6 100644 --- a/webnotes/__init__.py +++ b/webnotes/__init__.py @@ -453,9 +453,9 @@ def reset_perms(doctype): clear_perms(doctype) reload_doc(conn.get_value("DocType", doctype, "module"), "DocType", doctype, force=True) -def reload_doc(module, dt=None, dn=None, force=False): +def reload_doc(module, dt=None, dn=None, plugin=None, force=False): import webnotes.modules - return webnotes.modules.reload_doc(module, dt, dn, force) + return webnotes.modules.reload_doc(module, dt, dn, plugin=plugin, force=force) def rename_doc(doctype, old, new, debug=0, force=False, merge=False): from webnotes.model.rename_doc import rename_doc diff --git a/webnotes/model/sync.py b/webnotes/model/sync.py index 108e12fcde..0adc52d28b 100644 --- a/webnotes/model/sync.py +++ b/webnotes/model/sync.py @@ -42,7 +42,7 @@ def walk_and_sync(start_path, force=0, sync_everything = False, verbose=False): doctype = path.split(os.sep)[-2] name = path.split(os.sep)[-1] - if import_file(module_name, doctype, name, force) and verbose: + if import_file(module_name, doctype, name, force=force) and verbose: print module_name + ' | ' + doctype + ' | ' + name webnotes.conn.commit() diff --git a/webnotes/modules/__init__.py b/webnotes/modules/__init__.py index 0a3b098edb..dc832fe8fb 100644 --- a/webnotes/modules/__init__.py +++ b/webnotes/modules/__init__.py @@ -37,9 +37,9 @@ def get_doc_path(module, doctype, name): dt, dn = scrub_dt_dn(doctype, name) return os.path.join(get_module_path(module), dt, dn) -def reload_doc(module, dt=None, dn=None, force=True): +def reload_doc(module, dt=None, dn=None, plugin=None, force=True): from webnotes.modules.import_file import import_files - return import_files(module, dt, dn, force) + return import_files(module, dt, dn, plugin=plugin, force=force) def export_doc(doctype, name, module=None, plugin=None): """write out a doc""" diff --git a/webnotes/modules/import_file.py b/webnotes/modules/import_file.py index 6936c78317..a80f96eb29 100644 --- a/webnotes/modules/import_file.py +++ b/webnotes/modules/import_file.py @@ -5,23 +5,28 @@ from __future__ import unicode_literals import webnotes, os from webnotes.modules import scrub, get_module_path, scrub_dt_dn +import webnotes.plugins -def import_files(module, dt=None, dn=None, force=False): +def import_files(module, dt=None, dn=None, plugin=None, force=False): if type(module) is list: out = [] for m in module: - out.append(import_file(m[0], m[1], m[2], force)) + out.append(import_file(m[0], m[1], m[2], plugin=plugin, force=force)) return out else: - return import_file(module, dt, dn, force) + return import_file(module, dt, dn, plugin=plugin, force=force) -def import_file(module, dt, dn, force=False): +def import_file(module, dt, dn, plugin=None, force=False): """Sync a file from txt if modifed, return false if not updated""" webnotes.flags.in_import = True dt, dn = scrub_dt_dn(dt, dn) - path = os.path.join(get_module_path(module), - os.path.join(dt, dn, dn + '.txt')) - + + if plugin: + path = webnotes.plugins.get_path(module, dt, dn, plugin, extn="txt") + else: + path = os.path.join(get_module_path(module), + os.path.join(dt, dn, dn + '.txt')) + ret = import_file_by_path(path, force) webnotes.flags.in_import = False return ret @@ -32,7 +37,7 @@ def import_file_by_path(path, force=False): with open(path, 'r') as f: doclist = peval_doclist(f.read()) - + if doclist: doc = doclist[0] diff --git a/wnf.py b/wnf.py index ebaec139f7..2d8400cf07 100755 --- a/wnf.py +++ b/wnf.py @@ -69,9 +69,11 @@ def setup_parser(): parser.add_argument("-f", "--force", default=False, action="store_true", help="Force execution where applicable (look for [-f] in help)") parser.add_argument("--quiet", default=True, action="store_false", dest="verbose", - help="Show verbose output where applicable") + help="Don't show verbose output where applicable") parser.add_argument("--site", nargs="?", metavar="SITE-NAME or all", help="Run for a particular site") + parser.add_argument("--plugin", nargs="?", metavar="PLUGIN-NAME", + help="Run for a particular plugin") return parser.parse_args() @@ -334,9 +336,10 @@ def update_all_sites(remote=None, branch=None, verbose=True): latest(site=site, verbose=verbose) @cmd -def reload_doc(module, doctype, docname, site=None, force=False): +def reload_doc(module, doctype, docname, plugin=None, site=None, force=False): webnotes.connect(site=site) - webnotes.reload_doc(module, doctype, docname, force=force) + webnotes.reload_doc(module, doctype, docname, plugin=plugin, force=force) + webnotes.conn.commit() webnotes.destroy() @cmd