From 175c0a285c0eba508fd4b93b3d858e73985339e6 Mon Sep 17 00:00:00 2001 From: jesopo Date: Mon, 24 Feb 2020 15:24:39 +0000 Subject: open possibly-utf8 files with forced utf8 --- src/utils/__init__.py | 2 +- src/utils/io.py | 4 ++++ src/utils/parse/__init__.py | 6 +++--- 3 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 src/utils/io.py (limited to 'src/utils') 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 -- cgit v1.3.1-10-gc9f91