def main(): level = 0 # Read program arguments for arg in sys.argv[1:]: (param, value) = arg.split('=') if param == '--level': level = int(value) path = os.path.dirname(os.path.realpath(__file__)) loggingConf = open('{0}/configs/logging.yml'.format(path), 'r') logging.config.dictConfig(yaml.load(loggingConf)) loggingConf.close() logger = logging.getLogger(LOGGER) logger.info('Program started') config = configparser.ConfigParser() config.read('{0}/configs/bot.ini'.format(path)) username = config['Reddit']['username'] password = config['Reddit']['password'] user_agent = config['Reddit']['user-agent'] dry_run = config['Bot'].getboolean('dry-run') if dry_run: logger.info('Running in dry run mode. Nothing will be commited') reddit = Reddit(username, password, user_agent, dry_run) history = History('{0}/{1}'.format(path, DATABASE)) news = News() if level == 0: level = int(config['Bot']['level']) news_items = news.get_news_items(level) for item in news_items: url = item[0] title = item[1] degree = item[2] if not history.has_link_been_posted(url): history.add_link_as_posted(url, dry_run) if not reddit.post_link(get_redirect_url(url), title): continue break logger.info('Program done')