1
0
mirror of https://github.com/deadc0de6/dotdrop.git synced 2026-02-05 13:48:48 +00:00
Files
dotdrop/dotdrop/linktypes.py
2023-02-06 17:30:29 +01:00

36 lines
831 B
Python

"""
author: deadc0de6 (https://github.com/deadc0de6)
Copyright (c) 2020, deadc0de6
represents a type of link in dotdrop
"""
# https://github.com/PyCQA/pylint/issues/2062
# pylint: disable=E1101
from enum import IntEnum
class LinkTypes(IntEnum):
"""a type of link"""
NOLINK = 0
LINK = 1
LINK_CHILDREN = 2
ABSOLUTE = 3
RELATIVE = 4
@classmethod
def get(cls, key, default=None):
"""get the linktype"""
try:
return key if isinstance(key, cls) else cls[key.upper()]
except KeyError as exc:
if default and isinstance(default, cls):
return default
err = f'bad {cls.__name__} value: "{key}"'
raise ValueError(err) from exc
def __str__(self):
"""linktype to string"""
return self.name.lower()