Fixed blog plugin compatibility with Python < 3.9

This commit is contained in:
squidfunk 2023-08-30 16:06:27 +02:00
parent 4c6b004fe4
commit f2512ded4a
No known key found for this signature in database
GPG Key ID: 5ED40BC4F9C436DF
2 changed files with 14 additions and 14 deletions

View File

@ -18,28 +18,28 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE. # IN THE SOFTWARE.
from collections import UserDict
from datetime import date, datetime, time from datetime import date, datetime, time
from mkdocs.config.base import BaseConfigOption, Config, ValidationError from mkdocs.config.base import BaseConfigOption, Config, ValidationError
from typing import Dict
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Classes # Classes
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Date dictionary # Date dictionary
class DateDict(UserDict[str, datetime]): class DateDict(Dict[str, datetime]):
# Initialize date dictionary # Initialize date dictionary
def __init__(self, data: dict): def __init__(self, data: dict):
super().__init__(data) super().__init__(data)
# Initialize date of creation # Ensure presence of `date.created`
if "created" in data:
self.created: datetime = data["created"] self.created: datetime = data["created"]
# Allow attribute access
def __getattr__(self, name: str): def __getattr__(self, name: str):
if name in self.data: if name in self:
return self.data[name] return self[name]
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------

View File

@ -18,28 +18,28 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE. # IN THE SOFTWARE.
from collections import UserDict
from datetime import date, datetime, time from datetime import date, datetime, time
from mkdocs.config.base import BaseConfigOption, Config, ValidationError from mkdocs.config.base import BaseConfigOption, Config, ValidationError
from typing import Dict
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Classes # Classes
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# Date dictionary # Date dictionary
class DateDict(UserDict[str, datetime]): class DateDict(Dict[str, datetime]):
# Initialize date dictionary # Initialize date dictionary
def __init__(self, data: dict): def __init__(self, data: dict):
super().__init__(data) super().__init__(data)
# Initialize date of creation # Ensure presence of `date.created`
if "created" in data:
self.created: datetime = data["created"] self.created: datetime = data["created"]
# Allow attribute access
def __getattr__(self, name: str): def __getattr__(self, name: str):
if name in self.data: if name in self:
return self.data[name] return self[name]
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------