def __init__(self, redis_url=None): config = load_wr_config() self.base_access = BaseAccess() # Init Redis if not redis_url: redis_url = os.environ['REDIS_BASE_URL'] r = redis.StrictRedis.from_url(redis_url, decode_responses=True) # Init Cork cork = WebRecCork.create_cork(r, config) super(CLIUserManager, self).__init__(redis=r, cork=cork, config=config)
def init_manager_for_cli(): config = load_wr_config() # Init Redis redis_url = os.environ['REDIS_BASE_URL'] r = redis.StrictRedis.from_url(redis_url, decode_responses=True) # Init Cork cork = WebRecCork.create_cork(r, config) # Init Manager manager = CLIRedisDataManager(r, cork, None, None, None, config) manager.fake_session = Session(cork, {}, '', {'anon': True}, -1, False) return manager
def __init__(self, redis_url=None): config = load_wr_config() self.base_access = BaseAccess() # Init Redis if not redis_url: redis_url = os.environ['REDIS_BASE_URL'] r = redis.StrictRedis.from_url(redis_url, decode_responses=True) # Init Cork cork = WebRecCork.create_cork(r, config) super(CLIUserManager, self).__init__( redis=r, cork=cork, config=config)
def __init__(self, redis_url=None): self._init_logging() if getattr(sys, 'frozen', False): self.static_root = os.path.join(sys._MEIPASS, 'webrecorder', 'static/') else: self.static_root = resource_filename('webrecorder', 'static/') bottle_app = Bottle() self.bottle_app = bottle_app # JSON encoding for datetime objects self.bottle_app.install( JSONPlugin( json_dumps=lambda s: json.dumps(s, cls=CustomJSONEncoder))) config = load_wr_config() # Init Redis if not redis_url: redis_url = os.environ['REDIS_BASE_URL'] self.redis = redis.StrictRedis.from_url(redis_url) self.browser_redis = redis.StrictRedis.from_url( os.environ['REDIS_BROWSER_URL'], decode_responses=True) self.session_redis = redis.StrictRedis.from_url( os.environ['REDIS_SESSION_URL']) # Init Jinja jinja_env = self.init_jinja_env(config) # Init Content Loader/Rewriter content_app = ContentController(app=bottle_app, jinja_env=jinja_env, config=config, redis=self.redis) # Init Browser Mgr self.browser_mgr = BrowserManager(config, self.browser_redis, content_app) # Init Cork self.cork = WebRecCork.create_cork(self.redis, config) # Init Manager manager = RedisDataManager(self.redis, self.cork, content_app, self.browser_redis, self.browser_mgr, config) # Init Sesion temp_prefix Session.temp_prefix = config['temp_prefix'] # Init Core app controllers for controller_type in self.ALL_CONTROLLERS: x = controller_type(app=bottle_app, jinja_env=jinja_env, manager=manager, config=config) # Set Error Handler bottle_app.default_error_handler = self.make_err_handler( bottle_app.default_error_handler) final_app = RedisSessionMiddleware(bottle_app, self.cork, self.session_redis, config) super(AppController, self).__init__(final_app, jinja_env, manager, config)
def __init__(self, redis_url=None): self._init_logging() if getattr(sys, 'frozen', False): self.static_root = os.path.join(sys._MEIPASS, 'webrecorder', 'static/') else: self.static_root = resource_filename('webrecorder', 'static/') # only launch if running in place, not from installed package if '.egg' not in __file__: spawn_once(default_build, worker=1, force_build=False) BaseRequest.MEMFILE_MAX = 500000 # 500kb bottle_app = APIBottle() self.bottle_app = bottle_app # JSON encoding for datetime objects # self.bottle_app.install(JSONPlugin(json_dumps=lambda s: json.dumps(s, cls=CustomJSONEncoder))) config = load_wr_config() # Init Redis if not redis_url: redis_url = os.environ['REDIS_BASE_URL'] self.redis = redis.StrictRedis.from_url(redis_url, decode_responses=True) browser_redis = redis.StrictRedis.from_url(os.environ['REDIS_BROWSER_URL'], decode_responses=True) session_redis = redis.StrictRedis.from_url(os.environ['REDIS_SESSION_URL']) self.content_error_redirect = os.environ.get('CONTENT_ERROR_REDIRECT') # Init Jinja jinja_env = self.init_jinja_env(config) # Init Cork cork = WebRecCork.create_cork(self.redis, config) # User Manager user_manager = UserManager(redis=self.redis, cork=cork, config=config) # Init Browser Mgr browser_mgr = BrowserManager(config, browser_redis, user_manager) # Init Dat Share DatShare.dat_share = DatShare(self.redis) # Init Content Loader/Rewriter content_app = ContentController(app=bottle_app, jinja_env=jinja_env, user_manager=user_manager, config=config, browser_mgr=browser_mgr, redis=self.redis, cork=cork) # Init Sesion temp_prefix Session.temp_prefix = config['temp_prefix'] kwargs = dict(app=bottle_app, jinja_env=jinja_env, user_manager=user_manager, browser_mgr=browser_mgr, content_app=content_app, cork=cork, redis=self.redis, session_redis=session_redis, config=config) # Init Core app controllers for controller_type in self.ALL_CONTROLLERS: x = controller_type(**kwargs) # Set Error Handler bottle_app.default_error_handler = self.make_err_handler( bottle_app.default_error_handler) final_app = RedisSessionMiddleware(bottle_app, cork, session_redis, config, access_cls=SessionAccessCache, access_redis=self.redis) final_app = WSGIProxMiddleware(final_app, '/_proxy/', proxy_host='webrecorder.proxy', proxy_options=self._get_proxy_options()) kwargs['app'] = final_app super(MainController, self).__init__(**kwargs) self.browser_mgr = browser_mgr self.content_app = content_app wr_api_spec.build_api_spec()