def init(confdict): """ Initializes this module according to :ref:`our module initialization guidelines <module_initialization>` with the following configuration keys: :confkey:`hosts` A list of Varnish hosts passed to :func:`parse_host_port <score.init.parse_host_port>` and :func:`parse_list <score.init.parse_list>`. :confkey:`soft` :faint:`[default=true]` Whether to purge :term:`soft <soft purge>` or :term:`hard <hard purge>`. :confkey:`timeout` :faint:`[default=5s]` The timeout for sending requests to a Varnish host passed to :func:`parse_time_interval <score.init.parse_time_interval>`. :confkey:`header.domain` :faint:`[default=X-Purge-Domain]` The name of the header used for purging a domain. :confkey:`header.path` :faint:`[default=X-Purge-Path]` The name of the header used for purging a path. :confkey:`header.soft` :faint:`[default=X-Purge-Soft]` The name of the header used for triggering a :term:`soft purge`. """ conf = dict(defaults.items()) conf.update(confdict) hosts = [parse_host_port(host) for host in parse_list(conf['hosts'])] soft = parse_bool(conf['soft']) timeout = parse_time_interval(conf['timeout']) header_mapping = extract_conf(conf, 'header.') return ConfiguredVarnishModule(hosts, soft, timeout, header_mapping)
def init(confdict): """ Initializes this module acoording to :ref:`our module initialization guidelines <module_initialization>` with the following configuration keys: :confkey:`autoreload` :confdefault:`False` When set to :func:`true <score.init.parse_bool>`, the server will automatically reload whenever it detects a change in one of the python files, that are in use. :confkey:`modules` The :func:`list <score.init.parse_list>` of modules to serve. This need to be a list of module aliases, i.e. the same name, with which you configured the module with ("score.http" becomes "http" if not specified otherwise.) """ conf = defaults.copy() conf.update(confdict) modules = parse_list(conf['modules']) if not modules: import score.serve raise InitializationError(score.serve, 'No modules configured') autoreload = parse_bool(conf['autoreload']) monitor_host_port = None if conf['monitor']: monitor_host_port = parse_host_port(conf['monitor']) return ConfiguredServeModule(conf['conf'], modules, autoreload, monitor_host_port)
def init(confdict, ctx=None): """ Initializes this module acoording to :ref:`our module initialization guidelines <module_initialization>` with the following configuration keys: :confkey:`server` :faint:`[default=localhost:14000]` The server to connect to for all remote operations. Read using the generic :func:`score.init.parse_host_port`. The special value ``None`` indicates that all remote operations will immediately raise an exception. It is still possible to use higher level functions like :meth:`put <.ConfiguredNetfsModule.put>` and :meth:`get <.ConfiguredNetfsModule.get>` (although :meth:`get <.ConfiguredNetfsModule.get>` will raise an exception if the requested file is not present in the local folder.) :confkey:`cachedir` :faint:`[default=None]` A local folder that will hold downloaded files. If this value is omitted, the module will create a new temporary folder on demand, that will be used as the local folder for this session. :confkey:`deltmpcache` :faint:`[default=True]` This option is only relevant if the configuration did not contain a ``cachedir``. If this value is `True`, any temporary folder that was created for this session—as described for the configuration value ``cachedir``, above—will be removed when the :class:`.ConfiguredNetfsModule` is freed. The only use case where you might need this configuration is when you want to operate on a temporary folder, but still keep its contents when you are done with this module. """ conf = dict(defaults.items()) conf.update(confdict) if conf['server'] in (None, 'None'): host, port = None, None else: host, port = parse_host_port(conf['server'], defaults['server']) cachedir = None delcache = False if conf['cachedir']: cachedir = init_cache_folder(conf, 'cachedir') else: delcache = parse_bool(conf['deltmpcache']) c = ConfiguredNetfsModule(host, port, cachedir, delcache) c.ctx_conf = ctx if ctx and conf['ctx.member'] not in ('None', None): ctx.register(conf['ctx.member'], lambda _: c.connect()) return c
def init(confdict): """ Initializes this module acoording to the :ref:`SCORE module initialization guidelines <module_initialization>` with the following configuration keys: """ conf = defaults.copy() conf.update(confdict) servers = [] loop = asyncio.new_event_loop() server_names = [c.split('.')[0] for c in extract_conf(conf, 'server.')] for name in server_names: server_conf = extract_conf(conf, 'server.%s.' % name) name = server_conf.get('name', name) host, port = parse_host_port(server_conf['monitor']) servers.append( SocketConnector(name, loop, host, port)) return ConfiguredCruiseModule(loop, servers)