Ejemplo n.º 1
0
 def post(self, request):
     ft_api = FtApi()
     pages = count_page(ft_api.get_data(url="campus/29")["users_count"])
     for page in range(1, int(pages) + 1):
         make_piscine_ft_user.delay(page)
     return render(request, "piscine/piscine_manage_complete.html",
                   {"task": "MakePiscineFtUser"})
Ejemplo n.º 2
0
def make_piscine_ft_user(page):
    ft_api = FtApi()
    users = ft_api.get_data(url="campus/29/users",
                            page=page,
                            per_page=100,
                            sort="login")
    for data in users:
        try:
            PiscineFtUser.objects.get(id=data["id"])
        except:
            try:
                detail_data = ft_api.get_data(url=f'users/{data["id"]}')
                if not detail_data["cursus_users"][0]["end_at"] is None:
                    # peer_list = ft_api.get_data(
                    # 	url=f'users/{data["id"]}/scale_teams/graph/on/created_at/by/day'
                    # )
                    if len(detail_data["cursus_users"]) == 2:
                        PiscineFtUser.objects.create(
                            id=data["id"],
                            login=data["login"],
                            pool_year=detail_data["pool_year"],
                            pool_month=detail_data["pool_month"],
                            is_public=True,
                            is_pass=True,
                            piscine_level=Decimal(
                                detail_data["cursus_users"][0]["level"]),
                            # peer_count=get_piscine_value_sum(peer_list)
                        )
                    else:
                        PiscineFtUser.objects.create(
                            id=data["id"],
                            login=data["login"],
                            pool_year=detail_data["pool_year"],
                            pool_month=detail_data["pool_month"],
                            is_public=True,
                            is_pass=False,
                            piscine_level=Decimal(
                                detail_data["cursus_users"][0]["level"]),
                            # peer_count=get_piscine_value_sum(peer_list)
                        )
            except:
                pass
Ejemplo n.º 3
0
	def post(self, request):
		ft_api = FtApi()
		coalitions: Iterable[Dict[str, str]] = ft_api.get_data(url="blocs/27")["coalitions"]
		for coalition in coalitions:
			if Coalition.objects.filter(id=coalition["id"]).exists():
				pass
			else:
				Coalition.objects.create(
					id=coalition["id"],
					name=coalition["name"],
					color=coalition["color"],
				)
		return render(request, "manager/manage_complete.html", {"task": "MakeCoalition"})
Ejemplo n.º 4
0
def make_ft_user(page):
    ft_api = FtApi()
    users = ft_api.get_data(url="campus/29/users",
                            page=page,
                            per_page=100,
                            sort="login")
    for data in users:
        try:
            FtUser.objects.get(id=data["id"])
        except:
            try:
                detail_data = ft_api.get_data(url=f'users/{data["id"]}')
                coalition_data = ft_api.get_data(
                    url=f'users/{data["id"]}/coalitions_users')
                if coalition_data and Coalition.objects.filter(
                        id=int(coalition_data[0]["coalition_id"])).exists():
                    ft_user = FtUser.objects.create(
                        id=data["id"],
                        login=data["login"],
                        data=detail_data,
                        is_alive=True,
                        coalition=Coalition.objects.get(
                            id=int(coalition_data[0]["coalition_id"])),
                    )
                    Tier.objects.create(
                        FtUser=ft_user,
                        coalition_point=coalition_data[0]["score"],
                    )
                else:
                    FtUser.objects.create(
                        id=data["id"],
                        login=data["login"],
                        data=detail_data,
                        is_alive=False,
                    )
            except:
                pass