| # Copyright (c) 2015, Web Notes Technologies Pvt. Ltd. and Contributors |
| # MIT License. See license.txt |
| |
| import click |
| import frappe |
| from frappe.commands import get_site, pass_context |
| |
| |
| 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') |
| @click.option('--reinstall', default=False, is_flag=True, |
| help='Reinstall site before demo') |
| @pass_context |
| def make_demo(context, site, domain='Manufacturing', days=100, |
| resume=False, reinstall=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: |
| if reinstall: |
| _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 |
| ] |