run.py 957 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. """ Run reddrip.
  2. """
  3. import logging
  4. import redis
  5. from reddrip.commands import Command
  6. from reddrip.util.config import Configuration
  7. from reddrip.ripper import Ripper
  8. log = logging.getLogger(__name__)
  9. class RunCommand(Command):
  10. """ Main command, used to run reddrip.
  11. """
  12. help = "Reddrip runner."
  13. @classmethod
  14. def setup_parser(cls, parser):
  15. parser.add_argument(
  16. "--config", "-c", help="configuration file", required=True
  17. )
  18. def execute(self, options):
  19. log.info("Starting reddrip")
  20. conf = Configuration(options.config)
  21. redis_conn = redis.StrictRedis(
  22. host=conf.glob["redis.host"],
  23. port=int(conf.glob["redis.port"]),
  24. db=conf.glob["redis.db"],
  25. )
  26. rip = Ripper(redis_conn, conf.glob["outdir"])
  27. # Main runner.
  28. while True:
  29. for subreddit in conf.subreddits():
  30. rip.process(subreddit)