mirror of
https://github.com/Xevion/recommit.git
synced 2025-12-06 01:16:00 -06:00
Properly build commit data objects from GitLab
This commit is contained in:
22
sources.py
22
sources.py
@@ -1,4 +1,5 @@
|
|||||||
import abc
|
import abc
|
||||||
|
import datetime
|
||||||
import logging
|
import logging
|
||||||
from datetime import date
|
from datetime import date
|
||||||
from typing import Any, Callable, Dict, List, Optional
|
from typing import Any, Callable, Dict, List, Optional
|
||||||
@@ -66,13 +67,28 @@ class Gitlab(CommitSource):
|
|||||||
|
|
||||||
# Check all events in the list
|
# Check all events in the list
|
||||||
for event in self.events(page=page, per_page=50):
|
for event in self.events(page=page, per_page=50):
|
||||||
if not check_seen_function(event['id']):
|
if event['action_name'].startswith('pushed') and not check_seen_function(event['id']):
|
||||||
continue_fetching = True
|
continue_fetching = True
|
||||||
|
count: int = event['push_data']['commit_count']
|
||||||
|
|
||||||
|
if count == 1:
|
||||||
results.append(Commit(
|
results.append(Commit(
|
||||||
id=event['id'],
|
id=event['id'],
|
||||||
name='Private Contribution',
|
project_id=event['project_id'],
|
||||||
timestamp=parser.isoparse(event['created_at'])
|
iteration=0,
|
||||||
|
source=self.source_type,
|
||||||
|
timestamp=parser.isoparse(event['created_at']),
|
||||||
|
seen_timestamp=datetime.datetime.utcnow()
|
||||||
|
))
|
||||||
|
else:
|
||||||
|
for i in range(count):
|
||||||
|
results.append(Commit(
|
||||||
|
id=f"{event['id']}-{i:02}",
|
||||||
|
project_id=event['project_id'],
|
||||||
|
iteration=0,
|
||||||
|
source=self.source_type,
|
||||||
|
timestamp=parser.isoparse(event['created_at']),
|
||||||
|
seen_timestamp=datetime.datetime.utcnow()
|
||||||
))
|
))
|
||||||
|
|
||||||
page += 1
|
page += 1
|
||||||
|
|||||||
Reference in New Issue
Block a user