Пример #1
0
class PagespeedEntry(validation.Validated):
  """Describes the format of a pagespeed configuration from a yaml file.

  URL blacklist entries are patterns (with '?' and '*' as wildcards).  Any URLs
  that match a pattern on the blacklist will not be optimized by PageSpeed.

  Rewriter names are strings (like 'CombineCss' or 'RemoveComments') describing
  individual PageSpeed rewriters.  A full list of valid rewriter names can be
  found in the PageSpeed documentation.

  The domains-to-rewrite list is a whitelist of domain name patterns with '*' as
  a wildcard, optionally starting with 'http://' or 'https://'.  If no protocol
  is given, 'http://' is assumed.  A resource will only be rewritten if it is on
  the same domain as the HTML that references it, or if its domain is on the
  domains-to-rewrite list.
  """
  ATTRIBUTES = {
      URL_BLACKLIST: validation.Optional(
          validation.Repeated(validation.Regex(_URL_BLACKLIST_REGEX))),
      ENABLED_REWRITERS: validation.Optional(
          validation.Repeated(validation.Regex(_REWRITER_NAME_REGEX))),
      DISABLED_REWRITERS: validation.Optional(
          validation.Repeated(validation.Regex(_REWRITER_NAME_REGEX))),
      DOMAINS_TO_REWRITE: validation.Optional(
          validation.Repeated(validation.Regex(_DOMAINS_TO_REWRITE_REGEX))),
  }
Пример #2
0
class CronInfoExternal(validation.Validated):
    """CronInfoExternal describes all cron entries for an application."""
    ATTRIBUTES = {
        appinfo.APPLICATION:
        validation.Optional(appinfo.APPLICATION_RE_STRING),
        CRON: validation.Optional(validation.Repeated(CronEntry))
    }
Пример #3
0
class RetryParameters(validation.Validated):
    """Retry parameters for a single task queue."""
    ATTRIBUTES = {
        TASK_RETRY_LIMIT: validation.Optional(validation.TYPE_INT),
        TASK_AGE_LIMIT: validation.Optional(validation.TimeValue()),
        MIN_BACKOFF_SECONDS: validation.Optional(validation.TYPE_FLOAT),
        MAX_BACKOFF_SECONDS: validation.Optional(validation.TYPE_FLOAT),
        MAX_DOUBLINGS: validation.Optional(validation.TYPE_INT),
    }
Пример #4
0
class CronEntry(validation.Validated):
    """A cron entry describes a single cron job."""
    ATTRIBUTES = {
        URL: _URL_REGEX,
        SCHEDULE: GrocValidator(),
        TIMEZONE: TimezoneValidator(),
        DESCRIPTION: validation.Optional(_DESCRIPTION_REGEX),
        RETRY_PARAMETERS: validation.Optional(RetryParameters),
        TARGET: validation.Optional(_VERSION_REGEX),
    }
Пример #5
0
class RetryParameters(validation.Validated):
    """Retry parameters for a single cron job."""
    ATTRIBUTES = {
        JOB_RETRY_LIMIT:
        validation.Optional(validation.Range(0, None, range_type=int)),
        JOB_AGE_LIMIT:
        validation.Optional(validation.TimeValue()),
        MIN_BACKOFF_SECONDS:
        validation.Optional(validation.Range(0.0, None, range_type=float)),
        MAX_BACKOFF_SECONDS:
        validation.Optional(validation.Range(0.0, None, range_type=float)),
        MAX_DOUBLINGS:
        validation.Optional(validation.Range(0, None, range_type=int)),
    }
Пример #6
0
class Acl(validation.Validated):
    """Access control list for a single task queue."""
    ATTRIBUTES = {
        USER_EMAIL: validation.Optional(validation.TYPE_STR),
        WRITER_EMAIL: validation.Optional(validation.TYPE_STR),
    }
Пример #7
0
class DispatchInfoExternal(validation.Validated):
  """Describes the format of a dispatch.yaml file."""
  ATTRIBUTES = {
      APPLICATION: validation.Optional(appinfo.APPLICATION_RE_STRING),
      DISPATCH: validation.Optional(validation.Repeated(DispatchEntry)),
  }