コード例 #1
0
ファイル: datamodel.py プロジェクト: sambacha/tor-styleguide
 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),
     }
コード例 #2
0
ファイル: environment.py プロジェクト: yoloseem/lektor
 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))
コード例 #3
0
 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
コード例 #4
0
ファイル: environment.py プロジェクト: sunliwen/lektor
 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
     )
コード例 #5
0
 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)
コード例 #6
0
ファイル: config.py プロジェクト: uniteddiversity/lektor
 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,
     )
コード例 #7
0
ファイル: environment.py プロジェクト: bestwpw/lektor
 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)
     )
コード例 #8
0
ファイル: environment.py プロジェクト: alexandrul/lektor
 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,
     )
コード例 #9
0
 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
コード例 #10
0
ファイル: datamodel.py プロジェクト: Exiver-Labs/lektor
 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),
     }
コード例 #11
0
    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
コード例 #12
0
ファイル: datamodel.py プロジェクト: bestwpw/lektor
 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,
     }
コード例 #13
0
    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
コード例 #14
0
 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
コード例 #15
0
ファイル: lektor_tags.py プロジェクト: philnelson/lektor-tags
 def ignore_missing(self):
     return bool_from_string(self.get_config().get('ignore_missing'), False)