async def get_post(self, subreddit: Subreddit, search_query: str):
        search, limit, sort, syntax, time = self.parse_query(search_query)
        limit = int(limit) if limit else None
        result = []

        if search != '':
            async for submission in subreddit.search(
                    query=search,
                    sort=sort if sort else 'relevance',
                    syntax=syntax if syntax else 'lucene',
                    time_filter=time if time else 'all',
                    limit=limit if limit else 100):

                result.append(submission)
        else:
            if sort == 'hot':
                result = [
                    submission async for submission in subreddit.hot(
                        limit=limit if limit else 100)
                ]
            elif sort == 'new':
                result = [
                    submission async for submission in subreddit.new(
                        limit=limit if limit else 100)
                ]
            elif sort == 'top':
                result = [
                    submission async for submission in subreddit.top(
                        limit=limit if limit else 100)
                ]
            else:
                result = [
                    submission async for submission in subreddit.random_rising(
                        limit=limit if limit else 100)
                ]

        return result
Example #2
0
 async def test_search__params_not_modified(self):
     params = {"dummy": "value"}
     subreddit = Subreddit(self.reddit, display_name="name")
     generator = subreddit.search(None, params=params)
     assert generator.params["dummy"] == "value"
     assert params == {"dummy": "value"}