From 84f24f668a9a21e44c1c7b95bc4ff7207a094752 Mon Sep 17 00:00:00 2001 From: Mohamed Hafdi Idrissi Date: Sun, 28 Jul 2024 20:19:13 -0400 Subject: [PATCH] fix PR & remove scraper folder --- .../ets/course/ets-course.controller.ts | 2 +- src/common/api-helper/ets/ets.controller.ts | 2 +- .../ets/scraper/scraper.controller.ts | 19 ---------------- .../api-helper/ets/scraper/scraper.module.ts | 19 ---------------- .../course-page/course-scraper.service.ts | 8 ------- .../services/course-page/course.interface.ts | 1 - .../program-page/course-details.interface.ts | 1 - .../course-list-scraper.service.ts | 8 ------- .../program-page/program-scraper.service.ts | 16 -------------- .../ets/scraper/services/scraper.service.ts | 22 ------------------- .../ets/scraper/utils/scraperUtis.ts | 0 .../planification-cours.service.ts | 16 ++++++++------ .../planification-cours.types.ts | 2 +- .../website-helper/pdf/pdf.controller.ts | 4 ++-- 14 files changed, 14 insertions(+), 106 deletions(-) delete mode 100644 src/common/api-helper/ets/scraper/scraper.controller.ts delete mode 100644 src/common/api-helper/ets/scraper/scraper.module.ts delete mode 100644 src/common/api-helper/ets/scraper/services/course-page/course-scraper.service.ts delete mode 100644 src/common/api-helper/ets/scraper/services/course-page/course.interface.ts delete mode 100644 src/common/api-helper/ets/scraper/services/program-page/course-details.interface.ts delete mode 100644 src/common/api-helper/ets/scraper/services/program-page/course-list-scraper.service.ts delete mode 100644 src/common/api-helper/ets/scraper/services/program-page/program-scraper.service.ts delete mode 100644 src/common/api-helper/ets/scraper/services/scraper.service.ts delete mode 100644 src/common/api-helper/ets/scraper/utils/scraperUtis.ts diff --git a/src/common/api-helper/ets/course/ets-course.controller.ts b/src/common/api-helper/ets/course/ets-course.controller.ts index 683f124..681ee32 100644 --- a/src/common/api-helper/ets/course/ets-course.controller.ts +++ b/src/common/api-helper/ets/course/ets-course.controller.ts @@ -21,6 +21,6 @@ export class EtsCourseController { throw new Error('The id parameter is required'); } - return this.etsCourseService.fetchCoursesById('349682,349710'); + return this.etsCourseService.fetchCoursesById(id); } } diff --git a/src/common/api-helper/ets/ets.controller.ts b/src/common/api-helper/ets/ets.controller.ts index 6987c37..d68a6c0 100644 --- a/src/common/api-helper/ets/ets.controller.ts +++ b/src/common/api-helper/ets/ets.controller.ts @@ -25,7 +25,7 @@ export class EtsController { throw new Error('The id parameter is required'); } - return this.etsCourseService.fetchCoursesById('349682,349710'); + return this.etsCourseService.fetchCoursesById(id); } @Get('programs') diff --git a/src/common/api-helper/ets/scraper/scraper.controller.ts b/src/common/api-helper/ets/scraper/scraper.controller.ts deleted file mode 100644 index 3097228..0000000 --- a/src/common/api-helper/ets/scraper/scraper.controller.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Controller, Get, Param } from '@nestjs/common'; - -import { CourseScraperService } from './services/course-page/course-scraper.service'; -import { CourseListScraperService } from './services/program-page/course-list-scraper.service'; -import { ProgramScraperService } from './services/program-page/program-scraper.service'; - -@Controller('scraper') -export class ScraperController { - constructor( - private readonly programScraperService: ProgramScraperService, - private readonly courseListScraperService: CourseListScraperService, - private readonly courseScraperService: CourseScraperService, - ) {} - - @Get('program/:id') - public async scrapeProgramPage(@Param('id') id: string) { - return this.programScraperService.scrapePrograms(id); - } -} diff --git a/src/common/api-helper/ets/scraper/scraper.module.ts b/src/common/api-helper/ets/scraper/scraper.module.ts deleted file mode 100644 index 15d5e0f..0000000 --- a/src/common/api-helper/ets/scraper/scraper.module.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Module } from '@nestjs/common'; - -import { ScraperController } from './scraper.controller'; -import { CourseScraperService } from './services/course-page/course-scraper.service'; -import { CourseListScraperService } from './services/program-page/course-list-scraper.service'; -import { ProgramScraperService } from './services/program-page/program-scraper.service'; -import { ScraperService } from './services/scraper.service'; - -@Module({ - imports: [], - controllers: [ScraperController], - providers: [ - ProgramScraperService, - CourseScraperService, - ScraperService, - CourseListScraperService, - ], -}) -export class ScraperModule {} diff --git a/src/common/api-helper/ets/scraper/services/course-page/course-scraper.service.ts b/src/common/api-helper/ets/scraper/services/course-page/course-scraper.service.ts deleted file mode 100644 index b1307cf..0000000 --- a/src/common/api-helper/ets/scraper/services/course-page/course-scraper.service.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Injectable } from '@nestjs/common'; - -@Injectable() -export class CourseScraperService { - public scrapeCourseDetails(courseCode: string) { - throw new Error('Method not implemented.' + courseCode); - } -} diff --git a/src/common/api-helper/ets/scraper/services/course-page/course.interface.ts b/src/common/api-helper/ets/scraper/services/course-page/course.interface.ts deleted file mode 100644 index 8d0bee0..0000000 --- a/src/common/api-helper/ets/scraper/services/course-page/course.interface.ts +++ /dev/null @@ -1 +0,0 @@ -export interface CourseDetails {} diff --git a/src/common/api-helper/ets/scraper/services/program-page/course-details.interface.ts b/src/common/api-helper/ets/scraper/services/program-page/course-details.interface.ts deleted file mode 100644 index 8d0bee0..0000000 --- a/src/common/api-helper/ets/scraper/services/program-page/course-details.interface.ts +++ /dev/null @@ -1 +0,0 @@ -export interface CourseDetails {} diff --git a/src/common/api-helper/ets/scraper/services/program-page/course-list-scraper.service.ts b/src/common/api-helper/ets/scraper/services/program-page/course-list-scraper.service.ts deleted file mode 100644 index 1ff79aa..0000000 --- a/src/common/api-helper/ets/scraper/services/program-page/course-list-scraper.service.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Injectable } from '@nestjs/common'; - -@Injectable() -export class CourseListScraperService { - public scrapeCourseList() { - throw new Error('Method not implemented.'); - } -} diff --git a/src/common/api-helper/ets/scraper/services/program-page/program-scraper.service.ts b/src/common/api-helper/ets/scraper/services/program-page/program-scraper.service.ts deleted file mode 100644 index 90303e7..0000000 --- a/src/common/api-helper/ets/scraper/services/program-page/program-scraper.service.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Injectable } from '@nestjs/common'; - -import { CourseListScraperService } from './course-list-scraper.service'; - -@Injectable() -export class ProgramScraperService { - public scrapePrograms(id: string) { - this.scrapeProgramPage(); - throw new Error('Method not implemented.' + id); - } - - private scrapeProgramPage() { - const courseListService = new CourseListScraperService(); - throw new Error('Method not implemented.' + courseListService); - } -} diff --git a/src/common/api-helper/ets/scraper/services/scraper.service.ts b/src/common/api-helper/ets/scraper/services/scraper.service.ts deleted file mode 100644 index 1b9d159..0000000 --- a/src/common/api-helper/ets/scraper/services/scraper.service.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Injectable } from '@nestjs/common'; - -import { CourseScraperService } from './course-page/course-scraper.service'; -import { ProgramScraperService } from './program-page/program-scraper.service'; - -interface IProgram {} - -@Injectable() -export class ScraperService { - constructor( - private readonly programScraperService: ProgramScraperService, - private readonly courseScraperService: CourseScraperService, - ) {} - - public async scrapePrograms(): Promise { - throw new Error('Method not implemented.'); - } - - public async scrapeCourseDetails(courseCode: string) { - throw new Error('Method not implemented.' + courseCode); - } -} diff --git a/src/common/api-helper/ets/scraper/utils/scraperUtis.ts b/src/common/api-helper/ets/scraper/utils/scraperUtis.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/common/website-helper/pdf/pdf-parser/planification/planification-cours.service.ts b/src/common/website-helper/pdf/pdf-parser/planification/planification-cours.service.ts index 07c2527..78a85df 100644 --- a/src/common/website-helper/pdf/pdf-parser/planification/planification-cours.service.ts +++ b/src/common/website-helper/pdf/pdf-parser/planification/planification-cours.service.ts @@ -6,7 +6,7 @@ import { firstValueFrom } from 'rxjs'; import { CourseCodeValidationPipe } from '../../../../pipes/models/course/course-code-validation-pipe'; import { PdfParserUtil } from '../../../../utils/pdf/parser/pdfParserUtil'; import { TextExtractor } from '../../../../utils/pdf/parser/textExtractorUtil'; -import { IPlanificationCours } from './planification-cours.types'; +import { ICoursePlanification } from './planification-cours.types'; import { Row } from './Row'; @Injectable() @@ -17,7 +17,9 @@ export class PlanificationCoursService { constructor(private httpService: HttpService) {} - public async parsePdfFromUrl(pdfUrl: string): Promise { + public async parsePdfFromUrl( + pdfUrl: string, + ): Promise { try { const response = await firstValueFrom( this.httpService.get(pdfUrl, { responseType: 'arraybuffer' }), @@ -34,7 +36,7 @@ export class PlanificationCoursService { public parsePlanificationCoursPdf( pdfBuffer: Buffer, pdfUrl: string, - ): Promise { + ): Promise { return PdfParserUtil.parsePdfBuffer(pdfBuffer, (pdfData) => this.processPdfData(pdfData, pdfUrl), ); @@ -43,11 +45,11 @@ export class PlanificationCoursService { public processPdfData( pdfData: Output, pdfUrl: string, - ): IPlanificationCours[] { + ): ICoursePlanification[] { try { const headerCells: Row[] = this.parseHeaderCells(pdfData); - const courses: IPlanificationCours[] = []; - let currentCourse: IPlanificationCours = this.initializeCourse(); + const courses: ICoursePlanification[] = []; + let currentCourse: ICoursePlanification = this.initializeCourse(); pdfData.Pages.forEach((page: Page) => { page.Texts.forEach((textItem: Text) => { @@ -97,7 +99,7 @@ export class PlanificationCoursService { } } - private initializeCourse(): IPlanificationCours { + private initializeCourse(): ICoursePlanification { return { code: '', available: {}, diff --git a/src/common/website-helper/pdf/pdf-parser/planification/planification-cours.types.ts b/src/common/website-helper/pdf/pdf-parser/planification/planification-cours.types.ts index 95c8982..08e9c58 100644 --- a/src/common/website-helper/pdf/pdf-parser/planification/planification-cours.types.ts +++ b/src/common/website-helper/pdf/pdf-parser/planification/planification-cours.types.ts @@ -1,4 +1,4 @@ -export interface IPlanificationCours { +export interface ICoursePlanification { code: string; available: Record; } diff --git a/src/common/website-helper/pdf/pdf.controller.ts b/src/common/website-helper/pdf/pdf.controller.ts index cb2926f..45ae9dd 100644 --- a/src/common/website-helper/pdf/pdf.controller.ts +++ b/src/common/website-helper/pdf/pdf.controller.ts @@ -10,7 +10,7 @@ import { ERROR_MESSAGES } from '../../constants/error-messages'; import { HoraireCoursService } from './pdf-parser/horaire/horaire-cours.service'; import { IHoraireCours } from './pdf-parser/horaire/horaire-cours.types'; import { PlanificationCoursService } from './pdf-parser/planification/planification-cours.service'; -import { IPlanificationCours } from './pdf-parser/planification/planification-cours.types'; +import { ICoursePlanification } from './pdf-parser/planification/planification-cours.types'; @Controller('pdf') export class PdfController { @@ -46,7 +46,7 @@ export class PdfController { @Get('planification-cours') public async parsePlanificationCoursPdf( @Query('program') programCode: string, - ): Promise { + ): Promise { if (!programCode) { throw new HttpException( ERROR_MESSAGES.REQUIRED_PDF_URL,