Skip to content

Commit

Permalink
Code cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
PetterKraabol committed Jul 21, 2019
1 parent f8b55e4 commit 707ec6d
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 24 deletions.
20 changes: 10 additions & 10 deletions Pipfile.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,6 @@
test_suite='tests',
tests_require=test_requirements,
url='https://github.com/PetterKraabol/Twitch-Chat-Downloader',
version='3.1.1',
version='3.1.2',
zip_safe=True,
)
2 changes: 1 addition & 1 deletion tcd/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from .settings import Settings

__name__: str = 'tcd'
__version__: str = '3.1.1'
__version__: str = '3.1.2'
__all__: List[Callable] = [Arguments, Settings, Downloader, Logger, Log]


Expand Down
27 changes: 15 additions & 12 deletions tcd/pipe.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import hashlib
import string
from datetime import datetime, timedelta
from typing import List, Optional
from typing import List, Optional, Dict, Any

import dateutil.parser
from pytz import timezone
Expand All @@ -16,12 +16,12 @@ class Pipe:
format data into comment and output file strings
"""

def __init__(self, format_dictionary: dict):
def __init__(self, format_dictionary: Dict[str, Any]):
"""
Pipe
:param format_dictionary: Comment format
"""
self.format_dictionary: dict = format_dictionary
self.format_dictionary: Dict[str, Any] = format_dictionary
self.valid_directory_characters: str = f'-_.() {string.ascii_letters}{string.digits}'

# Combine regular format and action_format if provided.
Expand All @@ -31,7 +31,7 @@ def __init__(self, format_dictionary: dict):
if 'action_format' in self.format_dictionary:
self.combined_formats += self.format_dictionary['action_format']

def format(self, data: dict) -> str:
def format(self, data: Dict[str, Any]) -> str:
"""
Format comment
:param data: Input data
Expand All @@ -41,15 +41,15 @@ def format(self, data: dict) -> str:

return self.reduce(data)

def comment(self, comment_data: dict) -> str:
def comment(self, comment_data: Dict[str, Any]) -> str:
"""
Format comment data to string
:param comment_data: Comment data
:return: Formatted comment line
"""
return self.format(comment_data)

def output(self, video_data: dict) -> str:
def output(self, video_data: Dict[str, Any]) -> str:
"""
Format output path from data
:param video_data: Video data
Expand Down Expand Up @@ -106,14 +106,19 @@ def reduce(self, data: dict) -> str:
print('Invalid format in settings file:', self.format_dictionary['format'])
exit(1)

def mapper(self, data: dict) -> dict:
def mapper(self, data: Dict[str, Any]) -> Dict[str, Any]:
"""
Make custom changes to the input data according to the format dictionary
:param data: Input data
:return: Data (input data dict is mutated)
"""
self._map_timestamps(data)
self._map_user_colors(data)
self._map_user_badges(data)

# Timestamps
return data

def _map_timestamps(self, data: Dict[str, Any]):
if 'timestamp' in self.format_dictionary and '{timestamp' in self.combined_formats:

data['timestamp'] = {}
Expand Down Expand Up @@ -146,7 +151,7 @@ def mapper(self, data: dict) -> dict:
data['timestamp']['relative'] = self.timestamp_relative(
float(data['content_offset_seconds']))

# User colors
def _map_user_colors(self, data: Dict[str, Any]):
if 'message' in data:

# Set color
Expand Down Expand Up @@ -176,7 +181,7 @@ def mapper(self, data: dict) -> dict:
g=data['message']['user_color'][3:5],
r=data['message']['user_color'][1:3])

# User badges
def _map_user_badges(self, data: Dict[str, Any]):
# The Twitch API returns an array of badges, ordered by their importance (descending).
if '{commenter[badge]}' in self.combined_formats and 'message' in data:

Expand Down Expand Up @@ -218,5 +223,3 @@ def mapper(self, data: dict) -> dict:
if badge != '':
data['commenter']['badge'] = badge
break

return data

0 comments on commit 707ec6d

Please sign in to comment.