dumb.py 846 B

12345678910111213141516171819202122232425262728
  1. import logging
  2. from .base import StrategyBase
  3. from twhatter.parser import TweetBase, User
  4. logger = logging.getLogger(__name__)
  5. class StrategyDumb(StrategyBase):
  6. """This strategy only explores the initial node"""
  7. def __call__(self, output):
  8. super().__call__(output)
  9. output.start()
  10. objs = []
  11. for s in self.starting_node:
  12. logger.debug("Got new soup from {}".format(self.starting_node))
  13. for parser in self.parser_classes:
  14. logger.debug("Parsing new soup with {}".format(parser))
  15. for o in parser(s):
  16. objs.append(o)
  17. tweets = [t for t in objs if isinstance(t, TweetBase)]
  18. output.output_tweets(tweets)
  19. users = [u for u in objs if isinstance(u, User)]
  20. output.output_users(users)
  21. output.stop()