|
5 | 5 |
|
6 | 6 | # records |
7 | 7 | class MetadataKeywordTypeEnum(Enum): |
| 8 | + NONE = "" |
8 | 9 | DISCIPLINE = "discipline" |
9 | 10 | TEMPORAL = "temporal" |
10 | 11 | PLACE = "place" |
@@ -42,43 +43,39 @@ class MetadataIdentificationConfig: |
42 | 43 | title: str | dict = field(default_factory=lambda: "") |
43 | 44 | description: str | dict = field(default_factory=lambda: "") |
44 | 45 | keywords: list | dict = field(default_factory=lambda: []) |
45 | | - keywords_type: MetadataKeywordTypeEnum = field( |
46 | | - default_factory=lambda: MetadataKeywordTypeEnum.THEME |
47 | | - ) |
48 | | - terms_of_service: str = field( |
49 | | - default="https://creativecommons.org/licenses/by/4.0/" |
50 | | - ) |
51 | 46 | url: str = field(default="https://example.org") |
| 47 | + keywords_type: MetadataKeywordTypeEnum | None = None |
| 48 | + terms_of_service: str | None = None |
52 | 49 |
|
53 | 50 |
|
54 | 51 | @dataclass(kw_only=True) |
55 | 52 | class MetadataLicenseConfig: |
56 | 53 | name: str = field(default="CC-BY 4.0 license") |
57 | | - url: str = field(default="https://creativecommons.org/licenses/by/4.0/") |
| 54 | + url: str | None = None |
58 | 55 |
|
59 | 56 |
|
60 | 57 | @dataclass(kw_only=True) |
61 | 58 | class MetadataProviderConfig: |
62 | 59 | name: str = field(default="Organization Name") |
63 | | - url: str = field(default="https://pygeoapi.io") |
| 60 | + url: str | None = None |
64 | 61 |
|
65 | 62 |
|
66 | 63 | @dataclass(kw_only=True) |
67 | 64 | class MetadataContactConfig: |
68 | 65 | name: str = field(default="Lastname, Firstname") |
69 | | - position: str = field(default="Position Title") |
70 | | - address: str = field(default="Mailing Address") |
71 | | - city: str = field(default="City") |
72 | | - stateorprovince: str = field(default="Administrative Area") |
73 | | - postalcode: str = field(default="Zip or Postal Code") |
74 | | - country: str = field(default="Country") |
75 | | - phone: str = field(default="+xx-xxx-xxx-xxxx") |
76 | | - fax: str = field(default="+xx-xxx-xxx-xxxx") |
77 | | - email: str = field(default="you@example.org") |
78 | | - url: str = field(default="Contact URL") |
79 | | - hours: str = field(default="Mo-Fr 08:00-17:00") |
80 | | - instructions: str = field(default="During hours of service. Off on weekends.") |
81 | | - role: MetadataRoleEnum = field(default_factory=lambda: MetadataRoleEnum.NONE) |
| 66 | + position: str | None = None |
| 67 | + address: str | None = None |
| 68 | + city: str | None = None |
| 69 | + stateorprovince: str | None = None |
| 70 | + postalcode: str | None = None |
| 71 | + country: str | None = None |
| 72 | + phone: str | None = None |
| 73 | + fax: str | None = None |
| 74 | + email: str | None = None |
| 75 | + url: str | None = None |
| 76 | + hours: str | None = None |
| 77 | + instructions: str | None = None |
| 78 | + role: MetadataRoleEnum | None = None |
82 | 79 |
|
83 | 80 |
|
84 | 81 | @dataclass(kw_only=True) |
@@ -108,15 +105,17 @@ def get_invalid_properties(self): |
108 | 105 | all_invalid_fields.append("metadata.identification.description") |
109 | 106 | if len(self.identification.keywords) == 0: |
110 | 107 | all_invalid_fields.append("metadata.identification.keywords") |
| 108 | + if len(self.identification.url) == 0: |
| 109 | + all_invalid_fields.append("metadata.identification.url") |
111 | 110 | if len(self.license.name) == 0: |
112 | 111 | all_invalid_fields.append("metadata.license.name") |
113 | 112 | if len(self.provider.name) == 0: |
114 | 113 | all_invalid_fields.append("metadata.provider.name") |
115 | 114 | if len(self.contact.name) == 0: |
116 | 115 | all_invalid_fields.append("metadata.contact.name") |
117 | 116 |
|
118 | | - parsed_url = urlparse(self.identification.url) |
119 | | - if not all([parsed_url.scheme, parsed_url.netloc]): |
120 | | - all_invalid_fields.append("metadata.identification.url") |
| 117 | + # parsed_url = urlparse(self.identification.url) |
| 118 | + # if not all([parsed_url.scheme, parsed_url.netloc]): |
| 119 | + # all_invalid_fields.append("metadata.identification.url") |
121 | 120 |
|
122 | 121 | return all_invalid_fields |
0 commit comments