Skip to content

Commit 3a5ed83

Browse files
committed
moved source code to src/
1 parent 6708751 commit 3a5ed83

File tree

131 files changed

+37
-37
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+37
-37
lines changed

MANIFEST.in

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
recursive-include nl_service_metadata_generator/data/json *.json
2-
recursive-include nl_service_metadata_generator/data/templates *.xml
3-
recursive-include nl_service_metadata_generator/data/schema *.xsd
4-
recursive-include nl_service_metadata_generator/data/json_schema *.schema.json
1+
recursive-include src/nl_service_metadata_generator/data/json *.json
2+
recursive-include src/nl_service_metadata_generator/data/templates *.xml
3+
recursive-include src/nl_service_metadata_generator/data/schema *.xsd
4+
recursive-include src/nl_service_metadata_generator/data/json_schema *.schema.json

pyproject.toml

+6-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ dependencies = [
1616
"lxml ~= 4.9",
1717
"jsonschema ~= 4.17"
1818
]
19-
requires-python = ">=3.10.6"
19+
requires-python = ">=3.8.10"
2020

2121
[project.optional-dependencies]
2222
dev = ["black", "autoflake", "isort"]
@@ -28,9 +28,13 @@ nl-service-metadata-generator = "nl_service_metadata_generator.cli:cli"
2828
include-package-data = true
2929

3030
[tool.setuptools.packages.find]
31+
where = ["src"]
3132
include = ["nl_service_metadata_generator*"] # package names should match these glob patterns (["*"] by default)
3233
exclude = [] # exclude packages matching these glob patterns (empty by default)
3334

35+
[tool.setuptools.package-data]
36+
nl_service_metadata_generator = ["*.json", "*.xml", "*.xsd"]
37+
3438
[build-system]
3539
build-backend = "setuptools.build_meta"
36-
requires = ["setuptools", "wheel"]
40+
requires = ["setuptools>=45", "setuptools_scm[toml]>=6.2", "wheel"]

nl_service_metadata_generator/cli.py src/nl_service_metadata_generator/cli.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@
55

66
import click
77

