theenglishway (time) пре 7 година
родитељ
комит
de569df525
2 измењених фајлова са 21 додато и 6 уклоњено
  1. 13 6
      twhatter/cli.py
  2. 8 0
      twhatter/parser/tweet.py

+ 13 - 6
twhatter/cli.py

@@ -8,23 +8,30 @@ from twhatter.api import ApiUser
 
 
 @click.group()
-def main():
-    pass
+@click.option('-l', '--limit', type=int, default=100, show_default=True)
+@click.pass_context
+def main(ctx, limit):
+    ctx.ensure_object(dict)
+
+    ctx.obj['limit'] = limit
 
 
 @main.command()
-@click.option('-l', '--limit', type=int, default=100, show_default=True)
 @click.argument('user')
-def own(user, limit):
+@click.pass_context
+def own(ctx, user):
     """Get some user's Tweets"""
     a = ApiUser(user)
 
     for n, t in enumerate(a.iter_tweets()):
-        if n >= limit:
+        if n >= ctx.obj['limit']:
+            break
+
+        click.echo(t)
             break
 
         click.echo(t)
 
 
 if __name__ == "__main__":
-    main()
+    main(obj={})

+ 8 - 0
twhatter/parser/tweet.py

@@ -49,6 +49,14 @@ class TweetBase:
     def __post_init__(self, soup: BeautifulSoup):
         self.soup = soup
 
+    def __repr__(self):
+        return ("<{0} "
+                "(id={1.id}, "
+                "date={1.timestamp}, "
+                "likes={1.likes_nb}, "
+                "likes={1.retweets_nb}, "
+                "likes={1.comments_nb})>".format(self.__class__.__qualname__, self))
+
     @staticmethod
     def condition(kwargs: dict) -> bool:
         raise NotImplementedError()