Add an additional CALL logging level

This commit is contained in:
DevilXD
2022-12-13 22:40:30 +01:00
parent 91917c2e6d
commit b6bc2e11cf
3 changed files with 41 additions and 34 deletions

View File

@@ -29,7 +29,7 @@ if __name__ == "__main__":
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:
@@ -61,7 +61,8 @@ if __name__ == "__main__":
0: logging.ERROR,
1: logging.WARNING,
2: logging.INFO,
3: logging.DEBUG,
3: CALL,
4: logging.DEBUG,
}[min(self._verbose, 3)]
@property

View File

@@ -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

View File

@@ -1157,39 +1157,45 @@ class Twitch:
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
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))
self.change_state(State.CHANNEL_SWITCH)
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:
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
# Channel was OFFLINE and stays that way
# Nothing to do here for now
return
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)
)
watching_channel = self.watching_channel.get_with_default(None)
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)
elif stream_after is None:
logger.info(f"{channel.name} goes OFFLINE")
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