Module jumpscale.servers.openresty.location
Expand source code
from jumpscale.loader import j
from jumpscale.core.base import Base, fields
from .utils import render_config_template
class Location(Base):
name = fields.String()
path_url = fields.String()
is_auth = fields.Boolean(default=False)
force_https = fields.Boolean(default=False)
path_location = fields.String()
index = fields.String()
use_weblibs = fields.Boolean(default=False)
ipaddr_dest = fields.String()
port_dest = fields.Integer()
path_dest = fields.String()
connection_type = fields.String()
location_type = fields.String()
scheme = fields.String()
config = fields.String()
@property
def path_cfg_dir(self):
return f"{self.parent.path_cfg_dir}/{self.parent.instance_name}_locations"
@property
def path_cfg(self):
return f"{self.path_cfg_dir}/{self.instance_name}.conf"
@property
def path_web(self):
return self.parent.path_web
def write_config(self, content=""):
if not content:
content = render_config_template(f"location_{self.location_type}", obj=self)
j.sals.fs.write_file(self.path_cfg, content)
def configure(self):
"""Config is a server config file of nginx (in text format)"""
j.sals.fs.mkdir(self.path_cfg_dir)
if self.location_type in ["static", "spa"]:
if not self.path_location.endswith("/"):
self.path_location += "/"
# if self.location_type == "proxy": Uncomment when dependencies are handled
# j.sals.process.execute("moonc .", cwd=self.path_location)
self.write_config(self.config)
Classes
class Location (parent_=None, instance_name_=None, **values)
-
A simple attribute-based namespace.
SimpleNamespace(**kwargs)
base class implementation for any class with fields which supports getting/setting raw data for any instance fields.
any instance can have an optional name and a parent.
class Person(Base): name = fields.String() age = fields.Float() p = Person(name="ahmed", age="19") print(p.name, p.age)
Args
parent_
:Base
, optional- parent instance. Defaults to None.
instance_name_
:str
, optional- instance name. Defaults to None.
**values
- any given field values to initiate the instance with
Expand source code
class Location(Base): name = fields.String() path_url = fields.String() is_auth = fields.Boolean(default=False) force_https = fields.Boolean(default=False) path_location = fields.String() index = fields.String() use_weblibs = fields.Boolean(default=False) ipaddr_dest = fields.String() port_dest = fields.Integer() path_dest = fields.String() connection_type = fields.String() location_type = fields.String() scheme = fields.String() config = fields.String() @property def path_cfg_dir(self): return f"{self.parent.path_cfg_dir}/{self.parent.instance_name}_locations" @property def path_cfg(self): return f"{self.path_cfg_dir}/{self.instance_name}.conf" @property def path_web(self): return self.parent.path_web def write_config(self, content=""): if not content: content = render_config_template(f"location_{self.location_type}", obj=self) j.sals.fs.write_file(self.path_cfg, content) def configure(self): """Config is a server config file of nginx (in text format)""" j.sals.fs.mkdir(self.path_cfg_dir) if self.location_type in ["static", "spa"]: if not self.path_location.endswith("/"): self.path_location += "/" # if self.location_type == "proxy": Uncomment when dependencies are handled # j.sals.process.execute("moonc .", cwd=self.path_location) self.write_config(self.config)
Ancestors
- Base
- types.SimpleNamespace
Instance variables
var config
-
getter method this property
will call
_get_value
, which would if the value is already defined and will get the default value if notReturns
any
- the field value
Expand source code
def getter(self): """ getter method this property will call `_get_value`, which would if the value is already defined and will get the default value if not Returns: any: the field value """ return self._get_value(name, field)
var connection_type
-
getter method this property
will call
_get_value
, which would if the value is already defined and will get the default value if notReturns
any
- the field value
Expand source code
def getter(self): """ getter method this property will call `_get_value`, which would if the value is already defined and will get the default value if not Returns: any: the field value """ return self._get_value(name, field)
var force_https
-
getter method this property
will call
_get_value
, which would if the value is already defined and will get the default value if notReturns
any
- the field value
Expand source code
def getter(self): """ getter method this property will call `_get_value`, which would if the value is already defined and will get the default value if not Returns: any: the field value """ return self._get_value(name, field)
var index
-
getter method this property
will call
_get_value
, which would if the value is already defined and will get the default value if notReturns
any
- the field value
Expand source code
def getter(self): """ getter method this property will call `_get_value`, which would if the value is already defined and will get the default value if not Returns: any: the field value """ return self._get_value(name, field)
var ipaddr_dest
-
getter method this property
will call
_get_value
, which would if the value is already defined and will get the default value if notReturns
any
- the field value
Expand source code
def getter(self): """ getter method this property will call `_get_value`, which would if the value is already defined and will get the default value if not Returns: any: the field value """ return self._get_value(name, field)
var is_auth
-
getter method this property
will call
_get_value
, which would if the value is already defined and will get the default value if notReturns
any
- the field value
Expand source code
def getter(self): """ getter method this property will call `_get_value`, which would if the value is already defined and will get the default value if not Returns: any: the field value """ return self._get_value(name, field)
var location_type
-
getter method this property
will call
_get_value
, which would if the value is already defined and will get the default value if notReturns
any
- the field value
Expand source code
def getter(self): """ getter method this property will call `_get_value`, which would if the value is already defined and will get the default value if not Returns: any: the field value """ return self._get_value(name, field)
var name
-
getter method this property
will call
_get_value
, which would if the value is already defined and will get the default value if notReturns
any
- the field value
Expand source code
def getter(self): """ getter method this property will call `_get_value`, which would if the value is already defined and will get the default value if not Returns: any: the field value """ return self._get_value(name, field)
var path_cfg
-
Expand source code
@property def path_cfg(self): return f"{self.path_cfg_dir}/{self.instance_name}.conf"
var path_cfg_dir
-
Expand source code
@property def path_cfg_dir(self): return f"{self.parent.path_cfg_dir}/{self.parent.instance_name}_locations"
var path_dest
-
getter method this property
will call
_get_value
, which would if the value is already defined and will get the default value if notReturns
any
- the field value
Expand source code
def getter(self): """ getter method this property will call `_get_value`, which would if the value is already defined and will get the default value if not Returns: any: the field value """ return self._get_value(name, field)
var path_location
-
getter method this property
will call
_get_value
, which would if the value is already defined and will get the default value if notReturns
any
- the field value
Expand source code
def getter(self): """ getter method this property will call `_get_value`, which would if the value is already defined and will get the default value if not Returns: any: the field value """ return self._get_value(name, field)
var path_url
-
getter method this property
will call
_get_value
, which would if the value is already defined and will get the default value if notReturns
any
- the field value
Expand source code
def getter(self): """ getter method this property will call `_get_value`, which would if the value is already defined and will get the default value if not Returns: any: the field value """ return self._get_value(name, field)
var path_web
-
Expand source code
@property def path_web(self): return self.parent.path_web
var port_dest
-
getter method this property
will call
_get_value
, which would if the value is already defined and will get the default value if notReturns
any
- the field value
Expand source code
def getter(self): """ getter method this property will call `_get_value`, which would if the value is already defined and will get the default value if not Returns: any: the field value """ return self._get_value(name, field)
var scheme
-
getter method this property
will call
_get_value
, which would if the value is already defined and will get the default value if notReturns
any
- the field value
Expand source code
def getter(self): """ getter method this property will call `_get_value`, which would if the value is already defined and will get the default value if not Returns: any: the field value """ return self._get_value(name, field)
var use_weblibs
-
getter method this property
will call
_get_value
, which would if the value is already defined and will get the default value if notReturns
any
- the field value
Expand source code
def getter(self): """ getter method this property will call `_get_value`, which would if the value is already defined and will get the default value if not Returns: any: the field value """ return self._get_value(name, field)
Methods
def configure(self)
-
Config is a server config file of nginx (in text format)
Expand source code
def configure(self): """Config is a server config file of nginx (in text format)""" j.sals.fs.mkdir(self.path_cfg_dir) if self.location_type in ["static", "spa"]: if not self.path_location.endswith("/"): self.path_location += "/" # if self.location_type == "proxy": Uncomment when dependencies are handled # j.sals.process.execute("moonc .", cwd=self.path_location) self.write_config(self.config)
def write_config(self, content='')
-
Expand source code
def write_config(self, content=""): if not content: content = render_config_template(f"location_{self.location_type}", obj=self) j.sals.fs.write_file(self.path_cfg, content)
Inherited members