diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2017-01-28 03:19:25 +0300 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2017-01-28 03:19:25 +0300 |
commit | e49227975fd10e9f130f46116f905351c17167c4 (patch) | |
tree | c2b5f75a5e6a7ec5dbf4eaf080f46a96e3e29ac0 | |
parent | add abstract classes for db readers/writers (diff) | |
download | vk-scripts-e49227975fd10e9f130f46116f905351c17167c4.tar.gz vk-scripts-e49227975fd10e9f130f46116f905351c17167c4.zip |
refactoring
-rw-r--r-- | bin/mutual_friends.py | 6 | ||||
-rw-r--r-- | bin/online_sessions.py | 8 | ||||
-rw-r--r-- | bin/utils/output.py | 16 | ||||
-rw-r--r-- | vk/tracking/db/backend/csv.py | 6 | ||||
-rw-r--r-- | vk/tracking/db/io.py | 4 |
5 files changed, 20 insertions, 20 deletions
diff --git a/bin/mutual_friends.py b/bin/mutual_friends.py index 3b0576f..1d231b0 100644 --- a/bin/mutual_friends.py +++ b/bin/mutual_friends.py @@ -32,7 +32,7 @@ class OutputSinkMutualFriends(metaclass=abc.ABCMeta): class OutputSinkCSV(OutputSinkMutualFriends): def __init__(self, fd=sys.stdout): - self._writer = output.OutputWriterCSV(fd) + self._writer = output.FileWriterCSV(fd) def write_mutual_friends(self, friend_list): for user in friend_list: @@ -40,7 +40,7 @@ class OutputSinkCSV(OutputSinkMutualFriends): class OutputSinkJSON(OutputSinkMutualFriends): def __init__(self, fd=sys.stdout): - self._writer = output.OutputWriterJSON(fd) + self._writer = output.FileWriterJSON(fd) def write_mutual_friends(self, friend_list): self._writer.write(friend_list) @@ -54,7 +54,7 @@ class OutputFormat(Enum): @staticmethod def open_file(path=None): - return output.open_text_file(path) + return output.open_output_text_file(path) def create_sink(self, fd=sys.stdout): if self is OutputFormat.CSV: diff --git a/bin/online_sessions.py b/bin/online_sessions.py index be3a4f2..f5707c0 100644 --- a/bin/online_sessions.py +++ b/bin/online_sessions.py @@ -70,7 +70,7 @@ class OutputConverterCSV: class OutputSinkCSV(OutputSinkOnlineSessions): def __init__(self, fd=sys.stdout): - self._writer = output.OutputWriterCSV(fd) + self._writer = output.FileWriterCSV(fd) _CONVERT_KEY = { GroupBy.USER: OutputConverterCSV.convert_user, @@ -127,7 +127,7 @@ class OutputConverterJSON: class OutputSinkJSON(OutputSinkOnlineSessions): def __init__(self, fd=sys.stdout): - self._writer = output.OutputWriterJSON(fd) + self._writer = output.FileWriterJSON(fd) _DURATION_FIELD = 'duration' @@ -257,9 +257,9 @@ class OutputFormat(Enum): def open_file(self, path=None): if self is OutputFormat.PLOT: - return output.open_binary_file(path) + return output.open_output_binary_file(path) else: - return output.open_text_file(path) + return output.open_output_text_file(path) def _parse_group_by(s): try: diff --git a/bin/utils/output.py b/bin/utils/output.py index 8954c8b..70c1a3a 100644 --- a/bin/utils/output.py +++ b/bin/utils/output.py @@ -8,7 +8,7 @@ import csv import json import sys -class OutputWriterJSON: +class FileWriterJSON: def __init__(self, fd=sys.stdout): self._fd = fd @@ -16,7 +16,7 @@ class OutputWriterJSON: self._fd.write(json.dumps(something, indent=3, ensure_ascii=False)) self._fd.write('\n') -class OutputWriterCSV: +class FileWriterCSV: def __init__(self, fd=sys.stdout): self._writer = csv.writer(fd, lineterminator='\n') @@ -24,8 +24,8 @@ class OutputWriterCSV: self._writer.writerow(row) @contextmanager -def _open_file(path=None, **kwargs): - fd = sys.stdout +def _open_file(path=None, default=None, **kwargs): + fd = default if path is None: pass else: @@ -36,8 +36,8 @@ def _open_file(path=None, **kwargs): if fd is not sys.stdout: fd.close() -def open_text_file(path=None): - return _open_file(path, mode='w', encoding='utf-8') +def open_output_text_file(path=None): + return _open_file(path, default=sys.stdout, mode='w', encoding='utf-8') -def open_binary_file(path=None): - return _open_file(path, mode='wb') +def open_output_binary_file(path=None): + return _open_file(path, default=sys.stdout, mode='wb') diff --git a/vk/tracking/db/backend/csv.py b/vk/tracking/db/backend/csv.py index 6176018..4943ff2 100644 --- a/vk/tracking/db/backend/csv.py +++ b/vk/tracking/db/backend/csv.py @@ -4,13 +4,13 @@ # Distributed under the MIT License. from .. import meta -from ..io import InputReaderCSV, OutputWriterCSV +from ..io import FileReaderCSV, FileWriterCSV from ..record import Record from ..timestamp import Timestamp class Writer(meta.Writer): def __init__(self, fd): - self._writer = OutputWriterCSV(fd) + self._writer = FileWriterCSV(fd) def on_initial_status(self, user): self._write_record(user) @@ -32,7 +32,7 @@ class Writer(meta.Writer): class Reader(meta.Reader): def __init__(self, fd): - self._reader = InputReaderCSV(fd) + self._reader = FileReaderCSV(fd) def __iter__(self): return map(Reader._record_from_row, self._reader) diff --git a/vk/tracking/db/io.py b/vk/tracking/db/io.py index 04bab3d..805334d 100644 --- a/vk/tracking/db/io.py +++ b/vk/tracking/db/io.py @@ -7,7 +7,7 @@ from contextlib import contextmanager import csv import sys -class OutputWriterCSV: +class FileWriterCSV: def __init__(self, fd=sys.stdout): self._fd = fd self._writer = csv.writer(fd, lineterminator='\n') @@ -16,7 +16,7 @@ class OutputWriterCSV: self._writer.writerow(row) self._fd.flush() -class InputReaderCSV: +class FileReaderCSV: def __init__(self, fd=sys.stdin): self._reader = csv.reader(fd) |