# SPDX-License-Identifier: AGPL-3.0-or-later # # Copyright (C) 2023 Ferass El Hafidi from markupsafe import escape from api.base import api_call # Groups def get_subgroups_list(instance, group, search_query = None, page = 1): if search_query is None: subgroups_list = api_call('https://%s/api/v4/groups/%s/subgroups?page=%s' \ % (instance, group, page)) else: # Search subgroups_list = api_call(\ 'https://%s/api/v4/groups/%s/subgroups?search=%s&page=%s' \ % (instance, group, search_query, page)) if subgroups_list == []: return "

" \ "an error occured: no subgroups found

" # Convert to HTML subgroups_list_html = "" subgroups_list_html += "" "" \ "" "" "" for subgroup in subgroups_list: subgroups_list_html += "" % (instance, \ subgroup['full_path'], subgroup['description']) + \ "" % (instance, \ subgroup['full_path'], subgroup['created_at']) subgroups_list_html += "
NameDescriptionCreated at
%s" % \ (instance, subgroup['full_path'], \ subgroup['full_path']) + \ "%s%s
" subgroups_list_html += "Next →" % (page + 1) return subgroups_list_html def get_group_data(instance, group): recv = api_call("https://%s/api/v4/groups/%s" % \ (instance, group)) return recv['avatar_url'] if recv['avatar_url'] != None else "", \ recv['name'], recv['description']