blob: 6ffa6a3e324922e7af882fd65b1dfa739db0ffe6 [file] [log] [blame]
Rushabh Mehta4f8f9c12017-06-12 09:18:06 +05301# Copyright (c) 2015, Web Notes Technologies Pvt. Ltd. and Contributors
2# MIT License. See license.txt
3
4from __future__ import unicode_literals, absolute_import, print_function
5import click
6import frappe
7from frappe.commands import pass_context, get_site
8
9def call_command(cmd, context):
10 return click.Context(cmd, obj=context).forward(cmd)
11
12@click.command('make-demo')
13@click.option('--site', help='site name')
14@click.option('--domain', default='Manufacturing')
15@click.option('--days', default=100,
16 help='Run the demo for so many days. Default 100')
17@click.option('--resume', default=False, is_flag=True,
18 help='Continue running the demo for given days')
19@pass_context
20def make_demo(context, site, domain='Manufacturing', days=100, resume=False):
21 "Reinstall site and setup demo"
22 from frappe.commands.site import _reinstall
23 from frappe.installer import install_app
24
25 site = get_site(context)
26
27 if resume:
28 with frappe.init_site(site):
29 frappe.connect()
30 from erpnext.demo import demo
31 demo.simulate(days=days)
32 else:
33 _reinstall(site, yes=True)
34 with frappe.init_site(site=site):
35 frappe.connect()
36 if not 'erpnext' in frappe.get_installed_apps():
37 install_app('erpnext')
38
39 # import needs site
40 from erpnext.demo import demo
41 demo.make(domain, days)
42
43commands = [
44 make_demo
45]