blob: 5d23070a7dcbcdedcc37ede38fa43b6f025cae95 (
plain) (
tree)
|
|
;(function () {
'use strict'
var async = require('async')
var config = require('config')
var webtorrent = require('../lib/webTorrentNode')
var logger = require('../helpers/logger')
var Videos = require('../models/videos')
var uploadDir = __dirname + '/../' + config.get('storage.uploads')
var videos = {
seed: seed,
seedAllExisting: seedAllExisting
}
function seed (path, callback) {
logger.info('Seeding %s...', path)
webtorrent.seed(path, function (torrent) {
logger.info('%s seeded (%s).', path, torrent.magnetURI)
return callback(null, torrent)
})
}
function seedAllExisting (callback) {
Videos.listOwned(function (err, videos_list) {
if (err) {
logger.error('Cannot get list of the videos to seed.', { error: err })
return callback(err)
}
async.each(videos_list, function (video, each_callback) {
seed(uploadDir + video.namePath, function (err) {
if (err) {
logger.error('Cannot seed this video.', { error: err })
return callback(err)
}
each_callback(null)
})
}, callback)
})
}
// ---------------------------------------------------------------------------
module.exports = videos
})()
|