Skip to content

Commit 142741f

Browse files
committed
feat!: ckan 2.11 support
1 parent 8bbfe4e commit 142741f

12 files changed

Lines changed: 54 additions & 41 deletions

File tree

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,14 @@
22

33
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
44

5-
### [0.1.1](https://github.com/DataShades/ckanext-iso19115/compare/v0.1.0...v0.1.1) (2023-05-27)
5+
## [0.2.0](https://github.com/DataShades/ckanext-iso19115/compare/v0.1.1...v0.2.0) (2023-12-16)
6+
7+
### ⚠ BREAKING CHANGES
8+
9+
* CKAN v2.11 support
10+
11+
12+
## [0.1.1](https://github.com/DataShades/ckanext-iso19115/compare/v0.1.0...v0.1.1) (2023-05-27)
613

714

815
### Features

ckanext/iso19115/types/cit.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ class CI_Series:
9393

9494
@dataclass
9595
class AbstractCI_Party:
96-
name: gco.CharacterString = None
96+
name: Optional[gco.CharacterString] = None
9797
contactInfo: Optional[list[CI_Contact]] = field(default_factory=list)
9898
partyIdentifier: Optional[list[mcc.MD_Identifier]] = field(default_factory=list)
9999

ckanext/iso19115/types/gcx.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from __future__ import annotations
22

3-
from dataclasses import Field, dataclass, field
4-
from typing import Optional
3+
from dataclasses import dataclass
4+
55
from .base import Atomic
66

77

ckanext/iso19115/types/gex.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class AbstractEX_GeographicExtent:
3535

3636
@dataclass
3737
class EX_GeographicDescription(AbstractEX_GeographicExtent):
38-
geographicIdentifier: mcc.MD_Identifier = None
38+
geographicIdentifier: Optional[mcc.MD_Identifier] = None
3939

4040

4141
@dataclass
@@ -45,7 +45,7 @@ class EX_BoundingPolygon(AbstractEX_GeographicExtent):
4545

4646
@dataclass
4747
class EX_GeographicBoundingBox(AbstractEX_GeographicExtent):
48-
westBoundLongitude: gco.Decimal = None
49-
eastBoundLongitude: gco.Decimal = None
50-
southBoundLatitude: gco.Decimal = None
51-
northBoundLatitude: gco.Decimal = None
48+
westBoundLongitude: Optional[gco.Decimal] = None
49+
eastBoundLongitude: Optional[gco.Decimal] = None
50+
southBoundLatitude: Optional[gco.Decimal] = None
51+
northBoundLatitude: Optional[gco.Decimal] = None

ckanext/iso19115/types/lan.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from __future__ import annotations
22

3-
from dataclasses import dataclass
3+
from dataclasses import dataclass, field
44
from typing import TYPE_CHECKING, Optional
55

66
from .base import Codelist
@@ -28,4 +28,6 @@ class MD_CharacterSetCode(Codelist):
2828
class PT_Locale:
2929
language: Codelist[lan.LanguageCode]
3030
country: Optional[Codelist[lan.CountryCode]] = None
31-
characterEncoding: Optional[Codelist[lan.MD_CharacterSetCode]] = "UTF-8"
31+
characterEncoding: Optional[Codelist[lan.MD_CharacterSetCode]] = field(
32+
default_factory=lambda: Codelist[lan.MD_CharacterSetCode]("UTF-8")
33+
)

ckanext/iso19115/types/mac.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ class MI_PriorityCode(Codelist):
5252
@dataclass
5353
class MI_Revision:
5454
description: Optional[gco.CharacterString] = None
55-
author: cit.CI_Responsibility = None
56-
dateInfo: cit.CI_Date = None
55+
author: Optional[cit.CI_Responsibility] = None
56+
dateInfo: Optional[cit.CI_Date] = None
5757

5858

