import argparse
import logging
import os
import sys
import time
from steam_review_scraper import steam, common, db_common
def main():
# Try to open settings to verify they are valid json.
common.get_settings()
db_common.create_database()
apps = common.get_settings().get_tracked_apps()
appids = [app.appid for app in apps]
compare_time = int(time.time())
logging.info("Parsing reviews for: {0}".format(appids))
for appid in appids:
steam.parse_reviews_for_app(appid)
steam.remove_deleted_reviews(appid, compare_time)
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="""
Retrieves and parses Steam reviews for the tracked games set in the settings file.
Can put the parsed data in the DB or in a .csv file"""
)
parser.add_argument(
"-s",
"--silent",
action="store_true",
help="If set, only errors will be printed during the retrieve and parse process"
)
options = parser.parse_args()
log_level = "INFO"
if options.silent:
log_level = "ERROR"
common.init_logging("steam-review-scraper.log", log_level)
if not os.path.exists("output"):
os.makedirs("output")
start_time = time.time()
main()
logging.info("Done, total time elapsed: {0}".format(
common.pretty_time(time.time() - start_time)))