changing log level

This commit is contained in:
mcinj 2022-05-13 22:33:10 -04:00
parent f3ddfc8297
commit 6a1c7a36d8
5 changed files with 37 additions and 30 deletions

View file

@ -3,7 +3,6 @@ FROM python:3.9-alpine
RUN mkdir -p /app RUN mkdir -p /app
WORKDIR /app WORKDIR /app
# resolves gcc issue with installing regex dependency
RUN apk add tzdata --no-cache RUN apk add tzdata --no-cache
ENV TZ=America/New_York ENV TZ=America/New_York

View file

@ -92,10 +92,9 @@ class SteamGifts:
number_won = soup.select_one("a[title='Giveaways Won'] div").text number_won = soup.select_one("a[title='Giveaways Won'] div").text
won_notifications = TableNotification.get_won_notifications_today() won_notifications = TableNotification.get_won_notifications_today()
if won_notifications and len(won_notifications) >= 1: if won_notifications and len(won_notifications) >= 1:
logger.debug("Win(s) detected, but we have already notified that there are won games waiting " logger.info("Win(s) detected, but we have already notified that there are won games waiting "
"to be received. Doing nothing.") "to be received. Doing nothing.")
else: else:
logger.debug("Win(s) detected. Going to send a notification.")
logger.info(f"WINNER! You have {number_won} game(s) waiting to be claimed.") logger.info(f"WINNER! You have {number_won} game(s) waiting to be claimed.")
self.notification.send_won(f"WINNER! You have {number_won} game(s) waiting to be claimed.") self.notification.send_won(f"WINNER! You have {number_won} game(s) waiting to be claimed.")
else: else:
@ -106,39 +105,36 @@ class SteamGifts:
return False return False
if giveaway.time_created_in_minutes is None: if giveaway.time_created_in_minutes is None:
return False return False
txt = f"{giveaway.game_name} - {giveaway.cost}P - {giveaway.game_entries} entries (w/ {giveaway.copies} " \
f"copies) - Created {giveaway.time_created_string} ago with {giveaway.time_remaining_string} remaining."
logger.debug(txt)
if self.blacklist is not None and self.blacklist != ['']: if self.blacklist is not None and self.blacklist != ['']:
for keyword in self.blacklist: for keyword in self.blacklist:
if giveaway.game_name.lower().find(keyword.lower()) != -1: if giveaway.game_name.lower().find(keyword.lower()) != -1:
txt = f"Game {giveaway.game_name} contains the blacklisted keyword {keyword}" txt = f"Game {giveaway.game_name} contains the blacklisted keyword {keyword}"
logger.debug(txt) logger.info(txt)
return False return False
if giveaway.contributor_level is None or self.contributor_level < giveaway.contributor_level: if giveaway.contributor_level is None or self.contributor_level < giveaway.contributor_level:
txt = f"Game {giveaway.game_name} requires at least level {giveaway.contributor_level} contributor level " \ txt = f"Game {giveaway.game_name} requires at least level {giveaway.contributor_level} contributor level " \
f"to enter. Your level: {self.contributor_level}" f"to enter. Your level: {self.contributor_level}"
logger.debug(txt) logger.info(txt)
return False return False
if self.points - int(giveaway.cost) < 0: if self.points - int(giveaway.cost) < 0:
txt = f"⛔ Not enough points to enter: {giveaway.game_name}" txt = f"⛔ Not enough points to enter: {giveaway.game_name}"
logger.debug(txt) logger.info(txt)
return False return False
if giveaway.cost < self.minimum_game_points: if giveaway.cost < self.minimum_game_points:
txt = f"Game {giveaway.game_name} costs {giveaway.cost}P and is below your cutoff of " \ txt = f"Game {giveaway.game_name} costs {giveaway.cost}P and is below your cutoff of " \
f"{self.minimum_game_points}P." f"{self.minimum_game_points}P."
logger.debug(txt) logger.info(txt)
return False return False
if giveaway.time_remaining_in_minutes > self.max_time_left: if giveaway.time_remaining_in_minutes > self.max_time_left:
txt = f"Game {giveaway.game_name} has {giveaway.time_remaining_in_minutes} minutes left and is " \ txt = f"Game {giveaway.game_name} has {giveaway.time_remaining_in_minutes} minutes left and is " \
f"above your cutoff of {self.max_time_left} minutes." f"above your cutoff of {self.max_time_left} minutes."
logger.debug(txt) logger.info(txt)
return False return False
if giveaway.game_entries / giveaway.copies > self.max_entries: if giveaway.game_entries / giveaway.copies > self.max_entries:
txt = f"Game {giveaway.game_name} has {giveaway.game_entries} entries and is above your cutoff " \ txt = f"Game {giveaway.game_name} has {giveaway.game_entries} entries and is above your cutoff " \
f"of {self.max_entries} entries." f"of {self.max_entries} entries."
logger.debug(txt) logger.info(txt)
return False return False
return True return True
@ -148,15 +144,16 @@ class SteamGifts:
'User-Agent': self.user_agent 'User-Agent': self.user_agent
} }
payload = {'xsrf_token': self.xsrf_token, 'do': 'entry_insert', 'code': giveaway.giveaway_game_id} payload = {'xsrf_token': self.xsrf_token, 'do': 'entry_insert', 'code': giveaway.giveaway_game_id}
logger.debug(f"Sending enter giveaway payload: {payload}")
entry = requests.post('https://www.steamgifts.com/ajax.php', data=payload, cookies=self.cookie, entry = requests.post('https://www.steamgifts.com/ajax.php', data=payload, cookies=self.cookie,
headers=headers) headers=headers)
json_data = json.loads(entry.text) json_data = json.loads(entry.text)
if json_data['type'] == 'success': if json_data['type'] == 'success':
logger.debug(f"Successfully entered giveaway {giveaway.giveaway_game_id}") logger.debug(f"Successfully entered giveaway {giveaway.giveaway_game_id}: {json_data}")
return True return True
else: else:
logger.error(f"Failed entering giveaway {giveaway.giveaway_game_id}") logger.error(f"Failed entering giveaway {giveaway.giveaway_game_id}: {json_data}")
return False return False
def evaluate_giveaways(self, page=1): def evaluate_giveaways(self, page=1):
@ -185,7 +182,11 @@ class SteamGifts:
for item in unentered_game_list: for item in unentered_game_list:
giveaway = Giveaway(item) giveaway = Giveaway(item)
txt = f"{giveaway.game_name} - {giveaway.cost}P - {giveaway.game_entries} entries (w/ {giveaway.copies} " \
f"copies) - Created {giveaway.time_created_string} ago with {giveaway.time_remaining_string} remaining."
logger.info(txt)
if giveaway.pinned and not self.pinned: if giveaway.pinned and not self.pinned:
logger.info(f"Giveaway {giveaway.game_name} is pinned. Ignoring.")
continue continue
if self.points == 0 or self.points < self.min_points: if self.points == 0 or self.points < self.min_points:

