forked from uniborg/uniborg
Use pathlib instead of os.path
This commit is contained in:
parent
8c58ea65e1
commit
80ba9bebb3
|
@ -1,8 +1,8 @@
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
import os
|
|
||||||
import json
|
import json
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
FILE_NAME = 'data.json'
|
FILE_NAME = 'data.json'
|
||||||
|
@ -21,11 +21,11 @@ class Storage:
|
||||||
self._storage._save()
|
self._storage._save()
|
||||||
|
|
||||||
def __init__(self, root):
|
def __init__(self, root):
|
||||||
self._root = root
|
self._root = Path(root)
|
||||||
self._autosave = True
|
self._autosave = True
|
||||||
self._guard = self._Guard(self)
|
self._guard = self._Guard(self)
|
||||||
if os.path.isfile(os.path.join(self._root, FILE_NAME)):
|
if (self._root / FILE_NAME).is_file():
|
||||||
with open(os.path.join(self._root, FILE_NAME)) as fp:
|
with open(self._root / FILE_NAME) as fp:
|
||||||
self._data = json.load(fp)
|
self._data = json.load(fp)
|
||||||
else:
|
else:
|
||||||
self._data = {}
|
self._data = {}
|
||||||
|
@ -47,7 +47,7 @@ class Storage:
|
||||||
self._save()
|
self._save()
|
||||||
|
|
||||||
def _save(self):
|
def _save(self):
|
||||||
if not os.path.isdir(self._root):
|
if not self._root.is_dir():
|
||||||
os.makedirs(self._root, exist_ok=True)
|
self._root(parents=True, exist_ok=True)
|
||||||
with open(os.path.join(self._root, FILE_NAME), 'w') as fp:
|
with open(self._root / FILE_NAME, 'w') as fp:
|
||||||
json.dump(self._data, fp)
|
json.dump(self._data, fp)
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
import os
|
|
||||||
import asyncio
|
import asyncio
|
||||||
import importlib.util
|
import importlib.util
|
||||||
import logging
|
import logging
|
||||||
|
@ -24,7 +23,7 @@ class Uniborg(TelegramClient):
|
||||||
# storage should be a callable accepting plugin name -> Storage object.
|
# storage should be a callable accepting plugin name -> Storage object.
|
||||||
# This means that using the Storage type as a storage would work too.
|
# This means that using the Storage type as a storage would work too.
|
||||||
self._name = session
|
self._name = session
|
||||||
self.storage = storage or (lambda n: Storage(os.path.join('data', n)))
|
self.storage = storage or (lambda n: Storage(Path("data") / n))
|
||||||
self._logger = logging.getLogger(session)
|
self._logger = logging.getLogger(session)
|
||||||
self._plugins = {}
|
self._plugins = {}
|
||||||
self._plugin_path = plugin_path
|
self._plugin_path = plugin_path
|
||||||
|
|
Loading…
Reference in New Issue