Changeset View
Changeset View
Standalone View
Standalone View
swh/web/admin/deposit.py
Show All 31 Lines | |||||
@staff_member_required(view_func=None, login_url=settings.LOGIN_URL) | @staff_member_required(view_func=None, login_url=settings.LOGIN_URL) | ||||
def _admin_deposit_list(request): | def _admin_deposit_list(request): | ||||
table_data = {} | table_data = {} | ||||
table_data["draw"] = int(request.GET["draw"]) | table_data["draw"] = int(request.GET["draw"]) | ||||
deposits_list_url = config["private_api_url"] + "deposits" | deposits_list_url = config["private_api_url"] + "deposits" | ||||
deposits_list_auth = HTTPBasicAuth( | deposits_list_auth = HTTPBasicAuth( | ||||
config["private_api_user"], config["private_api_password"] | config["private_api_user"], config["private_api_password"] | ||||
) | ) | ||||
try: | try: | ||||
nb_deposits = requests.get( | nb_deposits = requests.get( | ||||
"%s?page_size=1" % deposits_list_url, auth=deposits_list_auth, timeout=30 | "%s?page_size=1" % deposits_list_url, auth=deposits_list_auth, timeout=30 | ||||
).json()["count"] | ).json()["count"] | ||||
deposits_data = cache.get("swh-deposit-list") | deposits_data = cache.get("swh-deposit-list") | ||||
if not deposits_data or deposits_data["count"] != nb_deposits: | if not deposits_data or deposits_data["count"] != nb_deposits: | ||||
deposits_data = requests.get( | deposits_data = requests.get( | ||||
Show All 11 Lines | try: | ||||
d | d | ||||
for d in deposits | for d in deposits | ||||
if any( | if any( | ||||
search_value.lower() in val | search_value.lower() in val | ||||
for val in [str(v).lower() for v in d.values()] | for val in [str(v).lower() for v in d.values()] | ||||
) | ) | ||||
] | ] | ||||
exclude_pattern = request.GET.get("excludePattern") | |||||
if exclude_pattern: | |||||
deposits = [ | |||||
d | |||||
for d in deposits | |||||
if all( | |||||
exclude_pattern.lower() not in val | |||||
for val in [str(v).lower() for v in d.values()] | |||||
) | |||||
] | |||||
column_order = request.GET["order[0][column]"] | column_order = request.GET["order[0][column]"] | ||||
field_order = request.GET["columns[%s][name]" % column_order] | field_order = request.GET["columns[%s][name]" % column_order] | ||||
order_dir = request.GET["order[0][dir]"] | order_dir = request.GET["order[0][dir]"] | ||||
deposits = sorted(deposits, key=lambda d: d[field_order] or "") | deposits = sorted(deposits, key=lambda d: d[field_order] or "") | ||||
if order_dir == "desc": | if order_dir == "desc": | ||||
deposits = list(reversed(deposits)) | deposits = list(reversed(deposits)) | ||||
Show All 26 Lines |