View file

@ -47,6 +47,7 @@ class Giveaway:
self.time_created_timestamp = int(times[1]['data-timestamp']) self.time_created_timestamp = int(times[1]['data-timestamp'])
self.time_created_string = times[1].text self.time_created_string = times[1].text
self.time_created_in_minutes = self.determine_time_in_minutes(times[1]['data-timestamp']) self.time_created_in_minutes = self.determine_time_in_minutes(times[1]['data-timestamp'])
logger.debug(f"Scraped Giveaway: {self}")
def determine_contributor_level(self, contributor_level): def determine_contributor_level(self, contributor_level):
if contributor_level is None: if contributor_level is None:
@ -104,3 +105,6 @@ class Giveaway:
txt = f"Unable to determine cost or num copies of {game_name} with id {game_id}." txt = f"Unable to determine cost or num copies of {game_name} with id {game_id}."
logger.error(txt) logger.error(txt)
return None, None return None, None
def __str__(self):
return str(self.__class__) + ": " + str(self.__dict__)

View file

@ -14,7 +14,7 @@ console_output.setLevel(logging.INFO)
console_format = logging.Formatter(log_format) console_format = logging.Formatter(log_format)
console_output.setFormatter(console_format) console_output.setFormatter(console_format)
info_log_file = RotatingFileHandler('../config/info.log', maxBytes=500000, backupCount=10) info_log_file = RotatingFileHandler('../config/info.log', maxBytes=10000, backupCount=10)
info_log_file.setLevel(logging.INFO) info_log_file.setLevel(logging.INFO)
info_log_format = logging.Formatter(log_format) info_log_format = logging.Formatter(log_format)
info_log_file.setFormatter(info_log_format) info_log_file.setFormatter(info_log_format)
@ -22,19 +22,6 @@ info_log_file.setFormatter(info_log_format)
logging.root.addHandler(console_output) logging.root.addHandler(console_output)
logging.root.addHandler(info_log_file) logging.root.addHandler(info_log_file)
logging.info("""
-------------------------------------------------------------------------------------
_____ _ _ __ _ ____ _
/ ____|| | (_) / _|| | | _ \ | |
| (___ | |_ ___ __ _ _ __ ___ __ _ _ | |_ | |_ ___ | |_) | ___ | |_
\___ \ | __|/ _ \ / _` || '_ ` _ \ / _` || || _|| __|/ __| | _ < / _ \ | __|
____) || |_| __/| (_| || | | | | || (_| || || | | |_ \__ \ | |_) || (_) || |_
|_____/ \__|\___| \__,_||_| |_| |_| \__, ||_||_| \__||___/ |____/ \___/ \__|
__/ |
|___/
-------------------------------------------------------------------------------------
""")
def get_logger(name): def get_logger(name):
l = logging.getLogger(name) l = logging.getLogger(name)

View file

@ -14,6 +14,10 @@ logger = log.get_logger(__name__)
class WebServerThread(threading.Thread): class WebServerThread(threading.Thread):
def __init__(self):
Thread.__init__(self)
self.exc = None
def run_webserver(self): def run_webserver(self):
from flask import Flask from flask import Flask
from flask import render_template from flask import render_template
@ -33,7 +37,7 @@ class WebServerThread(threading.Thread):
@app.route("/stream") @app.route("/stream")
def stream(): def stream():
def generate(): def generate():
with open('../config/debug.log') as f: with open('../config/info.log') as f:
while True: while True:
yield f.read() yield f.read()
sleep(10) sleep(10)
@ -166,4 +170,16 @@ def run():
if __name__ == '__main__': if __name__ == '__main__':
logger.info("""
-------------------------------------------------------------------------------------
_____ _ _ __ _ ____ _
/ ____|| | (_) / _|| | | _ \ | |
| (___ | |_ ___ __ _ _ __ ___ __ _ _ | |_ | |_ ___ | |_) | ___ | |_
\___ \ | __|/ _ \ / _` || '_ ` _ \ / _` || || _|| __|/ __| | _ < / _ \ | __|
____) || |_| __/| (_| || | | | | || (_| || || | | |_ \__ \ | |_) || (_) || |_
|_____/ \__|\___| \__,_||_| |_| |_| \__, ||_||_| \__||___/ |____/ \___/ \__|
__/ |
|___/
-------------------------------------------------------------------------------------
""")
run() run()