浏览代码

Make sites_dir configurable

version-14
Pratik Vyas 11 年前
父节点
当前提交
ee883c1863
共有 2 个文件被更改,包括 17 次插入15 次删除
  1. +7
    -5
      frappe/app.py
  2. +10
    -10
      frappe/cli.py

+ 7
- 5
frappe/app.py 查看文件

@@ -21,6 +21,7 @@ from frappe.utils import get_site_name
local_manager = LocalManager([frappe.local]) local_manager = LocalManager([frappe.local])


_site = None _site = None
_sites_path = '.'


def handle_session_stopped(): def handle_session_stopped():
res = Response("""<html> res = Response("""<html>
@@ -41,7 +42,7 @@ def application(request):
try: try:
site = _site or get_site_name(request.host) site = _site or get_site_name(request.host)
frappe.init(site=site)
frappe.init(site=site, sites_path=_sites_path)
if not frappe.local.conf: if not frappe.local.conf:
# site does not exist # site does not exist
@@ -79,9 +80,10 @@ def application(request):


application = local_manager.make_middleware(application) application = local_manager.make_middleware(application)


def serve(port=8000, profile=False, site=None):
global application, _site
def serve(port=8000, profile=False, site=None, sites_path='.'):
global application, _site, _sites_path
_site = site _site = site
_sites_path = sites_path
from werkzeug.serving import run_simple from werkzeug.serving import run_simple


@@ -90,12 +92,12 @@ def serve(port=8000, profile=False, site=None):


if not os.environ.get('NO_STATICS'): if not os.environ.get('NO_STATICS'):
application = SharedDataMiddleware(application, { application = SharedDataMiddleware(application, {
'/assets': 'assets',
'/assets': os.path.join(sites_path, 'assets'),
}) })
if site: if site:
application = SharedDataMiddleware(application, { application = SharedDataMiddleware(application, {
'/files': os.path.join(site, 'public', 'files')
'/files': os.path.join(sites_path, site, 'public', 'files')
}) })


run_simple('0.0.0.0', int(port), application, use_reloader=True, run_simple('0.0.0.0', int(port), application, use_reloader=True,


+ 10
- 10
frappe/cli.py 查看文件

@@ -13,8 +13,8 @@ site_arg_optional = []
def main(): def main():
parsed_args = frappe._dict(vars(setup_parser())) parsed_args = frappe._dict(vars(setup_parser()))
fn = get_function(parsed_args) fn = get_function(parsed_args)
if not parsed_args.get("sites_path"):
parsed_args["sites_path"] = "."
parsed_args["sites_path"] = os.environ.get("SITES_DIR", ".")
sites_path = parsed_args["sites_path"]
if not parsed_args.get("make_app"): if not parsed_args.get("make_app"):
@@ -22,13 +22,13 @@ def main():
for site in get_sites(parsed_args["sites_path"]): for site in get_sites(parsed_args["sites_path"]):
args = parsed_args.copy() args = parsed_args.copy()
args["site"] = site args["site"] = site
frappe.init(site)
frappe.init(site, sites_path=sites_path)
run(fn, args) run(fn, args)
else: else:
if not fn in site_arg_optional: if not fn in site_arg_optional:
if not parsed_args.get("site") and os.path.exists("currentsite.txt"):
with open("currentsite.txt", "r") as sitefile:
parsed_args["site"] = sitefile.read()
if not parsed_args.get("site") and os.path.exists(os.path.join(sites_path, "currentsite.txt")):
with open(os.path.join(sites_path, "currentsite.txt"), "r") as sitefile:
parsed_args["site"] = sitefile.read().strip()
site = parsed_args.get("site") site = parsed_args.get("site")


@@ -36,11 +36,11 @@ def main():
print "Site argument required" print "Site argument required"
exit(1) exit(1)


if fn != 'install' and not os.path.exists(site):
if fn != 'install' and not os.path.exists(os.path.join(parsed_args["sites_path"], site)):
print "Did not find folder '{}'. Are you in sites folder?".format(parsed_args.get("site")) print "Did not find folder '{}'. Are you in sites folder?".format(parsed_args.get("site"))
exit(1) exit(1)
frappe.init(site)
frappe.init(site, sites_path=parsed_args["sites_path"])
run(fn, parsed_args) run(fn, parsed_args)
else: else:
run(fn, parsed_args) run(fn, parsed_args)
@@ -625,9 +625,9 @@ def run_tests(app=None, module=None, doctype=None, verbose=False):
exit(1) exit(1)


@cmd @cmd
def serve(port=8000, profile=False):
def serve(port=8000, profile=False, sites_path='.'):
import frappe.app import frappe.app
frappe.app.serve(port=port, profile=profile, site=frappe.local.site)
frappe.app.serve(port=port, profile=profile, site=frappe.local.site, sites_path=sites_path)
@cmd @cmd
def request(args): def request(args):


正在加载...
取消
保存