5959
@dataclass
@@ -73,8 +73,8 @@ class MI_Objective:
7373
@dataclass
7474
class MI_Plan:
7575
type: Optional[Codelist[mac.MI_GeometryTypeCode]] = None
76-
status: Codelist[mcc.MD_ProgressCode] = None
77-
citation: cit.CI_Citation = None
76+
status: Optional[Codelist[mcc.MD_ProgressCode]] = None
77+
citation: Optional[cit.CI_Citation] = None
7878
operation: Optional[list[mac.MI_Operation]] = field(default_factory=list)
7979
satisfiedRequirement: Optional[list[mac.MI_Requirement]] = field(
8080
default_factory=list
@@ -103,8 +103,8 @@ class MI_Event:
103103
@dataclass
104104
class MI_Platform:
105105
citation: Optional[list[cit.CI_Citation]] = field(default_factory=list)
106-
identifier: mcc.MD_Identifier = None
107-
description: gco.CharacterString = None
106+
identifier: Optional[mcc.MD_Identifier] = None
107+
description: Optional[gco.CharacterString] = None
108108
sponsor: Optional[list[cit.CI_Responsibility]] = field(default_factory=list)
109109
instrument: list[mac.MI_Instrument] = field(default_factory=list)
110110
otherPropertyType: Optional[gco.RecordType] = None
@@ -117,8 +117,8 @@ class MI_Platform:
117117
@dataclass
118118
class MI_Sensor:
119119
citation: Optional[list[cit.CI_Citation]] = field(default_factory=list)
120-
identifier: mcc.MD_Identifier = None
121-
type: gco.CharacterString = None
120+
identifier: Optional[mcc.MD_Identifier] = None
121+
type: Optional[gco.CharacterString] = None
122122
description: Optional[gco.CharacterString] = None
123123
mountedOn: Optional[mac.MI_Platform] = None
124124
otherPropertyType: Optional[gco.RecordType] = None
@@ -134,7 +134,7 @@ class MI_Sensor:
134134
@dataclass
135135
class MI_InstrumentationEvent:
136136
citation: Optional[list[cit.CI_Citation]] = field(default_factory=list)
137-
description: gco.CharacterString = None
137+
description: Optional[gco.CharacterString] = None
138138
extent: Optional[list[gex.EX_Extent]] = field(default_factory=list)
139139
type: list[Codelist[mac.MI_InstrumentationEventTypeCode]] = field(
140140
default_factory=list
@@ -158,8 +158,8 @@ class MI_InstrumentationEventList:
158158
@dataclass
159159
class MI_Instrument:
160160
citation: Optional[list[cit.CI_Citation]] = field(default_factory=list)
161-
identifier: mcc.MD_Identifier = None
162-
type: gco.CharacterString = None
161+
identifier: Optional[mcc.MD_Identifier] = None
162+
type: Optional[gco.CharacterString] = None
163163
description: Optional[gco.CharacterString] = None
164164
mountedOn: Optional[mac.MI_Platform] = None
165165
otherPropertyType: Optional[gco.RecordType] = None
@@ -176,7 +176,7 @@ class MI_Operation:
176176
description: Optional[gco.CharacterString] = None
177177
citation: Optional[cit.CI_Citation] = None
178178
identifier: Optional[mcc.MD_Identifier] = None
179-
status: Codelist[mcc.MD_ProgressCode] = None
179+
status: Optional[Codelist[mcc.MD_ProgressCode]] = None
180180
type: Optional[Codelist[mac.MI_OperationTypeCode]] = None
181181
parentOperation: Optional[mac.MI_Operation] = None
182182
childOperation: Optional[list[mac.MI_Operation]] = field(default_factory=list)
@@ -205,12 +205,12 @@ class MI_AcquisitionInformation:
205205
@dataclass
206206
class MI_Requirement:
207207
citation: Optional[cit.CI_Citation] = None
208-
identifier: mcc.MD_Identifier = None
208+
identifier: Optional[mcc.MD_Identifier] = None
209209
requestor: list[cit.CI_Responsibility] = field(default_factory=list)
210210
recipient: list[cit.CI_Responsibility] = field(default_factory=list)
211-
priority: Codelist[mac.MI_PriorityCode] = None
212-
requestedDate: mac.MI_RequestedDate = None
213-
expiryDate: gco.DateTime = None
211+
priority: Optional[Codelist[mac.MI_PriorityCode]] = None
212+
requestedDate: Optional[mac.MI_RequestedDate] = None
213+
expiryDate: Optional[gco.DateTime] = None
214214
satisifiedPlan: Optional[list[mac.MI_Plan]] = field(default_factory=list)
215215

216216

ckanext/iso19115/types/mcc.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class MD_ProgressCode(Codelist):
2222
@dataclass
2323
class MD_Identifier:
2424
authority: Optional[cit.CI_Citation] = None
25-
code: gco.CharacterString = None
25+
code: Optional[gco.CharacterString] = None
2626
codeSpace: Optional[gco.CharacterString] = None
2727
version: Optional[gco.CharacterString] = None
2828
description: Optional[gco.CharacterString] = None

ckanext/iso19115/types/mdb.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from __future__ import annotations
22

33
from dataclasses import dataclass, field
4-
from typing import TYPE_CHECKING, Any, Optional, Union
4+
from typing import TYPE_CHECKING, Optional, Union
55

66
from .base import Codelist
77

ckanext/iso19115/types/mdq.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -166,23 +166,25 @@ class AbstractDQ_Result:
166166

167167
@dataclass
168168
class QE_CoverageResult(AbstractDQ_Result):
169-
spatialRepresentationType: Codelist[mcc.MD_SpatialRepresentationTypeCode] = None
170-
resultFile: mdq.QualityResultFile = None
171-
resultSpatialRepresentation: mcc.Abstract_SpatialRepresentation = None
172-
resultContentDescription: mcc.Abstract_ContentInformation = None
173-
resultFormat: mrd.MD_Format = None
169+
spatialRepresentationType: Optional[
170+
Codelist[mcc.MD_SpatialRepresentationTypeCode]
171+
] = None
172+
resultFile: Optional[mdq.QualityResultFile] = None
173+
resultSpatialRepresentation: Optional[mcc.Abstract_SpatialRepresentation] = None
174+
resultContentDescription: Optional[mcc.Abstract_ContentInformation] = None
175+
resultFormat: Optional[mrd.MD_Format] = None
174176

175177

176178
@dataclass
177179
class DQ_ConformanceResult(AbstractDQ_Result):
178-
specification: cit.CI_Citation = None
180+
specification: Optional[cit.CI_Citation] = None
179181
explanation: Optional[gco.CharacterString] = None
180182
# pass: gco.Boolean
181183

182184

183185
@dataclass
184186
class DQ_DescriptiveResult(AbstractDQ_Result):
185-
statement: gco.CharacterString = None
187+
statement: Optional[gco.CharacterString] = None
186188

187189

188190
@dataclass

ckanext/iso19115/types/mrc.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class MD_FeatureCatalogueDescription(mcc.Abstract_ContentInformation):
4949

5050
@dataclass
5151
class MD_CoverageDescription(mcc.Abstract_ContentInformation):
52-
attributeDescription: gco.RecordType = None
52+
attributeDescription: Optional[gco.RecordType] = None
5353
processingLevelCode: Optional[mcc.MD_Identifier] = None
5454
attributeGroup: Optional[list[mrc.MD_AttributeGroup]] = field(default_factory=list)
5555

0 commit comments

Comments
 (0)