Add an additional CALL logging level

This commit is contained in:
DevilXD committed 2022-12-13 22:40:30 +01:00
1 parent 91917c2e6d
commit b6bc2e11cf
3 files changed
+33 -26

No files matched your search

+3 -2
View File
@@ -29,7 +29,7 @@ if __name__ == "__main__":
from utils import resource_path from utils import resource_path
from version import __version__ from version import __version__
from exceptions import CaptchaRequired 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): class Parser(argparse.ArgumentParser):
def __init__(self, *args, **kwargs) -> None: def __init__(self, *args, **kwargs) -> None:
@@ -61,7 +61,8 @@ if __name__ == "__main__":
0: logging.ERROR, 0: logging.ERROR,
1: logging.WARNING, 1: logging.WARNING,
2: logging.INFO, 2: logging.INFO,
3: logging.DEBUG, 3: CALL,
4: logging.DEBUG,
}[min(self._verbose, 3)] }[min(self._verbose, 3)]
@property @property
+1 -1
View File
@@ -7,7 +7,7 @@ Available command line arguments:
• --tray • --tray
Start application as minimised into tray. Start application as minimised into tray.
• -v • -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. increasingly more information during application runtime.
• --log • --log
Enables logging of runtime information into a 'log.txt' file. Verbosity level of this logging Enables logging of runtime information into a 'log.txt' file. Verbosity level of this logging
+29 -23
View File
@@ -1157,30 +1157,9 @@ class Twitch:
NOTE: 'stream_before' gets dealocated once this function finishes. NOTE: 'stream_before' gets dealocated once this function finishes.
""" """
if stream_before is None and stream_after is not None: if stream_before is None:
if stream_after is not None:
# Channel going ONLINE # 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)
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
else:
# Channel was OFFLINE and stays that way
# Nothing to do here for now
return
if ( if (
self.can_watch(channel) # we can watch the channel self.can_watch(channel) # we can watch the channel
and self.should_switch(channel) # and we should! and self.should_switch(channel) # and we should!
@@ -1190,6 +1169,33 @@ class Twitch:
self.gui.status.update( self.gui.status.update(
_("gui", "status", "watching").format(channel=channel.name) _("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
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() channel.display()
@task_wrapper @task_wrapper