Rushabh Mehta | 4f8f9c1 | 2017-06-12 09:18:06 +0530 | [diff] [blame] | 1 | # Copyright (c) 2015, Web Notes Technologies Pvt. Ltd. and Contributors |
| 2 | # MIT License. See license.txt |
| 3 | |
Chillar Anand | 915b343 | 2021-09-02 16:44:59 +0530 | [diff] [blame] | 4 | from __future__ import absolute_import, print_function, unicode_literals |
| 5 | |
Rushabh Mehta | 4f8f9c1 | 2017-06-12 09:18:06 +0530 | [diff] [blame] | 6 | import click |
| 7 | import frappe |
Chillar Anand | 915b343 | 2021-09-02 16:44:59 +0530 | [diff] [blame] | 8 | from frappe.commands import get_site, pass_context |
| 9 | |
Rushabh Mehta | 4f8f9c1 | 2017-06-12 09:18:06 +0530 | [diff] [blame] | 10 | |
| 11 | def call_command(cmd, context): |
| 12 | return click.Context(cmd, obj=context).forward(cmd) |
| 13 | |
| 14 | @click.command('make-demo') |
| 15 | @click.option('--site', help='site name') |
| 16 | @click.option('--domain', default='Manufacturing') |
| 17 | @click.option('--days', default=100, |
| 18 | help='Run the demo for so many days. Default 100') |
| 19 | @click.option('--resume', default=False, is_flag=True, |
| 20 | help='Continue running the demo for given days') |
Rushabh Mehta | 73167ea | 2017-06-16 16:55:32 +0530 | [diff] [blame] | 21 | @click.option('--reinstall', default=False, is_flag=True, |
| 22 | help='Reinstall site before demo') |
Rushabh Mehta | 4f8f9c1 | 2017-06-12 09:18:06 +0530 | [diff] [blame] | 23 | @pass_context |
Rushabh Mehta | 73167ea | 2017-06-16 16:55:32 +0530 | [diff] [blame] | 24 | def make_demo(context, site, domain='Manufacturing', days=100, |
| 25 | resume=False, reinstall=False): |
Rushabh Mehta | 4f8f9c1 | 2017-06-12 09:18:06 +0530 | [diff] [blame] | 26 | "Reinstall site and setup demo" |
| 27 | from frappe.commands.site import _reinstall |
| 28 | from frappe.installer import install_app |
| 29 | |
| 30 | site = get_site(context) |
| 31 | |
| 32 | if resume: |
| 33 | with frappe.init_site(site): |
| 34 | frappe.connect() |
| 35 | from erpnext.demo import demo |
| 36 | demo.simulate(days=days) |
| 37 | else: |
Rushabh Mehta | 73167ea | 2017-06-16 16:55:32 +0530 | [diff] [blame] | 38 | if reinstall: |
| 39 | _reinstall(site, yes=True) |
Rushabh Mehta | 4f8f9c1 | 2017-06-12 09:18:06 +0530 | [diff] [blame] | 40 | with frappe.init_site(site=site): |
| 41 | frappe.connect() |
| 42 | if not 'erpnext' in frappe.get_installed_apps(): |
| 43 | install_app('erpnext') |
| 44 | |
| 45 | # import needs site |
| 46 | from erpnext.demo import demo |
| 47 | demo.make(domain, days) |
| 48 | |
| 49 | commands = [ |
| 50 | make_demo |
Ankush Menat | 4551d7d | 2021-08-19 13:41:10 +0530 | [diff] [blame] | 51 | ] |