8-
from nl_service_metadata_generator.constants import DEFAULT_CSW_ENDPOINT
9-
from nl_service_metadata_generator.enums import (
8+
from .constants import DEFAULT_CSW_ENDPOINT
9+
from .enums import (
1010
InspireType,
1111
SchemaType,
1212
SdsType,
1313
ServiceType,
1414
)
15-
from nl_service_metadata_generator.metadata_generator import generate_service_metadata
16-
from nl_service_metadata_generator.util import print_schema, validate_service_metadata
15+
from .metadata_generator import generate_service_metadata
16+
from .util import print_schema, validate_service_metadata
1717

1818

1919
@click.group()

nl_service_metadata_generator/codelist_lookup.py src/nl_service_metadata_generator/codelist_lookup.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import pkg_resources
44

5-
from nl_service_metadata_generator.constants import CODELIST_JSON_FILE
5+
from .constants import CODELIST_JSON_FILE
66

77

88
def get_inspire_theme_label(data_json):
@@ -58,7 +58,7 @@ def get_coordinate_reference_systems():
5858
with open(json_path, "r") as json_file:
5959
codelists_json = json.loads(json_file.read())
6060
return codelists_json["reference_systems"]
61-
61+
6262

6363
def get_sds_categories(sds_category):
6464
json_path = pkg_resources.resource_filename(__name__, CODELIST_JSON_FILE)

nl_service_metadata_generator/constants.py src/nl_service_metadata_generator/constants.py

-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
SERVICE_METADATA_SCHEMA = (
44
"data/schema/schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/apiso.xsd"
55
)
6-
JSON_SCHEMA_SERVICE = "data/json_schema/service.schema.json"
7-
JSON_SCHEMA_CONSTANTS = "data/json_schema/constants.schema.json"
86
TEMPLATES_DIR = "data/templates"
97
DEFAULT_CSW_ENDPOINT = "https://nationaalgeoregister.nl/geonetwork/srv/dut/csw"
108
QUALITY_SERVICE_CONFORMANCE = {

src/nl_service_metadata_generator/data/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/json/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/json_schema/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/schemas.opengis.net/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/schemas.opengis.net/csw/2.0.2/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/schemas.opengis.net/csw/2.0.2/profiles/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/schemas.opengis.net/csw/2.0.2/profiles/apiso/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/schemas.opengis.net/csw/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/schemas.opengis.net/iso/19139/20070417/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/schemas.opengis.net/iso/19139/20070417/srv/1.0/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/schemas.opengis.net/iso/19139/20070417/srv/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/schemas.opengis.net/iso/19139/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/schemas.opengis.net/iso/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/standards.iso.org/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19136_Schemas/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/gco/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/gmd/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/gmx/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/gsr/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/gss/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/gts/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/standards.iso.org/ittf/PubliclyAvailableStandards/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/standards.iso.org/ittf/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/www.w3.org/1999/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/www.w3.org/2001/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/www.w3.org/2009/01/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/www.w3.org/2009/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/schema/www.w3.org/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/templates/__init__.py

Whitespace-only changes.

src/nl_service_metadata_generator/data/templates/partials/__init__.py

Whitespace-only changes.

nl_service_metadata_generator/metadata_generator.py src/nl_service_metadata_generator/metadata_generator.py

+9-11
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,20 @@
11
import json
22
from datetime import datetime
33

4-
from nl_service_metadata_generator.codelist_lookup import (
4+
from .codelist_lookup import (
55
get_coordinate_reference_systems,
66
get_inspire_fields_by_ogc_service_type,
77
get_inspire_theme_label,
88
get_sds_categories,
99
get_service_protocol_values,
1010
get_spatial_dataservice_categories,
1111
)
12-
from nl_service_metadata_generator.constants import (
13-
JSON_SCHEMA_CONSTANTS,
14-
JSON_SCHEMA_SERVICE,
12+
from .constants import (
1513
QUALITY_SERVICE_CONFORMANCE,
1614
SERVICE_TEMPLATE,
1715
)
18-
from nl_service_metadata_generator.enums import InspireType, SdsType
19-
from nl_service_metadata_generator.util import (
16+
from .enums import InspireType, SchemaType, SdsType
17+
from .util import (
2018
camel_to_snake,
2119
format_xml,
2220
get_service_md_identifier,
@@ -43,9 +41,9 @@ def add_dynamic_fields(data_json, ogc_service_type, is_sds_interoperable):
4341
data_json["service_type"] = ogc_service_type
4442
protocol_fields = get_service_protocol_values(ogc_service_type)
4543
data_json.update(protocol_fields)
46-
44+
4745
data_json["keywords"] = [x.lower() for x in data_json["keywords"]]
48-
46+
4947
if is_sds_interoperable:
5048
if not "coordinate_reference_system" in data_json:
5149
raise ValueError("coordinateReferenceSystem field required in metadata config file when generating SDS Interoperable service metadata record")
@@ -54,7 +52,7 @@ def add_dynamic_fields(data_json, ogc_service_type, is_sds_interoperable):
5452

5553
data_json["ref_system_name"] = ref_system["name"]
5654
data_json["ref_system_uri"] = ref_system["uri"]
57-
55+
5856

5957
if "protocol_version" in data_json:
6058
data_json["service_protocol_full_name"] = f'{data_json["service_protocol_name"]} - {data_json["protocol_version"]}'
@@ -107,8 +105,8 @@ def generate_service_metadata(
107105
constants_config = json.loads(constants_config_file.read())
108106

109107
base_config = QUALITY_SERVICE_CONFORMANCE
110-
validate_input_json(constants_config, JSON_SCHEMA_CONSTANTS)
111-
validate_input_json(md_config, JSON_SCHEMA_SERVICE)
108+
validate_input_json(constants_config, SchemaType.CONSTANTS)
109+
validate_input_json(md_config, SchemaType.SERVICE)
112110
base_config.update(constants_config)
113111

114112
base_config_snake = replace_keys(base_config, camel_to_snake)

nl_service_metadata_generator/util.py src/nl_service_metadata_generator/util.py

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
import json
2+
from pathlib import Path
23
import re
34

45
import pkg_resources
56
from jinja2 import Environment, PackageLoader, select_autoescape
67
from jsonschema import validate
78
from lxml import etree
89

9-
from nl_service_metadata_generator.constants import (
10-
JSON_SCHEMA_CONSTANTS,
11-
JSON_SCHEMA_SERVICE,
10+
from .constants import (
1211
SERVICE_METADATA_SCHEMA,
1312
TEMPLATES_DIR,
1413
)
15-
from nl_service_metadata_generator.enums import SchemaType
14+
from .enums import SchemaType
1615

1716

1817
def render_template(template_path, data_json):
@@ -52,22 +51,23 @@ def replace_keys(dictionary: dict, fun) -> dict:
5251

5352

5453
def print_schema(schema_type: SchemaType):
55-
if schema_type == SchemaType.CONSTANTS:
56-
json_schema_path = JSON_SCHEMA_CONSTANTS
57-
elif schema_type == SchemaType.SERVICE:
58-
json_schema_path = JSON_SCHEMA_SERVICE
54+
json_schema_path = f"data/json_schema/{schema_type}.schema.json"
5955
json_schema_path = pkg_resources.resource_filename(
60-
__name__,
56+
get_pkg_string(),
6157
json_schema_path,
6258
)
6359
with open(json_schema_path, "r") as f:
6460
parsed = json.load(f)
6561
print(json.dumps(parsed, indent=4))
6662

63+
def get_pkg_string():
64+
module_name = "." + __name__.replace(Path(__file__).name.replace(".py", ""),"")
65+
return __name__.replace(module_name, "")
6766

68-
def validate_input_json(contact_config, json_schema_path):
67+
def validate_input_json(contact_config, schema_type: SchemaType):
68+
json_schema_path = f"data/json_schema/{schema_type}.schema.json"
6969
contact_schema_path = pkg_resources.resource_filename(
70-
__name__,
70+
get_pkg_string(),
7171
json_schema_path,
7272
)
7373
with open(contact_schema_path, "r") as contact_json_schema:
@@ -112,7 +112,7 @@ def validate_service_metadata(xml_string):
112112
if result:
113113
return result
114114
schema_path = pkg_resources.resource_filename(
115-
__name__,
115+
get_pkg_string(),
116116
SERVICE_METADATA_SCHEMA,
117117
)
118118
with open(schema_path, "rb") as xml_schema_file:

0 commit comments

Comments
 (0)