Use pathlib instead of os.path

This commit is contained in:
Dan Elkouby 2018-06-10 11:06:56 +03:00
parent 8c58ea65e1
commit 80ba9bebb3
2 changed files with 8 additions and 9 deletions

View File

@ -1,8 +1,8 @@
# 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
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import os
import json
from pathlib import Path
FILE_NAME = 'data.json'
@ -21,11 +21,11 @@ class Storage:
self._storage._save()
def __init__(self, root):
self._root = root
self._root = Path(root)
self._autosave = True
self._guard = self._Guard(self)
if os.path.isfile(os.path.join(self._root, FILE_NAME)):
with open(os.path.join(self._root, FILE_NAME)) as fp:
if (self._root / FILE_NAME).is_file():
with open(self._root / FILE_NAME) as fp:
self._data = json.load(fp)
else:
self._data = {}
@ -47,7 +47,7 @@ class Storage:
self._save()
def _save(self):
if not os.path.isdir(self._root):
os.makedirs(self._root, exist_ok=True)
with open(os.path.join(self._root, FILE_NAME), 'w') as fp:
if not self._root.is_dir():
self._root(parents=True, exist_ok=True)
with open(self._root / FILE_NAME, 'w') as fp:
json.dump(self._data, fp)

View File

@ -1,7 +1,6 @@
# 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
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import os
import asyncio
import importlib.util
import logging
@ -24,7 +23,7 @@ class Uniborg(TelegramClient):
# storage should be a callable accepting plugin name -> Storage object.
# This means that using the Storage type as a storage would work too.
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._plugins = {}
self._plugin_path = plugin_path