diff --git a/swh/lister/gitlab/lister.py b/swh/lister/gitlab/lister.py --- a/swh/lister/gitlab/lister.py +++ b/swh/lister/gitlab/lister.py @@ -9,6 +9,7 @@ from typing import Any, Dict, Iterator, Optional, Tuple from urllib.parse import parse_qs, urlparse +import iso8601 import requests from requests.exceptions import HTTPError from requests.status_codes import codes @@ -174,8 +175,7 @@ lister_id=self.lister_obj.id, url=repo["http_url_to_repo"], visit_type="git", - # TODO: Support "last_activity_at" as update information - # last_update=repo["last_activity_at"], + last_update=iso8601.parse_date(repo["last_activity_at"]), ) def commit_page(self, page_result: PageResult) -> None: diff --git a/swh/lister/gitlab/tests/test_lister.py b/swh/lister/gitlab/tests/test_lister.py --- a/swh/lister/gitlab/tests/test_lister.py +++ b/swh/lister/gitlab/tests/test_lister.py @@ -53,6 +53,7 @@ for listed_origin in scheduler_origins: assert listed_origin.visit_type == "git" assert listed_origin.url.startswith(f"https://{instance}") + assert listed_origin.last_update is not None def gitlab_page_response(datadir, instance: str, page_id: int) -> List[Dict]: @@ -94,6 +95,7 @@ for listed_origin in scheduler_origins: assert listed_origin.visit_type == "git" assert listed_origin.url.startswith(f"https://{instance}") + assert listed_origin.last_update is not None def test_lister_gitlab_incremental(swh_scheduler, requests_mock, datadir): @@ -155,6 +157,7 @@ for listed_origin in scheduler_origins: assert listed_origin.visit_type == "git" assert listed_origin.url.startswith(f"https://{instance}") + assert listed_origin.last_update is not None def test_lister_gitlab_rate_limit(swh_scheduler, requests_mock, datadir, mocker):