Skip to content

Commit e0d8eed

Browse files
committed
refactor types from namedTuple to class
1 parent a3c9b7d commit e0d8eed

File tree

1 file changed

+20
-16
lines changed

1 file changed

+20
-16
lines changed

src/dwcahandler/dwca/__init__.py

+20-16
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,22 @@
1919
from __future__ import annotations
2020

2121
import io
22+
import logging
2223
from collections import namedtuple
2324
from dataclasses import dataclass, field
25+
from functools import wraps
2426
from typing import Optional, Union
25-
import logging
27+
2628
import pandas as pd
27-
from functools import wraps
2829

29-
CoreOrExtType = namedtuple("CoreOrExtType", ["CORE", "EXTENSION"])(
30-
CORE="core",
31-
EXTENSION="extension"
32-
)
3330

34-
MetaDefaultFields = namedtuple("MetaDefaultFields", ["ID", "CORE_ID"])(
35-
ID="id",
36-
CORE_ID="coreid"
37-
)
31+
class CoreOrExtType(Enum):
32+
CORE = "core"
33+
EXTENSION = "extension"
34+
@dataclass(frozen=True)
35+
class MetaDefaultFields:
36+
ID: str = "id"
37+
CORE_ID: str = "coreid"
3838

3939
# Default keys for content when creating dwca
4040
DefaultKeys = namedtuple("DefaultKeys", ["EVENT", "OCCURRENCE"])(
@@ -185,10 +185,13 @@ class Defaults:
185185
default_factory=lambda: {'LF': '\r\n', '\\t': '\t', '\\n': '\n'})
186186

187187

188+
from dwcahandler.dwca.dwca_meta import (MetaDwCA, MetaElementAttributes,
189+
MetaElementInfo, MetaElementTypes,
190+
get_meta_class_row_type)
188191
# Imports at end of file to allow classes to be used
189-
from dwcahandler.dwca.terms import Terms, NsPrefix
190-
from dwcahandler.dwca.dwca_meta import (MetaElementTypes, MetaElementInfo, MetaDwCA,
191-
MetaElementAttributes, get_meta_class_row_type)
192+
from dwcahandler.dwca.terms import NsPrefix, Terms
193+
194+
192195
@dataclass
193196
class ContentData:
194197
"""A class describing the content data used for core and extension.
@@ -223,8 +226,9 @@ def add_data(self, other_csv_file_type: ContentData):
223226
self.type = other_csv_file_type.type
224227
return False
225228

226-
from dwcahandler.dwca.eml import Eml
229+
from enum import Enum
230+
227231
from dwcahandler.dwca.base_dwca import BaseDwca
228-
from dwcahandler.dwca.core_dwca import Dwca, DfContent
232+
from dwcahandler.dwca.core_dwca import DfContent, Dwca
229233
from dwcahandler.dwca.dwca_factory import DwcaHandler
230-
234+
from dwcahandler.dwca.eml import Eml

0 commit comments

Comments
 (0)