]>
Commit | Line | Data |
---|---|---|
c173e565 C |
1 | ;(function () { |
2 | 'use strict' | |
3 | ||
4 | var async = require('async') | |
5 | var config = require('config') | |
6 | var webtorrent = require('../lib/webTorrentNode') | |
7 | ||
8 | var logger = require('../helpers/logger') | |
9 | var Videos = require('../models/videos') | |
10 | ||
11 | var uploadDir = __dirname + '/../' + config.get('storage.uploads') | |
12 | ||
13 | var videos = { | |
14 | seed: seed, | |
15 | seedAllExisting: seedAllExisting | |
16 | } | |
17 | ||
18 | function seed (path, callback) { | |
19 | logger.info('Seeding %s...', path) | |
20 | ||
21 | webtorrent.seed(path, function (torrent) { | |
22 | logger.info('%s seeded (%s).', path, torrent.magnetURI) | |
23 | ||
24 | return callback(null, torrent) | |
25 | }) | |
26 | } | |
27 | ||
28 | function seedAllExisting (callback) { | |
29 | Videos.listOwned(function (err, videos_list) { | |
30 | if (err) { | |
31 | logger.error('Cannot get list of the videos to seed.', { error: err }) | |
32 | return callback(err) | |
33 | } | |
34 | ||
35 | async.each(videos_list, function (video, each_callback) { | |
36 | seed(uploadDir + video.namePath, function (err) { | |
37 | if (err) { | |
38 | logger.error('Cannot seed this video.', { error: err }) | |
39 | return callback(err) | |
40 | } | |
41 | ||
42 | each_callback(null) | |
43 | }) | |
44 | }, callback) | |
45 | }) | |
46 | } | |
47 | ||
48 | // --------------------------------------------------------------------------- | |
49 | ||
50 | module.exports = videos | |
51 | })() |