mirror of
https://github.com/bakhirev/assayo.git
synced 2024-11-16 08:11:40 +00:00
update
This commit is contained in:
parent
d429a0cbf2
commit
0da4465981
File diff suppressed because one or more lines are too long
1216
public/test.txt
1216
public/test.txt
File diff suppressed because it is too large
Load diff
|
@ -56,11 +56,8 @@ export default class DataGripByAuthor {
|
||||||
|
|
||||||
#addCommitByAuthor(commit: ICommit) {
|
#addCommitByAuthor(commit: ICommit) {
|
||||||
const commitsByDayAndHour = DataGripByAuthor.getDefaultCommitsByDayAndHour();
|
const commitsByDayAndHour = DataGripByAuthor.getDefaultCommitsByDayAndHour();
|
||||||
try {
|
commitsByDayAndHour[commit.day][commit.hours] += 1;
|
||||||
commitsByDayAndHour[commit.day][commit.hours] += 1;
|
|
||||||
} catch (e: any) {
|
|
||||||
debugger;
|
|
||||||
}
|
|
||||||
const commitsByHour = new Array(24).fill(0);
|
const commitsByHour = new Array(24).fill(0);
|
||||||
commitsByHour[commit.hours] += 1;
|
commitsByHour[commit.hours] += 1;
|
||||||
|
|
||||||
|
|
|
@ -1,21 +1,51 @@
|
||||||
import ICommit, { COMMIT_TYPE, ISystemCommit } from 'ts/interfaces/Commit';
|
import ICommit, { COMMIT_TYPE, ISystemCommit } from 'ts/interfaces/Commit';
|
||||||
|
import IHashMap from 'ts/interfaces/HashMap';
|
||||||
|
|
||||||
import { getTypeAndScope, getTask, getTaskNumber } from './getTypeAndScope';
|
import { getTypeAndScope, getTask, getTaskNumber } from './getTypeAndScope';
|
||||||
|
|
||||||
export default function getCommitInfo(logString: string): ICommit | ISystemCommit {
|
let prevDate = new Date();
|
||||||
|
|
||||||
|
export default function getCommitInfo(
|
||||||
|
logString: string,
|
||||||
|
refEmailAuthor: IHashMap<string>,
|
||||||
|
): ICommit | ISystemCommit {
|
||||||
// "2021-02-09T12:59:17+03:00>Frolov Ivan>frolov@mail.ru>profile"
|
// "2021-02-09T12:59:17+03:00>Frolov Ivan>frolov@mail.ru>profile"
|
||||||
const parts = logString.split('>');
|
const parts = logString.split('>');
|
||||||
|
|
||||||
const sourceDate = parts.shift() || '';
|
const sourceDate = parts.shift() || '';
|
||||||
const date = new Date(sourceDate);
|
let date = new Date(sourceDate);
|
||||||
|
if (isNaN(date.getDay())) {
|
||||||
|
console.log(`PARSE ERROR: Date parse error for: "${logString}"`);
|
||||||
|
date = prevDate;
|
||||||
|
}
|
||||||
|
prevDate = date;
|
||||||
const day = date.getDay() - 1;
|
const day = date.getDay() - 1;
|
||||||
const timestamp = sourceDate.split('T')[0];
|
const timestamp = sourceDate.split('T')[0];
|
||||||
|
|
||||||
const author = parts.shift()?.replace(/[._]/gm, ' ') || '';
|
let author = parts.shift()?.replace(/[._]/gm, ' ') || '';
|
||||||
|
|
||||||
let email = parts.shift() || '';
|
let email = parts.shift() || '';
|
||||||
if (!(/@/gim).test(email)) email = '';
|
if (!(/@/gim).test(email)) email = '';
|
||||||
|
|
||||||
|
const authorID = author.replace(/\s|\t/gm, '');
|
||||||
|
if (authorID && refEmailAuthor[authorID] && refEmailAuthor[authorID] !== author) {
|
||||||
|
console.log(`PARSE ERROR: Rename "${author}" to "${refEmailAuthor[authorID]}"`);
|
||||||
|
author = refEmailAuthor[authorID];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (email && refEmailAuthor[email] && refEmailAuthor[email] !== author) {
|
||||||
|
console.log(`PARSE ERROR: Rename "${author}" to "${refEmailAuthor[email]}" by "${email}"`);
|
||||||
|
author = refEmailAuthor[email];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (author && refEmailAuthor[author] && refEmailAuthor[author] !== email) {
|
||||||
|
console.log(`PARSE ERROR: Rename "${email}" to "${refEmailAuthor[author]}" by "${author}"`);
|
||||||
|
email = refEmailAuthor[author];
|
||||||
|
}
|
||||||
|
|
||||||
|
refEmailAuthor[email] = author;
|
||||||
|
refEmailAuthor[author] = email;
|
||||||
|
refEmailAuthor[authorID] = author;
|
||||||
|
|
||||||
const message = parts.join('>');
|
const message = parts.join('>');
|
||||||
|
|
||||||
const commonInfo: any = {
|
const commonInfo: any = {
|
||||||
|
|
|
@ -16,6 +16,7 @@ export default function Parser(report: string[]) {
|
||||||
let commit = null;
|
let commit = null;
|
||||||
const commits: Array<ICommit | ISystemCommit> = [];
|
const commits: Array<ICommit | ISystemCommit> = [];
|
||||||
|
|
||||||
|
let refEmailAuthor: IHashMap<string> = {};
|
||||||
let files: IHashMap<IFileChange> = {};
|
let files: IHashMap<IFileChange> = {};
|
||||||
let fileChanges: IFileChange | null = null;
|
let fileChanges: IFileChange | null = null;
|
||||||
|
|
||||||
|
@ -54,7 +55,7 @@ export default function Parser(report: string[]) {
|
||||||
// "2021-02-09T16:08:15+03:00>Albert>instein@mail.de>feat(init): added the speed of light"
|
// "2021-02-09T16:08:15+03:00>Albert>instein@mail.de>feat(init): added the speed of light"
|
||||||
if (commit) commit.fileChanges = Object.values(files);
|
if (commit) commit.fileChanges = Object.values(files);
|
||||||
files = {};
|
files = {};
|
||||||
commit = getCommitInfo(message);
|
commit = getCommitInfo(message, refEmailAuthor);
|
||||||
|
|
||||||
const monday = commit.milliseconds - commit.day * ONE_DAY;
|
const monday = commit.milliseconds - commit.day * ONE_DAY;
|
||||||
if (firstMonday) {
|
if (firstMonday) {
|
||||||
|
|
|
@ -25,7 +25,7 @@ export default {
|
||||||
lessScopes: ACHIEVEMENT_TYPE.BAD, // Щегол
|
lessScopes: ACHIEVEMENT_TYPE.BAD, // Щегол
|
||||||
moreDaysForTask: ACHIEVEMENT_TYPE.BAD, // Улитка на склоне
|
moreDaysForTask: ACHIEVEMENT_TYPE.BAD, // Улитка на склоне
|
||||||
more2DaysForTask: ACHIEVEMENT_TYPE.BAD, // Cо слоу
|
more2DaysForTask: ACHIEVEMENT_TYPE.BAD, // Cо слоу
|
||||||
moreDaysInProject: ACHIEVEMENT_TYPE.GOOD, // Часть команды, часть коробля
|
moreDaysInProject: ACHIEVEMENT_TYPE.GOOD, // Часть команды, часть корабля
|
||||||
lessDaysInProject: ACHIEVEMENT_TYPE.NORMAL, // А это кто?
|
lessDaysInProject: ACHIEVEMENT_TYPE.NORMAL, // А это кто?
|
||||||
more90DaysInProject: ACHIEVEMENT_TYPE.GOOD, // Добро пожаловать
|
more90DaysInProject: ACHIEVEMENT_TYPE.GOOD, // Добро пожаловать
|
||||||
lessDaysForTask: ACHIEVEMENT_TYPE.GOOD, // Скорострел
|
lessDaysForTask: ACHIEVEMENT_TYPE.GOOD, // Скорострел
|
||||||
|
|
|
@ -61,7 +61,7 @@ export default `
|
||||||
§ achievements.more666DaysInProject.description: отработал 666 дней на проекте
|
§ achievements.more666DaysInProject.description: отработал 666 дней на проекте
|
||||||
§ achievements.more777DaysInProject.title: Азино 3 топора
|
§ achievements.more777DaysInProject.title: Азино 3 топора
|
||||||
§ achievements.more777DaysInProject.description: отработал 777 дней на проекте
|
§ achievements.more777DaysInProject.description: отработал 777 дней на проекте
|
||||||
§ achievements.moreDaysInProject.title: Часть команды, часть коробля
|
§ achievements.moreDaysInProject.title: Часть команды, часть корабля
|
||||||
§ achievements.moreDaysInProject.description: больше всего дней на проекте
|
§ achievements.moreDaysInProject.description: больше всего дней на проекте
|
||||||
§ achievements.moreRefactoring.title: Выпускающий редактор
|
§ achievements.moreRefactoring.title: Выпускающий редактор
|
||||||
§ achievements.moreRefactoring.description: сделал больше всех меток «рефакторинг»
|
§ achievements.moreRefactoring.description: сделал больше всех меток «рефакторинг»
|
||||||
|
|
Loading…
Reference in a new issue