drudgereport
Version:
Polls the DrudgeReport.com website and tracks the links
35 lines (27 loc) • 870 B
text/typescript
import { Log } from "fme-logger";
var L = new Log("drudgeReport");
import { DrudgeFetch,DrudgeArticle } from "./models/drudge";
L.setLevel("info")
export class DrudgeReport {
pollInterval:number = 15 * 60; // number of seconds
logLevel:string = "info"
drudgeFetch:DrudgeFetch;
latest: DrudgeArticle[];
constructor() {
L.debug("DrudgeReport constructor called");
this.drudgeFetch = new DrudgeFetch();
}
setLogLevel = (level:string) => {
L.setLevel(level);
}
getLatest = async() => {
this.latest = await this.drudgeFetch.getLatest();
return this.latest;
}
stream = (cb:any) => {
setInterval(async()=>{
var newArt = await this.drudgeFetch.findNew()
cb( newArt );
},this.pollInterval*1000)
}
}