def to_json(self, pad, record=None, alt=PRIMARY_ALT): return { 'name': self.name, 'label': self.label, 'label_i18n': self.label_i18n, 'hide_label': bool_from_string(self.options.get('hide_label'), default=False), 'description_i18n': self.description_i18n, 'type': self.type.to_json(pad, record, alt), 'default': self.default, 'alts_enabled': bool_from_string(self.options.get('alts_enabled'), default=None), }
def get_server(self, name, public=False): """Looks up a server info by name.""" info = self.values['SERVERS'].get(name) if info is None: return None target = info.get('target') if target is None: return None if public: target = secure_url(target) return ServerInfo(id=name, name_i18n=get_i18n_block(info, 'name'), target=target, enabled=bool_from_string(info.get('enabled'), True), default=bool_from_string(info.get('default'), False))
def value_from_raw(self, raw): if raw.value is None: return raw.missing_value('Missing boolean') val = bool_from_string(raw.value.strip().lower()) if val is None: return raw.bad_value('Bad boolean value') return val
def get_server(self, name, public=False): """Looks up a server info by name.""" info = self.values['SERVERS'].get(name) if info is None or 'target' not in info: return None info = info.copy() target = info.pop('target') if public: target = secure_url(target) return ServerInfo( id=name, name_i18n=get_i18n_block(info, 'name', pop=True), target=target, enabled=bool_from_string(info.pop('enabled', None), True), default=bool_from_string(info.pop('default', None), False), extra=info )
def get_server(self, name, public=False): """Looks up a server info by name.""" info = self.values['SERVERS'].get(name) if info is None or 'target' not in info: return None info = info.copy() target = info.pop('target') if public: target = secure_url(target) return ServerInfo(id=name, name_i18n=get_i18n_block(info, 'name', pop=True), target=target, enabled=bool_from_string(info.pop('enabled', None), True), default=bool_from_string(info.pop('default', None), False), extra=info)
def get_server(self, name, public=False): """Looks up a server info by name.""" info = self.values["SERVERS"].get(name) if info is None or "target" not in info: return None info = info.copy() target = info.pop("target") if public: target = secure_url(target) return ServerInfo( id=name, name_i18n=get_i18n_block(info, "name", pop=True), target=target, enabled=bool_from_string(info.pop("enabled", None), True), default=bool_from_string(info.pop("default", None), False), extra=info, )
def get_server(self, name, public=False): """Looks up a server info by name.""" info = self.values['SERVERS'].get(name) if info is None: return None target = info.get('target') if target is None: return None if public: target = secure_url(target) return ServerInfo( id=name, name_i18n=get_i18n_block(info, 'name'), target=target, enabled=bool_from_string(info.get('enabled'), True), default=bool_from_string(info.get('default'), False) )
def _value(v): "This function tries to convert the configuration value to a sane type." w = bool_from_string(v) if w is not None: return w try: return int(v) except: return v
def to_json(self, pad, record=None, alt=PRIMARY_ALT): return { "name": self.name, "label": self.label, "label_i18n": self.label_i18n, "hide_label": bool_from_string(self.options.get("hide_label"), default=False), "description_i18n": self.description_i18n, "type": self.type.to_json(pad, record, alt), "default": self.default, "alts_enabled": bool_from_string(self.options.get("alts_enabled"), default=None), }
def publish(self, target_url, credentials=None, server_info=None, **extra): draft = '--draft' in click.get_current_context().args host = target_url.host if credentials and credentials.get('key'): access_token = credentials['key'] elif server_info and server_info.extra.get('key'): access_token = server_info.extra['key'] else: raise RuntimeError( "Use lektor deploy --key <ACCESS_TOKEN>," " see https://github.com/ajdavis/lektor-netlify/README.md") sites_url = ( 'https://api.netlify.com/api/v1/sites?access_token=' + access_token) response = requests.get( sites_url, headers={'User-Agent': 'https://github.com/ajdavis/lektor-netlify'}) response.raise_for_status() j = response.json() for site in j: site_url = urls.url_parse(unicode(site['url'])) if site_url.host == host: site_id = site['site_id'] break else: site_name = slugify(host).replace('.', '-') force_ssl = bool_from_string(server_info.extra.get('force_ssl'), default=False) print('Creating new Netlify site "%s" at %s' % (site_name, host)) response = requests.post(sites_url, { 'name': site_name, 'custom_domain': host, 'force_ssl': force_ssl}) response.raise_for_status() site_id = response.json()['site_id'] cmd = [ 'netlify', 'deploy', '--auth', access_token, '--site', site_id, '--dir', self.output_path] if draft: yield "Deploying as draft" else: cmd.append('--prod') for line in Command(cmd): yield line
def to_json(self, pad, record=None, alt=PRIMARY_ALT): return { 'name': self.name, 'label': self.label, 'label_i18n': self.label_i18n, 'hide_label': bool_from_string(self.options.get('hide_label'), default=False), 'description_i18n': self.description_i18n, 'type': self.type.to_json(pad, record, alt), 'default': self.default, }
def publish(self, target_url, credentials=None, server_info=None, **extra): draft = '--draft' in click.get_current_context().args host = target_url.host if credentials and credentials.get('key'): access_token = credentials['key'] elif server_info and server_info.extra.get('key'): access_token = server_info.extra['key'] else: raise RuntimeError( "Use lektor deploy --key <ACCESS_TOKEN>," " see https://github.com/ajdavis/lektor-netlify/README.md") sites_url = ( 'https://api.netlify.com/api/v1/sites?access_token=' + access_token) response = requests.get( sites_url, headers={'User-Agent': 'https://github.com/ajdavis/lektor-netlify'}) response.raise_for_status() j = response.json() for site in j: site_url = urls.url_parse(unicode(site['url'])) if site_url.host == host: site_id = site['site_id'] break else: site_name = slugify(host).replace('.', '-') force_ssl = bool_from_string(server_info.extra.get('force_ssl'), default=False) print('Creating new Netlify site "%s" at %s' % (site_name, host)) response = requests.post(sites_url, { 'name': site_name, 'custom_domain': host, 'force_ssl': force_ssl}) response.raise_for_status() site_id = response.json()['site_id'] cmd = [ 'netlify', '-t', access_token, 'deploy', '-s', site_id, '-p', self.output_path] if draft: yield "Deploying as draft" cmd.append('--draft') for line in Command(cmd): yield line
def value_from_raw(self, raw): value = super(GitTimestampType, self).value_from_raw(raw) if jinja2.is_undefined(value): options = self.options value = GitTimestampDescriptor( raw, ignore_commits=options.get('ignore_commits'), strategy=options.get('strategy', 'last'), skip_first_commit=bool_from_string( options.get('skip_first_commit', False)), ) return value
def ignore_missing(self): return bool_from_string(self.get_config().get('ignore_missing'), False)