From 7db7606da598e64b934a803c9da0be3516eedd69 Mon Sep 17 00:00:00 2001 From: tonyrewin Date: Tue, 6 Sep 2022 19:02:05 +0300 Subject: [PATCH] random samply sized --- resolvers/topics.py | 7 +++---- schema.graphql | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/resolvers/topics.py b/resolvers/topics.py index 6d6f18ce..aa3c3f77 100644 --- a/resolvers/topics.py +++ b/resolvers/topics.py @@ -7,7 +7,7 @@ from base.orm import local_session from base.resolvers import mutation, query from auth.authenticate import login_required from sqlalchemy import and_ -from numpy import random +import random @query.field("topicsAll") @@ -85,7 +85,7 @@ def topic_unfollow(user, slug): @query.field("topicsRandom") -async def topics_random(_, info): +async def topics_random(_, info, amount=12): topics = await TopicStorage.get_topics_all() normalized_topics = [] for topic in topics: @@ -93,5 +93,4 @@ async def topics_random(_, info): topic.stat = topic_stat if topic_stat["shouts"] > 2: normalized_topics.push(topic) - random.shuffle(normalized_topics) - return normalized_topics[0:12] + return random.sample(normalized_topics, k=amount) diff --git a/schema.graphql b/schema.graphql index 4529c478..6aad35c0 100644 --- a/schema.graphql +++ b/schema.graphql @@ -248,7 +248,7 @@ type Query { # topics topicsAll: [Topic]! - topicsRandom: [Topic]! + topicsRandom(amount: Int): [Topic]! topicsByCommunity(community: String!): [Topic]! topicsByAuthor(author: String!): [Topic]!