Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 17 additions & 5 deletions projects/initial-data/dataRecorder.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,26 @@ export class DataRecorder {
}

#createFile() {
if (!fs.existsSync(this.fileName)) {
const headerLine = `${this.columns.join(',')}\n`;
fs.writeFileSync(this.fileName, headerLine, 'utf8');
try {
if (!fs.existsSync(this.fileName)) {
const headerLine = `${this.columns.join(',')}\n`;
fs.writeFileSync(this.fileName, headerLine, 'utf8');
}
} catch (err) {
console.log('Error creating file:');
console.error(err);
process.exit(1);
}
}

appendToCSV(data) {
const csvLine = `${data.join(',')}\n`;
fs.appendFileSync(this.fileName, csvLine, 'utf8');
try {
const csvLine = `${data.join(',')}\n`;
fs.appendFileSync(this.fileName, csvLine, 'utf8');
} catch (err) {
console.log('Error appending to CSV:');
console.error(err);
process.exit(1);
}
}
}
52 changes: 35 additions & 17 deletions projects/initial-data/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,18 @@ import { DataRecorder } from './dataRecorder.js';
const CSV_FILE_NAME = `initialTopicRepoData-${Date.now()}.csv`;

export async function fetchRepoCreationDate(octokit, owner, repo) {
console.log(`Fetching creation date for repository: ${owner}/${repo}`);
const response = await octokit.request('GET /repos/{owner}/{repo}', {
owner,
repo,
});
return Date.parse(response.data.created_at);
try {
console.log(`Fetching creation date for repository: ${owner}/${repo}`);
const response = await octokit.request('GET /repos/{owner}/{repo}', {
owner,
repo,
});
return Date.parse(response.data.created_at);
} catch (err) {
console.log('Error fetching repo creation date:');
console.error(err);
process.exit(1);
}
}

async function fetchFirstCommitDate(octokit, owner, repo) {
Expand Down Expand Up @@ -51,12 +57,18 @@ async function fetchFirstCommitDate(octokit, owner, repo) {
}

async function fetchRepoTopics(octokit, owner, repo) {
console.log(`Fetching topics for repository: ${owner}/${repo}`);
const response = await octokit.request('GET /repos/{owner}/{repo}/topics', {
owner,
repo,
});
return response.data.names;
try {
console.log(`Fetching topics for repository: ${owner}/${repo}`);
const response = await octokit.request('GET /repos/{owner}/{repo}/topics', {
owner,
repo,
});
return response.data.names;
} catch (err) {
console.log('Error fetching repo topics:');
console.error(err);
process.exit(1);
}
}

async function fetchFirstReleaseDate(octokit, owner, repo) {
Expand Down Expand Up @@ -173,10 +185,16 @@ async function main(token, topic, numRepos) {
}

export function runMain() {
const { token, topic, numRepos } = getInput();
console.log(
`Starting process with token: REDACTED, topic: ${topic}, numRepos: ${numRepos}`,
);
try {
const { token, topic, numRepos } = getInput();
console.log(
`Starting process with token: REDACTED, topic: ${topic}, numRepos: ${numRepos}`,
);

main(token, topic, numRepos);
main(token, topic, numRepos);
} catch (err) {
console.log('Error in runMain:');
console.error(err);
process.exit(1);
}
}