[enhance] create demo with function bench --site sitename make-demo` (#9212)
This commit is contained in:
parent
0626716f48
commit
4f8f9c1d9a
45
erpnext/commands/__init__.py
Normal file
45
erpnext/commands/__init__.py
Normal file
@ -0,0 +1,45 @@
|
||||
# Copyright (c) 2015, Web Notes Technologies Pvt. Ltd. and Contributors
|
||||
# MIT License. See license.txt
|
||||
|
||||
from __future__ import unicode_literals, absolute_import, print_function
|
||||
import click
|
||||
import frappe
|
||||
from frappe.commands import pass_context, get_site
|
||||
|
||||
def call_command(cmd, context):
|
||||
return click.Context(cmd, obj=context).forward(cmd)
|
||||
|
||||
@click.command('make-demo')
|
||||
@click.option('--site', help='site name')
|
||||
@click.option('--domain', default='Manufacturing')
|
||||
@click.option('--days', default=100,
|
||||
help='Run the demo for so many days. Default 100')
|
||||
@click.option('--resume', default=False, is_flag=True,
|
||||
help='Continue running the demo for given days')
|
||||
@pass_context
|
||||
def make_demo(context, site, domain='Manufacturing', days=100, resume=False):
|
||||
"Reinstall site and setup demo"
|
||||
from frappe.commands.site import _reinstall
|
||||
from frappe.installer import install_app
|
||||
|
||||
site = get_site(context)
|
||||
|
||||
if resume:
|
||||
with frappe.init_site(site):
|
||||
frappe.connect()
|
||||
from erpnext.demo import demo
|
||||
demo.simulate(days=days)
|
||||
else:
|
||||
_reinstall(site, yes=True)
|
||||
with frappe.init_site(site=site):
|
||||
frappe.connect()
|
||||
if not 'erpnext' in frappe.get_installed_apps():
|
||||
install_app('erpnext')
|
||||
|
||||
# import needs site
|
||||
from erpnext.demo import demo
|
||||
demo.make(domain, days)
|
||||
|
||||
commands = [
|
||||
make_demo
|
||||
]
|
@ -22,7 +22,7 @@ bench --site demo.erpnext.dev execute erpnext.demo.demo.simulate
|
||||
|
||||
"""
|
||||
|
||||
def make(domain='Manufacturing'):
|
||||
def make(domain='Manufacturing', days=100):
|
||||
frappe.flags.domain = domain
|
||||
frappe.flags.mute_emails = True
|
||||
setup_data.setup(domain)
|
||||
@ -36,16 +36,17 @@ def make(domain='Manufacturing'):
|
||||
frappe.init(site)
|
||||
frappe.connect()
|
||||
|
||||
simulate(domain)
|
||||
simulate(domain, days)
|
||||
|
||||
def simulate(domain='Manufacturing'):
|
||||
runs_for = frappe.flags.runs_for or 150
|
||||
def simulate(domain='Manufacturing', days=100):
|
||||
runs_for = frappe.flags.runs_for or days
|
||||
frappe.flags.company = erpnext.get_default_company()
|
||||
frappe.flags.mute_emails = True
|
||||
|
||||
if not frappe.flags.start_date:
|
||||
# start date = 100 days back
|
||||
frappe.flags.start_date = frappe.utils.add_days(frappe.utils.nowdate(), -1 * runs_for)
|
||||
frappe.flags.start_date = frappe.utils.add_days(frappe.utils.nowdate(),
|
||||
-1 * runs_for)
|
||||
|
||||
current_date = frappe.utils.getdate(frappe.flags.start_date)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user