from enum import Flag, auto
class NotesAppFeatures(Flag):
PLAIN_TEXT = auto()
RESTRUCTURED_TEXT = auto()
MARKDOWN = auto()
VERSION_CONTROL = auto()
GIT = auto()
DARK_MODE = auto()
CODE_SYNTAX_HIGHLIGHTING = auto()
VIM_EDIT_MODE = auto()
NESTED_NOTEBOOKS = auto()
TAGGING = auto()
MACOS = auto()
WINDOWS = auto()
LINUX = auto()
IOS = auto()
ANDROID = auto()
class NotesApp():
def __init__(self, name, url=None):
self.name = name
self.url = url
def __str__(self):
return f'[{self.name}]({self.url}) {str(sum([_.value for _ in self.features]))}'
foam = NotesApp("Foam", "https://foambubble.github.io/foam/")
foam.features = {
NotesAppFeatures.PLAIN_TEXT,
NotesAppFeatures.MARKDOWN,
NotesAppFeatures.VERSION_CONTROL,
NotesAppFeatures.DARK_MODE,
NotesAppFeatures.CODE_SYNTAX_HIGHLIGHTING,
NotesAppFeatures.NESTED_NOTEBOOKS,
NotesAppFeatures.TAGGING,
NotesAppFeatures.MACOS,
NotesAppFeatures.WINDOWS,
NotesAppFeatures.LINUX,
}
print(foam)
[Foam](https://foambubble.github.io/foam/) 2045