Skip to content

Commit

Permalink
minor fix for the order of the projects based on the last access
Browse files Browse the repository at this point in the history
  • Loading branch information
khansadaoudi committed Jan 2, 2025
1 parent 787aae8 commit 5e6557d
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 38 deletions.
6 changes: 3 additions & 3 deletions app/projects/controller.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import os
from typing import List, Tuple
from typing import List


from flask import abort, current_app, request
Expand Down Expand Up @@ -44,8 +44,8 @@ def get(self)-> dict:
page = data.get("page")
languages = data.get("languages").split(",") if data.get("languages") else None
name = data.get("name")
if languages is not None or name is not None:

if languages is not None or name != '':
projects = ProjectService.filter_project_by_name_or_language(name, languages)
else:
projects = ProjectService.get_all()
Expand Down
70 changes: 35 additions & 35 deletions app/projects/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -147,10 +147,11 @@ def get_projects_info(db_projects, grew_projects, page, total_projects, projects
projects_extended_list(List[ProjectExtendedInterface]): union of db_projects and grew_projects with different info
"""
projects: List[ProjectExtendedInterface] = []
grew_projects_names = set([project["name"] for project in grew_projects])
db_projects_names = set([project.project_name for project in db_projects])
grew_projects_names = [project["name"] for project in grew_projects]
db_projects_names = [project.project_name for project in db_projects]

common = db_projects_names & grew_projects_names
common = [project for project in db_projects_names if project in grew_projects_names]

filtered_common = [project for project in common if (
ProjectService.filter_project_by_type(ProjectService.get_by_name(project), projects_type)
)]
Expand All @@ -162,39 +163,38 @@ def get_projects_info(db_projects, grew_projects, page, total_projects, projects
else:
paginated_common = filtered_common
total_pages = 1
for grew_project in grew_projects:
if grew_project["name"] in paginated_common:

project = ProjectService.get_by_name(grew_project["name"])
if ProjectAccessService.check_project_access(
project.visibility, project.id
):
(
project.admins,
project.validators,
project.annotators,
project.guests,
) = ProjectAccessService.get_all(project.id)

project.owner = project.admins[0] if project.admins else ''
project.owner_avatar_url = UserService.get_by_username(project.admins[0]).picture_url if project.admins else ''
project.contact_owner = UserService.get_by_username(project.admins[0]).email if project.admins else ''
project.sync_github = project.github_repository.repository_name if project.github_repository else ''

(last_access, last_write_access) = LastAccessService.get_project_last_access(project.project_name)
now = datetime.datetime.now().timestamp()
project.last_access = last_access - now
project.last_write_access = last_write_access - now
project_path = project.image
project.image = ProjectService.get_project_image(project_path)

project.users = grew_project["users"]
project.number_sentences = grew_project["number_sentences"]
project.number_samples = grew_project["number_samples"]
project.number_tokens = grew_project["number_tokens"]
project.number_trees = grew_project["number_trees"]
for project_name in paginated_common:
grew_project = next(project for project in grew_projects if project["name"] == project_name)
project = ProjectService.get_by_name(project_name)
if ProjectAccessService.check_project_access(
project.visibility, project.id
):
(
project.admins,
project.validators,
project.annotators,
project.guests,
) = ProjectAccessService.get_all(project.id)

project.owner = project.admins[0] if project.admins else ''
project.owner_avatar_url = UserService.get_by_username(project.admins[0]).picture_url if project.admins else ''
project.contact_owner = UserService.get_by_username(project.admins[0]).email if project.admins else ''
project.sync_github = project.github_repository.repository_name if project.github_repository else ''

projects.append(project)
(last_access, last_write_access) = LastAccessService.get_project_last_access(project.project_name)
now = datetime.datetime.now().timestamp()
project.last_access = last_access - now
project.last_write_access = last_write_access - now
project_path = project.image
project.image = ProjectService.get_project_image(project_path)

project.users = grew_project["users"]
project.number_sentences = grew_project["number_sentences"]
project.number_samples = grew_project["number_samples"]
project.number_tokens = grew_project["number_tokens"]
project.number_trees = grew_project["number_trees"]

projects.append(project)
return projects, total_pages

@staticmethod
Expand Down

0 comments on commit 5e6557d

Please sign in to comment.