def run(path=None, port=None, browse=False): """Preview generated website.""" conf.load(path) helpers.check_build(conf.get('build_path')) port = port or conf.get('port') args = [conf.get('build_path'), port] threading.Thread(target=_serve, args=args).start() if browse: url = "http://localhost:%d/" % port webbrowser.open_new(url)
def deploy(path=None): """Deploy generated website to the remote web server.""" conf.load(path) helpers.check_build(conf.get('build_path')) logger.info('deploying website...') if not conf.get('deploy_cmd'): raise Exception('deploy command is not defined') cmd = conf.get('deploy_cmd').format(build_path=conf.get('build_path')) try: output = subprocess.check_output(cmd, shell=True) logger.debug("Command output:\n%s" % output.decode('utf-8')) logger.info('done') except subprocess.CalledProcessError as e: logger.error(e) logger.debug("Command output:\n%s" % e.output.decode('utf-8'))