def autocompile(ws, conf, env, **options): """Subcommand: autocompile -- automatically re-compiles when something in content-dir has changed and parallel serving files.""" CONF_PY = './conf.py' mtime = -1 cmtime = getmtime(CONF_PY) while True: ntime = max( max(getmtime(e) for e in readers.filelist(conf['content_dir']) if utils.istext(e)), max(getmtime(p) for p in readers.filelist(conf['layout_dir']))) if mtime != ntime: try: compile(conf, env, **options) except AcrylamidException as e: log.fatal(e.args[0]) pass event.reset() mtime = ntime if cmtime != getmtime(CONF_PY): log.info(' * Restarting due to change in %s' % (CONF_PY)) # Kill the webserver ws.shutdown() # Force compilation since no template was changed argv = sys.argv if options['force'] else sys.argv[:] + ["--force"] # Restart acrylamid os.execvp(sys.argv[0], argv) time.sleep(1)
def autocompile(ws, conf, env, **options): """Subcommand: autocompile -- automatically re-compiles when something in content-dir has changed and parallel serving files.""" CONF_PY = './conf.py' mtime = -1 cmtime = getmtime(CONF_PY) while True: ntime = max( max( getmtime(e) for e in readers.filelist(conf['content_dir']) if utils.istext(e)), max(getmtime(p) for p in readers.filelist(conf['layout_dir']))) if mtime != ntime: try: compile(conf, env, **options) except AcrylamidException as e: log.fatal(e.args[0]) pass event.reset() mtime = ntime if cmtime != getmtime(CONF_PY): log.info(' * Restarting due to change in %s' % (CONF_PY)) # Kill the webserver ws.shutdown() # Force compilation since no template was changed argv = sys.argv if options['force'] else sys.argv[:] + ["--force"] # Restart acrylamid os.execvp(sys.argv[0], argv) time.sleep(1)
def autocompile(ws, conf, env): """Subcommand: autocompile -- automatically re-compiles when something in content-dir has changed and parallel serving files.""" mtime = -1 cmtime = getmtime('conf.py') while True: ws.wait = True ntime = max( max(getmtime(e) for e in readers.filelist( conf['content_dir'], conf.get('content_ignore', [])) if istext(e)), max(getmtime(p) for p in readers.filelist( conf['theme'], conf.get('theme_ignore', [])))) if mtime != ntime: try: compile(conf, env) except (SystemExit, KeyboardInterrupt) as e: raise e except Exception as e: log.fatal(e.args[0]) event.reset() mtime = ntime ws.wait = False if cmtime != getmtime('conf.py'): log.info(' * Restarting due to change in conf.py') # Kill the webserver ws.shutdown() # Restart acrylamid os.execvp(sys.argv[0], sys.argv) time.sleep(1)
def autocompile(ws, conf, env): """Subcommand: autocompile -- automatically re-compiles when something in content-dir has changed and parallel serving files.""" mtime = -1 cmtime = getmtime('conf.py') # config content_extension originally defined as string, not a list exts = conf.get('content_extension', ['.txt', '.rst', '.md']) if isinstance(exts, string_types): whitelist = (exts, ) else: whitelist = tuple(exts) while True: ws.wait = True ntime = max( max( getmtime(e) for e in readers.filelist(conf['content_dir'], conf['content_ignore']) if e.endswith(whitelist)), max( getmtime(p) for p in chain([ f for theme in conf['theme'] for f in readers.filelist(theme, conf['theme_ignore']) ], readers.filelist(conf['static'], conf['static_ignore'])))) if mtime != ntime: try: compile(conf, env) except (SystemExit, KeyboardInterrupt): raise except Exception: log.exception("uncaught exception during auto-compilation") else: conf = load(env.options.conf) env = Environment.new(env) event.reset() mtime = ntime ws.wait = False if cmtime != getmtime('conf.py'): log.info(' * Restarting due to change in conf.py') # Kill the webserver ws.shutdown() # Restart acrylamid os.execvp(sys.argv[0], sys.argv) time.sleep(1)
def autocompile(ws, conf, env): """Subcommand: autocompile -- automatically re-compiles when something in content-dir has changed and parallel serving files.""" mtime = -1 cmtime = getmtime('conf.py') # config content_extension originally defined as string, not a list exts = conf.get('content_extension',['.txt', '.rst', '.md']) if isinstance(exts, string_types): whitelist = (exts,) else: whitelist = tuple(exts) while True: ws.wait = True ntime = max( max(getmtime(e) for e in readers.filelist( conf['content_dir'], conf['content_ignore']) if e.endswith(whitelist)), max(getmtime(p) for p in chain( readers.filelist(conf['theme'], conf['theme_ignore']), readers.filelist(conf['static'], conf['static_ignore'])))) if mtime != ntime: try: compile(conf, env) except (SystemExit, KeyboardInterrupt): raise except Exception: log.exception("uncaught exception during auto-compilation") else: conf = load(env.options.conf) env = Environment.new(env) event.reset() mtime = ntime ws.wait = False if cmtime != getmtime('conf.py'): log.info(' * Restarting due to change in conf.py') # Kill the webserver ws.shutdown() # Restart acrylamid os.execvp(sys.argv[0], sys.argv) time.sleep(1)
def autocompile(ws, conf, env): """Subcommand: autocompile -- automatically re-compiles when something in content-dir has changed and parallel serving files.""" mtime = -1 cmtime = getmtime("conf.py") while True: ws.wait = True ntime = max( max(getmtime(e) for e in readers.filelist(conf["content_dir"], conf["content_ignore"]) if istext(e)), max( getmtime(p) for p in chain( readers.filelist(conf["theme"], conf["theme_ignore"]), readers.filelist(conf["static"], conf["static_ignore"]), ) ), ) if mtime != ntime: try: compile(conf, env) except (SystemExit, KeyboardInterrupt): raise except Exception: log.exception("uncaught exception during auto-compilation") else: conf = load(env.options.conf) env = Environment.new(env) event.reset() mtime = ntime ws.wait = False if cmtime != getmtime("conf.py"): log.info(" * Restarting due to change in conf.py") # Kill the webserver ws.shutdown() # Restart acrylamid os.execvp(sys.argv[0], sys.argv) time.sleep(1)