aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Config.py5
-rw-r--r--src/utils/__init__.py2
-rw-r--r--src/utils/io.py4
-rw-r--r--src/utils/parse/__init__.py6
4 files changed, 11 insertions, 6 deletions
diff --git a/src/Config.py b/src/Config.py
index 06926dbb..e2449cc5 100644
--- a/src/Config.py
+++ b/src/Config.py
@@ -1,4 +1,5 @@
import collections, configparser, os, typing
+from src import utils
class Config(object):
def __init__(self, name: str, location: str):
@@ -11,7 +12,7 @@ class Config(object):
def load(self):
if os.path.isfile(self.location):
- with open(self.location) as config_file:
+ with utils.io.open(self.location, "r") as config_file:
parser = self._parser()
parser.read_string(config_file.read())
self._config.clear()
@@ -20,7 +21,7 @@ class Config(object):
self._config[k] = v
def save(self):
- with open(self.location, "w") as config_file:
+ with utils.io.open(self.location, "w") as config_file:
parser = self._parser()
parser[self._name] = self._config.copy()
parser.write(config_file)
diff --git a/src/utils/__init__.py b/src/utils/__init__.py
index 55129137..3a4b71c0 100644
--- a/src/utils/__init__.py
+++ b/src/utils/__init__.py
@@ -1,6 +1,6 @@
import contextlib, enum, ipaddress, multiprocessing, os.path, queue, signal
import threading, typing
-from . import cli, consts, datetime, decorators, irc, http, parse, security
+from . import cli, consts, datetime, decorators, io, irc, http, parse, security
from .decorators import export, hook, kwarg, spec
from .settings import (BoolSetting, FunctionSetting, IntRangeSetting,
diff --git a/src/utils/io.py b/src/utils/io.py
new file mode 100644
index 00000000..ff565849
--- /dev/null
+++ b/src/utils/io.py
@@ -0,0 +1,4 @@
+import io
+
+def open(path: str, mode: str):
+ return io.open(path, mode=mode, encoding="utf8")
diff --git a/src/utils/parse/__init__.py b/src/utils/parse/__init__.py
index 28f074c2..262edf4a 100644
--- a/src/utils/parse/__init__.py
+++ b/src/utils/parse/__init__.py
@@ -1,5 +1,5 @@
-import decimal, io, re, typing
-from src.utils import datetime, errors
+import decimal, re, typing
+from src.utils import datetime, errors, io
from .spec import *
from .time import duration
@@ -10,7 +10,7 @@ COMMENT_TYPES = ["#", "//"]
def hashflags(filename: str
) -> typing.List[typing.Tuple[str, typing.Optional[str]]]:
hashflags = [] # type: typing.List[typing.Tuple[str, typing.Optional[str]]]
- with io.open(filename, mode="r", encoding="utf8") as f:
+ with io.open(filename, "r") as f:
for line in f:
line = line.strip("\n")
found = False