Skip to content

Commit

Permalink
Add an additional CALL logging level
Browse files Browse the repository at this point in the history
  • Loading branch information
DevilXD committed Dec 13, 2022
1 parent 91917c2 commit b6bc2e1
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 33 deletions.
5 changes: 3 additions & 2 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
from utils import resource_path
from version import __version__
from exceptions import CaptchaRequired
from constants import SELF_PATH, FILE_FORMATTER, LOG_PATH, WINDOW_TITLE
from constants import CALL, SELF_PATH, FILE_FORMATTER, LOG_PATH, WINDOW_TITLE

class Parser(argparse.ArgumentParser):
def __init__(self, *args, **kwargs) -> None:
Expand Down Expand Up @@ -61,7 +61,8 @@ def logging_level(self) -> int:
0: logging.ERROR,
1: logging.WARNING,
2: logging.INFO,
3: logging.DEBUG,
3: CALL,
4: logging.DEBUG,
}[min(self._verbose, 3)]

@property
Expand Down
2 changes: 1 addition & 1 deletion manual.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Available command line arguments:
• --tray
Start application as minimised into tray.
• -v
Increase verbosity level. Can be stacked up to 3 times (-vv and -vvv) to show
Increase verbosity level. Can be stacked up several times (-vv, -vvv, etc.) to show
increasingly more information during application runtime.
• --log
Enables logging of runtime information into a 'log.txt' file. Verbosity level of this logging
Expand Down
66 changes: 36 additions & 30 deletions twitch.py
Original file line number Diff line number Diff line change
Expand Up @@ -1157,39 +1157,45 @@ def on_channel_update(
NOTE: 'stream_before' gets dealocated once this function finishes.
"""
if stream_before is None and stream_after is not None:
# Channel going ONLINE
logger.info(f"{channel.name} goes ONLINE")
# continue to below
elif stream_before is not None and stream_after is None:
# Channel going OFFLINE
# Change the channel if we're currently watching it
if stream_before is None:
if stream_after is not None:
# Channel going ONLINE
if (
self.can_watch(channel) # we can watch the channel
and self.should_switch(channel) # and we should!
):
self.watch(channel)
self.print(_("status", "goes_online").format(channel=channel.name))
self.gui.status.update(
_("gui", "status", "watching").format(channel=channel.name)
)
else:
logger.info(f"{channel.name} goes ONLINE")
else:
# Channel was OFFLINE and stays that way
# Nothing to do here for now
return
else:
watching_channel = self.watching_channel.get_with_default(None)
if watching_channel is not None and watching_channel == channel:
self.print(_("status", "goes_offline").format(channel=channel.name))
if (
watching_channel is not None
and watching_channel == channel
and not self.can_watch(channel)
):
if stream_after is None:
# Channel going OFFLINE
self.print(_("status", "goes_offline").format(channel=channel.name))
# if the channel stays online, we silently trigger a switch
self.change_state(State.CHANNEL_SWITCH)
else:
elif stream_after is None:
logger.info(f"{channel.name} goes OFFLINE")
channel.display()
return
elif stream_after is not None and stream_after is not None:
# Channel is and stays ONLINE, but has been updated
logger.info(f"{channel.name} status has been updated")
# continue to below
else:
# Channel was OFFLINE and stays that way
# Nothing to do here for now
return

if (
self.can_watch(channel) # we can watch the channel
and self.should_switch(channel) # and we should!
):
self.watch(channel)
self.print(_("status", "goes_online").format(channel=channel.name))
self.gui.status.update(
_("gui", "status", "watching").format(channel=channel.name)
)
else:
# Channel is and stays ONLINE, but has been updated
logger.info(
f"{channel.name} status has been updated "
f"(🎁: {stream_before.drops_enabled and '✔' or '❌'} -> "
f"{stream_after.drops_enabled and '✔' or '❌'})"
)
channel.display()

@task_wrapper
Expand Down

0 comments on commit b6bc2e1

Please sign in to comment.