49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # 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')
 | |
| @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
 | |
| ] |