summaryrefslogtreecommitdiff
path: root/lib/template.py
diff options
context:
space:
mode:
authorTobias Brox <tobias@redpill-linpro.com>2022-11-06 10:23:24 +0100
committerTobias Brox <tobias@redpill-linpro.com>2022-11-06 10:23:24 +0100
commit891359b85d305199a76283f412107359e8674b7d (patch)
tree924566a50b183bc311fce68b1d61699edbc1d97a /lib/template.py
parent68e2b2dfdaebd01a0bdd2b1f4d9f87f3b203a7fb (diff)
downloadcalendar-cli-891359b85d305199a76283f412107359e8674b7d.zip
reorganized the repository - should fix https://github.com/tobixen/calendar-cli/issues/94
Diffstat (limited to 'lib/template.py')
-rw-r--r--lib/template.py49
1 files changed, 0 insertions, 49 deletions
diff --git a/lib/template.py b/lib/template.py
deleted file mode 100644
index 47281d9..0000000
--- a/lib/template.py
+++ /dev/null
@@ -1,49 +0,0 @@
-"""String formatter that allows default values to be passed in the
-template string.
-
-This does not really belong in the calendar-cli package. I was
-googling a bit, and didn't find anything like this out there ... but
-I'm sure there must exist something like this?"""
-
-import datetime
-import string
-import re
-
-class NoValue():
- def __getattr__(self, attr):
- return self
- def __getitem__(self, attr):
- return self
- def __str__(self):
- return ""
- def __format__(self, spec):
- try:
- return "".__format__(spec)
- except:
- return ""
-
-no_value = NoValue()
-
-class Template(string.Formatter):
- def __init__(self, template):
- self.template = template
-
- def format(self, *pargs, **kwargs):
- return super().format(self.template, *pargs, **kwargs)
-
- def get_value(self, key, args, kwds):
- try:
- return string.Formatter.get_value(self, key, args, kwds)
- except:
- return no_value
-
- def format_field(self, value, format_spec):
- rx = re.match(r'\?([^\?]*)\?(.*)', format_spec)
- if rx:
- format_spec = rx.group(2)
- if value is no_value:
- value = rx.group(1)
- try:
- return string.Formatter.format_field(self, value, format_spec)
- except:
- return string.Formatter.format_field(self, value, "")