diff --git a/pokedex/db/load.py b/pokedex/db/load.py index f34ee46..35abed9 100644 --- a/pokedex/db/load.py +++ b/pokedex/db/load.py @@ -5,6 +5,7 @@ import csv import fnmatch import os.path import sys +from io import open import six import sqlalchemy.sql.util @@ -16,7 +17,6 @@ from pokedex.defaults import get_default_csv_dir from pokedex.db.dependencies import find_dependent_tables from pokedex.db.oracle import rewrite_long_table_names - def _get_table_names(metadata, patterns): """Returns a list of table names from the given metadata. If `patterns` exists, only tables matching one of the patterns will be returned. @@ -210,10 +210,7 @@ def load(session, tables=[], directory=None, drop_tables=False, verbose=False, s try: csvpath = "%s/%s.csv" % (directory, table_name) - if six.PY2: - csvfile = open(csvpath, 'r') - else: - csvfile = open(csvpath, 'r', encoding="utf8") + csvfile = open(csvpath, 'r', encoding='utf-8') except IOError: # File doesn't exist; don't load anything! print_done('missing?') @@ -419,7 +416,7 @@ def dump(session, tables=[], directory=None, verbose=False, langs=None): # CSV module only works with bytes on 2 and only works with text on 3! if six.PY3: - writer = csv.writer(open(filename, 'w', newline='', encoding="utf8"), lineterminator='\n') + writer = csv.writer(open(filename, 'w', newline='', encoding='utf-8'), lineterminator='\n') columns = [col.name for col in table.columns] else: writer = csv.writer(open(filename, 'wb'), lineterminator='\n') diff --git a/pokedex/db/translations.py b/pokedex/db/translations.py index 8f55473..472d417 100755 --- a/pokedex/db/translations.py +++ b/pokedex/db/translations.py @@ -25,10 +25,10 @@ from __future__ import print_function import binascii import csv -import io import os import re from collections import defaultdict +from io import open import six from six.moves import zip @@ -262,15 +262,11 @@ class Translations(object): def reader_for_class(self, cls, reader_class=csv.reader): tablename = cls.__table__.name csvpath = os.path.join(self.csv_directory, tablename + '.csv') - if six.PY2: - read = open(csvpath, 'r') - else: - read = open(csvpath, 'r', encoding='utf-8') - return reader_class(read, lineterminator='\n') + return reader_class(open(csvpath, 'r', encoding='utf-8'), lineterminator='\n') def writer_for_lang(self, lang): csvpath = os.path.join(self.translation_directory, '%s.csv' % lang) - return csv.writer(io.open(csvpath, 'w', newline='', encoding="utf8"), lineterminator='\n') + return csv.writer(open(csvpath, 'w', encoding='utf-8', newline=''), lineterminator='\n') def yield_source_messages(self, language_id=None): """Yield all messages from source CSV files @@ -311,10 +307,7 @@ class Translations(object): """ path = os.path.join(self.csv_directory, 'translations', '%s.csv' % lang) try: - if six.PY2: - file = open(path, 'r') - else: - file = open(path, 'r', encoding="utf8") + file = open(path, 'r', encoding='utf-8') except IOError: return () return yield_translation_csv_messages(file)