コード例 #1
0
def _ParseDnsSettingsFromFile(path):
    """Parses dns_settings from a yaml file.

  Args:
    path: YAML file path.

  Returns:
    Pair (DnsSettings, DnsUpdateMask) or (None, None) if path is None.
  """
    messages = registrations.GetMessagesModule()
    dns_settings = util.ParseMessageFromYamlFile(
        path, messages.DnsSettings,
        'DNS settings file \'{}\' does not contain valid dns_settings message'.
        format(path))
    if not dns_settings:
        return None, None

    update_mask = None
    if dns_settings.googleDomainsDns is not None:
        update_mask = DnsUpdateMask(name_servers=True,
                                    google_domains_dnssec=True,
                                    glue_records=True)
    elif dns_settings.customDns is not None:
        update_mask = DnsUpdateMask(name_servers=True,
                                    custom_dnssec=True,
                                    glue_records=True)
    else:
        raise exceptions.Error(
            'dnsProvider is not present in DNS settings file \'{}\'.'.format(
                path))

    return dns_settings, update_mask
コード例 #2
0
ファイル: dns_util.py プロジェクト: iofh/QA-System
def _ParseDnsSettingsFromFile(path):
    """Parses dns_settings from a yaml file.

  Args:
    path: YAML file path.

  Returns:
    Pair (DnsSettings, DnsUpdateMask) or (None, None) if path is None.
  """
    messages = registrations.GetMessagesModule()
    dns_settings = util.ParseMessageFromYamlFile(
        path, messages.DnsSettings,
        'DNS settings file \'{}\' does not contain valid dns_settings message'.
        format(path))
    if not dns_settings:
        return None, None

    return dns_settings, DnsUpdateMask(dns_provider=True, glue_records=True)
コード例 #3
0
ファイル: contacts_util.py プロジェクト: PinTrees/novelhub
def ParseContactData(path):
    """Parses contact data from a yaml file."""
    messages = registrations.GetMessagesModule()

    class ContactData(_messages.Message):
        """Message that should be present in YAML file with contacts data."""

        # pylint: disable=invalid-name
        allContacts = _messages.MessageField(messages.Contact, 1)
        registrantContact = _messages.MessageField(messages.Contact, 2)
        adminContact = _messages.MessageField(messages.Contact, 3)
        technicalContact = _messages.MessageField(messages.Contact, 4)

    contacts = util.ParseMessageFromYamlFile(
        path, ContactData,
        'Contact data file \'{}\' does not contain valid contact messages'.
        format(path))
    if not contacts:
        return None

    parsed_contact = None
    if contacts.allContacts:
        for field in ['registrantContact', 'adminContact', 'technicalContact']:
            if contacts.get_assigned_value(field):
                raise exceptions.Error(
                    ('Contact data file \'{}\' cannot contain both '
                     'allContacts and {} fields.').format(path, field))
        parsed_contact = messages.ContactSettings(
            registrantContact=contacts.allContacts,
            adminContact=contacts.allContacts,
            technicalContact=contacts.allContacts)
    else:
        parsed_contact = messages.ContactSettings(
            registrantContact=contacts.registrantContact,
            adminContact=contacts.adminContact,
            technicalContact=contacts.technicalContact)

    return parsed_contact