Skip to content
Snippets Groups Projects
Commit 4c120bb8 authored by dmt's avatar dmt
Browse files

Instead class attributes use descriptors.

parent e8e99190
No related branches found
No related tags found
No related merge requests found
"""Settings module.
"""
from itertools import starmap
from dataclasses import dataclass
from configparser import ConfigParser
# TODO (dmt): Set default values
class Settings:
class SetFeatures:
def __init__(self):
self.set_features = None
def __get__(self, instance, owner):
return self.set_features
def __set__(self, instance, value):
# TODO (dmt): Validate user input!
self.set_features = [int(i) for i in value.split(",")]
class CutTimeStamp:
def __init__(self):
self.cut_time_stamp = False
def __get__(self, instance, owner):
return self.cut_time_stamp
def __set__(self, instance, value):
# TODO (dmt): Validate user input!
self.cut_time_stamp = bool(value)
class BlockSize:
def __init__(self):
self.block_size = None
def __get__(self, instance, owner):
return self.block_size
def __set__(self, instance, value):
# TODO (dmt): Validate user input!
self.block_size = int(value)
class MetaSettings(type):
SET_FEATURES: SetFeatures = SetFeatures()
CUT_TIME_STAMP: CutTimeStamp = CutTimeStamp()
BLOCK_SIZE: BlockSize = BlockSize()
# TODO (dmt): Set default values.
class Settings(metaclass=MetaSettings):
INPUT_FILE: str = ""
LEARN_DIR: str = ""
MAX_LEARN_DIR: int = 0
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment