Pārlūkot izejas kodu

df added url prefix
extra validation to url and image prefix to not be already en in their respectives urls

Pablo Barrera Yaksic 11 mēneši atpakaļ
vecāks
revīzija
0895d49125
2 mainītis faili ar 5 papildinājumiem un 2 dzēšanām
  1. 1 0
      src/portales/df/handler.ts
  2. 4 2
      src/utils/scraper-articles.ts

+ 1 - 0
src/portales/df/handler.ts

@@ -11,6 +11,7 @@ export const handler: Handler = new Portal(
   config.MASTODON_KEY_DF,
   {
     url: config.DF,
+    linkPrefix: "https://www.df.cl",
     articlesSelector: "article",
     titleSelector: "h3 a",
     linkSelector: "h3 a",

+ 4 - 2
src/utils/scraper-articles.ts

@@ -49,7 +49,9 @@ export default class ScraperArticles {
   private getLink (article: AnyNode): string {
     const selector = this._options.linkSelector ?? "";
     const url = selector !== "" ? this.getProperty(article, selector, Props.LINK) : this._options.url
-    return this._options.linkPrefix !== undefined ? (this._options.linkPrefix + url).trim() : url.trim();
+    return this._options.linkPrefix !== undefined && url.includes(this._options.linkPrefix)
+     ? (this._options.linkPrefix + url).trim() 
+     : url.trim();
   }
 
   private async getImage (article: AnyNode): Promise<File | null> {
@@ -58,7 +60,7 @@ export default class ScraperArticles {
     let imgUrl = selector !== "" ? this.getProperty(article, selector, Props.IMAGE) : "";
 
     if (imgUrl !== "") {
-      if (this._options.imagePrefix) {
+      if (this._options.imagePrefix && imgUrl.includes(this._options.imagePrefix)) {
         imgUrl = this._options.imagePrefix + imgUrl;
       }
       imgFile = this._scraper.scrapeFile(imgUrl)