@xriss/weerss 0.0.29 → 0.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cmd.js +3 -0
- package/items.js +1 -0
- package/package.json +1 -1
- package/weerss.js +55 -26
package/cmd.js
CHANGED
package/items.js
CHANGED
package/package.json
CHANGED
package/weerss.js
CHANGED
|
@@ -253,37 +253,37 @@ weerss.bucket_sort=function(bucket)
|
|
|
253
253
|
return bucket
|
|
254
254
|
}
|
|
255
255
|
|
|
256
|
-
weerss.
|
|
256
|
+
weerss.item_filter=function(key,item)
|
|
257
257
|
{
|
|
258
|
-
|
|
258
|
+
if(!item.show) { return false }
|
|
259
|
+
if(item.show.fail) { return false }
|
|
260
|
+
if(!item.show.tvmaze) { return false }
|
|
261
|
+
if( ! shows.good_show(item.show,weerss.config.show.rules) ) { return false }
|
|
262
|
+
|
|
263
|
+
// remove huge/small files
|
|
264
|
+
if(!item.torrent) { return false }
|
|
265
|
+
if(!item.torrent.file_length) { return false }
|
|
266
|
+
if( item.torrent.file_length > weerss.config.episode.maxsize ) { return false }
|
|
267
|
+
if( item.torrent.file_length < weerss.config.episode.minsize ) { return false }
|
|
268
|
+
|
|
269
|
+
if( weerss.config.episode.maxage ) // remove old episodes
|
|
259
270
|
{
|
|
260
|
-
if(!item.show) { return false }
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
if(!item.torrent) { return false }
|
|
267
|
-
if(!item.torrent.file_length) { return false }
|
|
268
|
-
if( item.torrent.file_length > weerss.config.episode.maxsize ) { return false }
|
|
269
|
-
if( item.torrent.file_length < weerss.config.episode.minsize ) { return false }
|
|
270
|
-
|
|
271
|
-
if( weerss.config.episode.maxage ) // remove old episodes
|
|
272
|
-
{
|
|
273
|
-
if(!item.show.date) { return false }
|
|
274
|
-
let now=(new Date()).getTime()
|
|
275
|
-
let test=Date.parse(item.show.date)
|
|
276
|
-
let days=Math.floor((now-test)/(1000*60*60*24))
|
|
277
|
-
if( days > weerss.config.episode.maxage ) { return false } // this episode is too old
|
|
278
|
-
}
|
|
271
|
+
if(!item.show.date) { return false }
|
|
272
|
+
let now=(new Date()).getTime()
|
|
273
|
+
let test=Date.parse(item.show.date)
|
|
274
|
+
let days=Math.floor((now-test)/(1000*60*60*24))
|
|
275
|
+
if( days > weerss.config.episode.maxage ) { return false } // this episode is too old
|
|
276
|
+
}
|
|
279
277
|
|
|
280
|
-
|
|
278
|
+
if( ! shows.good_episode(item.show,weerss.config.episode.rules) ) { return false } // skip this episode?
|
|
281
279
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
280
|
+
return true
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
weerss.getlist=async function(filters)
|
|
284
|
+
{
|
|
285
285
|
// all items then we sort and filter and list
|
|
286
|
-
let its=await db.list("items",filters||{},
|
|
286
|
+
let its=await db.list("items",filters||{},weerss.item_filter)
|
|
287
287
|
|
|
288
288
|
let buckets={}
|
|
289
289
|
let itemshows={}
|
|
@@ -613,6 +613,35 @@ weerss.purge=async function(args)
|
|
|
613
613
|
{
|
|
614
614
|
await db.setup()
|
|
615
615
|
|
|
616
|
+
let keep=0
|
|
617
|
+
let drop=0
|
|
618
|
+
|
|
619
|
+
await db.handle.each(`
|
|
620
|
+
|
|
621
|
+
SELECT * FROM items
|
|
622
|
+
|
|
623
|
+
`,{},function(row)
|
|
624
|
+
{
|
|
625
|
+
let k=row.key
|
|
626
|
+
let v=JSON.parse(row.value)
|
|
627
|
+
|
|
628
|
+
if( weerss.item_filter(k,v) )
|
|
629
|
+
{
|
|
630
|
+
// keep
|
|
631
|
+
process.stdout.write(".")
|
|
632
|
+
keep++
|
|
633
|
+
}
|
|
634
|
+
else
|
|
635
|
+
{
|
|
636
|
+
// delete
|
|
637
|
+
db.delete("items",k)
|
|
638
|
+
process.stdout.write("X")
|
|
639
|
+
drop++
|
|
640
|
+
}
|
|
641
|
+
})
|
|
642
|
+
process.stdout.write("\n")
|
|
643
|
+
|
|
644
|
+
console.log("Kept "+keep+" dropped "+drop+" items.")
|
|
616
645
|
|
|
617
646
|
await db.close()
|
|
618
647
|
}
|