comparison piecrust/commands/builtin/admin.py @ 778:5e91bc0e3b4d

internal: Move admin panel code into the piecrust package.
author Ludovic Chabant <ludovic@chabant.com>
date Sat, 16 Jul 2016 15:02:24 +0200
parents c84647485ab2
children a85d08ffe1f6
comparison
equal deleted inserted replaced
777:8d633ca59bc5 778:5e91bc0e3b4d
75 theme_site=ctx.app.theme_site) 75 theme_site=ctx.app.theme_site)
76 out_dir = os.path.join(ctx.app.root_dir, CACHE_DIR, 'foodtruck', 'server') 76 out_dir = os.path.join(ctx.app.root_dir, CACHE_DIR, 'foodtruck', 'server')
77 proc_loop = ProcessingLoop(appfactory, out_dir) 77 proc_loop = ProcessingLoop(appfactory, out_dir)
78 proc_loop.start() 78 proc_loop.start()
79 79
80 from foodtruck import settings 80 es = {
81 settings.FOODTRUCK_CMDLINE_MODE = True 81 'FOODTRUCK_CMDLINE_MODE': True,
82 settings.FOODTRUCK_ROOT = ctx.app.root_dir 82 'FOODTRUCK_ROOT': ctx.app.root_dir}
83 from foodtruck.main import run_foodtruck 83 from piecrust.admin.main import run_foodtruck
84 run_foodtruck( 84 run_foodtruck(
85 host=ctx.args.address, 85 host=ctx.args.address,
86 port=ctx.args.port, 86 port=ctx.args.port,
87 debug=ctx.args.debug) 87 debug=ctx.args.debug,
88 extra_settings=es)
88 89
89 def _initFoodTruck(self, ctx): 90 def _initFoodTruck(self, ctx):
90 import getpass 91 import getpass
91 import bcrypt 92 from piecrust.admin import bcryptfallback as bcrypt
92 93
93 secret_key = os.urandom(22) 94 secret_key = os.urandom(22)
94 admin_username = input("Admin username (admin): ") or 'admin' 95 admin_username = input("Admin username (admin): ") or 'admin'
95 admin_password = getpass.getpass("Admin password: ") 96 admin_password = getpass.getpass("Admin password: ")
96 if not admin_password: 97 if not admin_password:
123 flask_config = flask_config % {'secret_key': secret_key} 124 flask_config = flask_config % {'secret_key': secret_key}
124 with open('app.cfg', 'w', encoding='utf8') as fp: 125 with open('app.cfg', 'w', encoding='utf8') as fp:
125 fp.write(flask_config) 126 fp.write(flask_config)
126 127
127 def _generatePassword(self, ctx): 128 def _generatePassword(self, ctx):
128 from foodtruck import bcryptfallback as bcrypt 129 from piecrust.admin import bcryptfallback as bcrypt
129 binpw = ctx.args.password.encode('utf8') 130 binpw = ctx.args.password.encode('utf8')
130 hashpw = bcrypt.hashpw(binpw, bcrypt.gensalt()).decode('utf8') 131 hashpw = bcrypt.hashpw(binpw, bcrypt.gensalt()).decode('utf8')
131 logger.info(hashpw) 132 logger.info(hashpw)
132 133