aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/vk/tracking
diff options
context:
space:
mode:
Diffstat (limited to 'vk/tracking')
-rw-r--r--vk/tracking/db/backend/log.py30
-rw-r--r--vk/tracking/db/format.py2
-rw-r--r--vk/tracking/db/timestamp.py2
-rw-r--r--vk/tracking/sessions.py25
-rw-r--r--vk/tracking/status.py6
5 files changed, 33 insertions, 32 deletions
diff --git a/vk/tracking/db/backend/log.py b/vk/tracking/db/backend/log.py
index dc13a92..0cc8a63 100644
--- a/vk/tracking/db/backend/log.py
+++ b/vk/tracking/db/backend/log.py
@@ -72,36 +72,36 @@ class Writer(meta.Writer):
@staticmethod
def _format_user(user):
if user.has_last_name():
- return '{} {}'.format(user.get_first_name(), user.get_last_name())
- return '{}'.format(user.get_first_name())
+ return f'{user.get_first_name()} {user.get_last_name()}'
+ return f'{user.get_first_name()}'
@staticmethod
def _format_user_is_online(user):
- return '{} is ONLINE.'.format(Writer._format_user(user))
+ user = Writer._format_user(user)
+ return f'{user} is ONLINE.'
@staticmethod
def _format_user_is_offline(user):
- return '{} is OFFLINE.'.format(Writer._format_user(user))
+ user = Writer._format_user(user)
+ return f'{user} is OFFLINE.'
@staticmethod
def _format_user_last_seen(user):
- return '{} was last seen at {} using {}.'.format(
- Writer._format_user(user),
- user.get_last_seen_time_local(),
- user.get_last_seen_platform().get_descr_text(),
- )
+ last_seen = user.get_last_seen_time_local()
+ platform = user.get_last_seen_platform().get_descr_text()
+ user = Writer._format_user(user)
+ return f'{user} was last seen at {last_seen} using {platform}.'
@staticmethod
def _format_user_went_online(user):
- return '{} went ONLINE.'.format(Writer._format_user(user))
+ user = Writer._format_user(user)
+ return f'{user} went ONLINE.'
@staticmethod
def _format_user_went_offline(user):
- return '{} went OFFLINE.'.format(Writer._format_user(user))
+ user = Writer._format_user(user)
+ return f'{user} went OFFLINE.'
@staticmethod
def _format_another_connection_error(e):
- return (
- 'Encountered a connection error which looks like the previous one: '
- + str(e)
- )
+ return f'Encountered a connection error which looks like the previous one: {e}'
diff --git a/vk/tracking/db/format.py b/vk/tracking/db/format.py
index 53762b3..5c88cb7 100644
--- a/vk/tracking/db/format.py
+++ b/vk/tracking/db/format.py
@@ -26,7 +26,7 @@ class Format(Enum):
return backend.log.Writer(fd)
if self is Format.NULL:
return backend.null.Writer()
- raise NotImplementedError('unsupported database format: ' + str(self))
+ raise NotImplementedError(f'unsupported database format: {self}')
def open_output_file(self, path=None):
if self is Format.CSV:
diff --git a/vk/tracking/db/timestamp.py b/vk/tracking/db/timestamp.py
index 2f26445..4a3892f 100644
--- a/vk/tracking/db/timestamp.py
+++ b/vk/tracking/db/timestamp.py
@@ -33,4 +33,4 @@ class Timestamp:
return Timestamp(datetime.strptime(s, '%Y-%m-%dT%H:%M:%SZ'))
def __str__(self):
- return self.dt.isoformat() + 'Z'
+ return f'{self.dt.isoformat()}Z'
diff --git a/vk/tracking/sessions.py b/vk/tracking/sessions.py
index deb0be5..3386c7f 100644
--- a/vk/tracking/sessions.py
+++ b/vk/tracking/sessions.py
@@ -164,7 +164,7 @@ class GroupBy(Enum):
return online_streaks.group_by_weekday(db_reader)
if self is GroupBy.HOUR:
return online_streaks.group_by_hour(db_reader)
- raise NotImplementedError('unsupported grouping: ' + str(self))
+ raise NotImplementedError(f'unsupported grouping: {self}')
_OUTPUT_USER_FIELDS = (
@@ -213,7 +213,7 @@ class OutputSinkCSV(OutputSinkOnlineSessions):
@staticmethod
def _key_to_row(group_by, key):
if group_by not in OutputSinkCSV._CONVERT_KEY:
- raise NotImplementedError('unsupported grouping: ' + str(group_by))
+ raise NotImplementedError(f'unsupported grouping: {group_by}')
return OutputSinkCSV._CONVERT_KEY[group_by](key)
def process_database(self, group_by, db_reader, time_from=None, time_to=None):
@@ -276,7 +276,7 @@ class OutputSinkJSON(OutputSinkOnlineSessions):
@staticmethod
def _key_to_object(group_by, key):
if group_by not in OutputSinkJSON._CONVERT_KEY:
- raise NotImplementedError('unsupported grouping: ' + str(group_by))
+ raise NotImplementedError(f'unsupported grouping: {group_by}')
return OutputSinkJSON._CONVERT_KEY[group_by](key)
def process_database(self, group_by, db_reader, time_from=None, time_to=None):
@@ -291,7 +291,7 @@ class OutputSinkJSON(OutputSinkOnlineSessions):
class OutputConverterPlot:
@staticmethod
def convert_user(user):
- return '{}\n{}'.format(user.get_first_name(), user.get_last_name())
+ return f'{user.get_first_name()}\n{user.get_last_name()}'
@staticmethod
def convert_date(date):
@@ -303,7 +303,7 @@ class OutputConverterPlot:
@staticmethod
def convert_hour(hour):
- return '{}:00'.format(hour)
+ return f'{hour}:00'
class OutputSinkPlot(OutputSinkOnlineSessions):
@@ -322,7 +322,7 @@ class OutputSinkPlot(OutputSinkOnlineSessions):
@staticmethod
def _format_key(group_by, key):
if group_by not in OutputSinkPlot._FORMAT_KEY:
- raise NotImplementedError('unsupported grouping: ' + str(group_by))
+ raise NotImplementedError(f'unsupported grouping: {group_by}')
return OutputSinkPlot._FORMAT_KEY[group_by](key)
@staticmethod
@@ -390,7 +390,7 @@ class OutputFormat(Enum):
return OutputSinkJSON(fd)
if self is OutputFormat.PLOT:
return OutputSinkPlot(fd)
- raise NotImplementedError('unsupported output format: ' + str(self))
+ raise NotImplementedError(f'unsupported output format: {self}')
def open_file(self, path=None):
if self is OutputFormat.PLOT:
@@ -402,21 +402,21 @@ def _parse_group_by(s):
try:
return GroupBy(s)
except ValueError:
- raise argparse.ArgumentTypeError('invalid "group by" value: ' + s)
+ raise argparse.ArgumentTypeError(f'invalid "group by" value: {s}')
def _parse_database_format(s):
try:
return DatabaseFormat(s)
except ValueError:
- raise argparse.ArgumentTypeError('invalid database format: ' + s)
+ raise argparse.ArgumentTypeError(f'invalid database format: {s}')
def _parse_output_format(s):
try:
return OutputFormat(s)
except ValueError:
- raise argparse.ArgumentTypeError('invalid output format: ' + s)
+ raise argparse.ArgumentTypeError(f'invalid output format: {s}')
_DATE_RANGE_LIMIT_FORMAT = '%Y-%m-%dT%H:%M:%SZ'
@@ -427,8 +427,9 @@ def _parse_date_range_limit(s):
dt = datetime.strptime(s, _DATE_RANGE_LIMIT_FORMAT)
return dt.replace(tzinfo=timezone.utc)
except ValueError:
- msg = 'invalid date range limit (must be in the \'{}\' format): {}'
- raise argparse.ArgumentTypeError(msg.format(_DATE_RANGE_LIMIT_FORMAT, s))
+ raise argparse.ArgumentTypeError(
+ f"invalid date range limit (must be in the '{_DATE_RANGE_LIMIT_FORMAT}' format): {s}"
+ )
def _parse_args(args=None):
diff --git a/vk/tracking/status.py b/vk/tracking/status.py
index 8902003..7ef8e7c 100644
--- a/vk/tracking/status.py
+++ b/vk/tracking/status.py
@@ -155,9 +155,9 @@ def _parse_positive_integer(s):
try:
n = int(s)
except ValueError:
- raise argparse.ArgumentTypeError('must be a positive integer: ' + s)
+ raise argparse.ArgumentTypeError(f'must be a positive integer: {s}')
if n < 1:
- raise argparse.ArgumentTypeError('must be a positive integer: ' + s)
+ raise argparse.ArgumentTypeError(f'must be a positive integer: {s}')
return n
@@ -165,7 +165,7 @@ def _parse_database_format(s):
try:
return DatabaseFormat(s)
except ValueError:
- raise argparse.ArgumentTypeError('invalid database format: ' + s)
+ raise argparse.ArgumentTypeError(f'invalid database format: {s}')
def _parse_args(args=None):