Introduction
Introduction Statistics Contact Development Disclaimer Help
update - seedlinux - Torrent indexing tool opensource torrents with share ratio…
git clone git://jay.scot/seedlinux
Log
Files
Refs
README
---
update (2441B)
---
1 #!/usr/bin/env node
2 'use strict';
3
4 console.log('Updating Seeder and Leecher information');
5
6 const async = require('async');
7 const mongoose = require('mongoose');
8 const webtorrentHealth = require('webtorrent-health');
9 const config = require('../app/config');
10
11 const mongoDB = config.dbURI;
12 const Torrent = require('../models/torrent_model');
13
14 mongoose.connect(mongoDB);
15
16 var db = mongoose.connection;
17
18 db.on('error', console.error.bind(console, 'MongoDB connection error:'));
19
20 function updateTorrent(torrent, callback) {
21 webtorrentHealth(torrent.magneturi, {trackers: torrent.announce}, func…
22 if (err) {
23 callback(err, null);
24 } else {
25 let newData = {
26 seeders: data.seeds,
27 leechers: data.peers,
28 ratio: (Math.round((data.peers > 0 ? data.seeds / data.peers : d…
29 };
30 callback(null, newData);
31 }
32 });
33 }
34
35 function getTorrent(query, callback) {
36 Torrent.find(query, function(err, data) {
37 if (err) {
38 callback(err, null);
39 } else {
40 callback(null, data[0]);
41 }
42 });
43 }
44
45 function saveTorrent(query, data, callback) {
46 Torrent.findOneAndUpdate(query, data, function(err, data) {
47 if (err) {
48 callback(err, null);
49 } else {
50 callback(null, data[0]);
51 }
52 });
53 }
54
55 Torrent.find({}, function(err, data) {
56 if (err) console.log(err);
57
58 async.eachSeries(data, function(file, callback) {
59 async.waterfall([
60 function(callback){
61 getTorrent({hash: file.hash }, function(err, torrent) {
62 if (err) callback(true);
63
64 if (!torrent)
65 callback(true);
66 else
67 callback(null, torrent);
68 });
69 },
70 function(arg1, callback){
71 updateTorrent(arg1, function(err, data) {
72 if (err) callback(true);
73
74 callback(null, data);
75
76 });
77 },
78 function(arg1, callback){
79 saveTorrent({hash: file.hash }, arg1, function(err, data) {
80 if (err) callback(true);
81
82 console.log("Saved - " + file.hash);
83 callback(null, data);
84
85 });
86 }], function (err) {
87
88 if (err)
89 throw err;
90
91 callback();
92 }
93 );
94 }, function(err) {
95 if( err ) {
96 console.log('A torrent failed to process');
97 process.exit(1);
98 } else {
99 console.log('All torrents have been processed successfully');
100 process.exit();
101 }
102 });
103 });
104
You are viewing proxied material from jay.scot. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.