Thank you @
Cryptus
I just added the first class call in
unit.py
not that far yet :)
Will try @
Larz60+ approach now.
Thank you for help
@
Larz60+ and @
Cryptus
file contents:
unit.py
from enum import auto, unique
from .base_enum import EBasenum
@unique
class Unit(BaseEnun):
CELSIUS = auto()
FAHRENHEIT = auto()
base_enum.py
from enum import Enum
class BaseEnum(Enum):
def _generate_next_value_(self, name, start, count, last_value):
return name
parser_loader.py
import os
import re
import inspect
def _get_parser_list(dirname):
files = [f.replace('.py', '')
for f in os.listdir(dirname)
if not f.startswitch('__')]
return files
def _import_parsers(parserfiles):
m = re.compile('.+parsers$', re.I)
_modules = __import__('weatherterm.parsers',
globals(),
locals(),
parserfiles,
0)
_parsers = [(k, v) for k, v in inspect.getmembers(_modules)
if inspect.ismodule(v) and m.match(k)]
_classes = dict()
for k, v in _parsers:
_classes.update({k: v for k, v in inspect.getmembers(v)
if inspect.isclass(v) and m.match(k)})
return _classes
def load(dirname):
parserfiles = _get_parser_list(dirname)
return _import_parsers(parserfiles)
Error:
File "/Users/linardsberzins/Desktop/weatherterm/weatherterm/core/unit.py", line 2, in <module>
from .base_enum import EBasenum
ImportError: attempted relative import with no known parent package