Quellcode durchsuchen

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

Pablo Barrera Yaksic vor 11 Monaten
Ursprung
Commit
0895d49125
2 geänderte Dateien mit 5 neuen und 2 gelöschten Zeilen
  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)