Skip to content

Commit

Permalink
#1 patch after review
Browse files Browse the repository at this point in the history
  • Loading branch information
Deepanshu039 committed Aug 16, 2022
1 parent 106dd17 commit 4ff73e1
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 67 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class Command(BaseCommand):
help = 'Populate Badge table with initial badges'

def handle(self, *args, **kwargs):
if Badge.objects.all().count() < 1:
if Badge.objects.all().count() == 0:
with open("./zubhub/creators/management/commands/initial_badges.txt", "r") as badges:
badges = badges.readlines()
for badge in badges:
Expand Down
116 changes: 50 additions & 66 deletions zubhub_backend/zubhub/creators/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -459,89 +459,73 @@ def send_notification(users: List[Creator], source: Creator, contexts,
# user=user, email=email, primary=False, verified=False
# )

def set_badge_view_category(creator):
views_count= Project.objects.filter(creator= creator).aggregate(Sum(('views_count')))["views_count__sum"]

List = ["Getting Famous", "Person of Interest", "Popular Projects", "Idea Factory"]

creator.badges.remove(Badge.objects.get(badge_title = List[3]))
creator.badges.remove(Badge.objects.get(badge_title = List[2]))
creator.badges.remove(Badge.objects.get(badge_title = List[1]))
creator.badges.remove(Badge.objects.get(badge_title = List[0]))

if(views_count > 100000):
creator.badges.add(Badge.objects.get(badge_title = List[3]))
def remove_initial_titles(creator, titles):
for title in titles:
creator.badges.remove(Badge.objects.get(badge_title = title))

elif(views_count > 5000):
creator.badges.add(Badge.objects.get(badge_title = List[2]))
def add_titles(creator, count, dict):
for badge, value in dict.items():
if count > value:
creator.badges.add(Badge.objects.get(badge_title = badge))
break

elif(views_count > 100):
creator.badges.add(Badge.objects.get(badge_title = List[1]))

elif(views_count > 10):
creator.badges.add(Badge.objects.get(badge_title = List[0]))
def set_badge_view_category(creator):
views_count = (Project.objects.filter(creator= creator).aggregate(
Sum(('views_count')))["views_count__sum"])

badge_dict = {
"Idea Factory": 100000,
"Popular Projects": 5000,
"Person of Interest": 100,
"Getting Famous": 10
}

remove_initial_titles(creator, badge_dict.keys())
add_titles(creator, views_count, badge_dict)

def set_badge_like_category(creator):
likes_count= Project.objects.filter(creator= creator).aggregate(Sum(('likes_count')))["likes_count__sum"]
List= ["Interesting Projects", "Favourite Kid", "Captain Projects"]

creator.badges.remove(Badge.objects.get(badge_title = List[2]))
creator.badges.remove(Badge.objects.get(badge_title = List[1]))
creator.badges.remove(Badge.objects.get(badge_title = List[0]))

if(likes_count > 1000):
creator.badges.add(Badge.objects.get(badge_title = List[2]))

elif(likes_count > 500):
creator.badges.add(Badge.objects.get(badge_title = List[1]))

elif(likes_count > 10):
creator.badges.add(Badge.objects.get(badge_title = List[0]))
likes_count = (Project.objects.filter(creator= creator)
.aggregate(Sum(('likes_count')))["likes_count__sum"])

badge_dict = {
"Captain Projects": 1000,
"Favourite Kid": 500,
"Interesting Projects": 10
}

remove_initial_titles(creator, badge_dict.keys())
add_titles(creator, likes_count, badge_dict)

def set_badge_comment_category(creator):
creator_id= creator.id
creator_id = creator.id
comments_count = Comment.objects.filter(creator__id= creator_id).count()

List = ["Helping Hand", "Always Available", "Expert Advisor"]
badge_dict = {
"Expert Advisor": 1000,
"Always Available": 500,
"Helping Hand": 10
}

creator.badges.remove(Badge.objects.get(badge_title = List[2]))
creator.badges.remove(Badge.objects.get(badge_title = List[1]))
creator.badges.remove(Badge.objects.get(badge_title = List[0]))

if(comments_count > 1000):
creator.badges.add(Badge.objects.get(badge_title = List[2]))

elif(comments_count > 500):
creator.badges.add(Badge.objects.get(badge_title = List[1]))

elif(comments_count > 10):
creator.badges.add(Badge.objects.get(badge_title = List[0]))
remove_initial_titles(creator, badge_dict.keys())
add_titles(creator, comments_count, badge_dict)

def set_badge_project_category(creator, projects_count):
project_count_before_del = creator.projects_count

if(projects_count < project_count_before_del):
queryset=Project.objects.filter(creator= creator)
queryset = Project.objects.filter(creator= creator)
if( queryset.exists()):
set_badge_view_category(creator)
set_badge_like_category(creator)
set_badge_comment_category(creator)

List = ["Hatchling", "Flying Bird", "Master of the sky", "Expert Builder"]

creator.badges.remove(Badge.objects.get(badge_title = List[3]))
creator.badges.remove(Badge.objects.get(badge_title = List[2]))
creator.badges.remove(Badge.objects.get(badge_title = List[1]))
creator.badges.remove(Badge.objects.get(badge_title = List[0]))

if(projects_count > 100):
creator.badges.add(Badge.objects.get(badge_title = List[3]))

elif(projects_count > 50):
creator.badges.add(Badge.objects.get(badge_title = List[2]))

elif(projects_count > 10):
creator.badges.add(Badge.objects.get(badge_title = List[1]))
badge_dict = {
"Expert Builder": 100,
"Master of the sky": 50,
"Flying Bird": 10,
"Hatchling": 0
}

elif(projects_count > 0):
creator.badges.add(Badge.objects.get(badge_title = List[0]))

remove_initial_titles(creator, badge_dict.keys())
add_titles(creator, projects_count, badge_dict)

0 comments on commit 4ff73e1

Please sign in to comment.