Re-implement --limit option
This commit is contained in:
@@ -76,6 +76,7 @@ def _add_options():
|
|||||||
parser.add_argument("--limit",
|
parser.add_argument("--limit",
|
||||||
help="default: unlimited",
|
help="default: unlimited",
|
||||||
metavar="Limit",
|
metavar="Limit",
|
||||||
|
default=None,
|
||||||
type=int)
|
type=int)
|
||||||
parser.add_argument("--time",
|
parser.add_argument("--time",
|
||||||
help="Either hour, day, week, month, year or all. default: all",
|
help="Either hour, day, week, month, year or all. default: all",
|
||||||
|
|||||||
@@ -104,18 +104,22 @@ class RedditDownloader:
|
|||||||
if self.args.search:
|
if self.args.search:
|
||||||
return [reddit.search(self.args.search, sort=self.sort_filter.name.lower()) for reddit in subreddits]
|
return [reddit.search(self.args.search, sort=self.sort_filter.name.lower()) for reddit in subreddits]
|
||||||
else:
|
else:
|
||||||
if self.sort_filter is RedditTypes.SortType.NEW:
|
sort_function = self._determine_sort_function()
|
||||||
sort_function = praw.models.Subreddit.new
|
return [sort_function(reddit, limit=self.args.limit) for reddit in subreddits]
|
||||||
elif self.sort_filter is RedditTypes.SortType.RISING:
|
|
||||||
sort_function = praw.models.Subreddit.rising
|
|
||||||
elif self.sort_filter is RedditTypes.SortType.CONTROVERSIAL:
|
|
||||||
sort_function = praw.models.Subreddit.controversial
|
|
||||||
else:
|
|
||||||
sort_function = praw.models.Subreddit.hot
|
|
||||||
return [sort_function(reddit) for reddit in subreddits]
|
|
||||||
else:
|
else:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
|
def _determine_sort_function(self):
|
||||||
|
if self.sort_filter is RedditTypes.SortType.NEW:
|
||||||
|
sort_function = praw.models.Subreddit.new
|
||||||
|
elif self.sort_filter is RedditTypes.SortType.RISING:
|
||||||
|
sort_function = praw.models.Subreddit.rising
|
||||||
|
elif self.sort_filter is RedditTypes.SortType.CONTROVERSIAL:
|
||||||
|
sort_function = praw.models.Subreddit.controversial
|
||||||
|
else:
|
||||||
|
sort_function = praw.models.Subreddit.hot
|
||||||
|
return sort_function
|
||||||
|
|
||||||
def _get_multireddits(self) -> list[praw.models.ListingGenerator]:
|
def _get_multireddits(self) -> list[praw.models.ListingGenerator]:
|
||||||
if self.args.multireddit:
|
if self.args.multireddit:
|
||||||
if self.authenticated:
|
if self.authenticated:
|
||||||
@@ -129,10 +133,14 @@ class RedditDownloader:
|
|||||||
if any((self.args.upvoted, self.args.submitted, self.args.saved)):
|
if any((self.args.upvoted, self.args.submitted, self.args.saved)):
|
||||||
if self.authenticated:
|
if self.authenticated:
|
||||||
generators = []
|
generators = []
|
||||||
|
sort_function = self._determine_sort_function()
|
||||||
if self.args.upvoted:
|
if self.args.upvoted:
|
||||||
generators.append(self.reddit_instance.redditor(self.args.user).upvoted)
|
generators.append(self.reddit_instance.redditor(self.args.user).upvoted)
|
||||||
if self.args.submitted:
|
if self.args.submitted:
|
||||||
generators.append(self.reddit_instance.redditor(self.args.user).submissions)
|
generators.append(
|
||||||
|
sort_function(
|
||||||
|
self.reddit_instance.redditor(self.args.user).submissions,
|
||||||
|
limit=self.args.limit))
|
||||||
if self.args.saved:
|
if self.args.saved:
|
||||||
generators.append(self.reddit_instance.redditor(self.args.user).saved)
|
generators.append(self.reddit_instance.redditor(self.args.user).saved)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user