Clean up addSubtitles (#535)

* Fix comments from #529

* Don't unlink deselected files

  I still want to do that eventually, but needs to be supported in WebTorrent

  See https://github.com/feross/webtorrent/issues/806
This commit is contained in:
DC
2016-05-18 02:07:24 -07:00
parent 7c6b7e4a6d
commit 7bd30f8a16
3 changed files with 9 additions and 12 deletions

View File

@@ -16,7 +16,6 @@
"dependencies": {
"airplay-js": "guerrerocarlos/node-airplay-js",
"application-config": "^0.2.1",
"async": "^2.0.0-rc.5",
"bitfield": "^1.0.2",
"chromecasts": "^1.8.0",
"concat-stream": "^1.5.1",
@@ -34,6 +33,7 @@
"musicmetadata": "^2.0.2",
"network-address": "^1.1.0",
"prettier-bytes": "^1.0.1",
"run-parallel": "^1.1.6",
"simple-get": "^2.0.0",
"srt-to-vtt": "^1.1.1",
"virtual-dom": "^2.1.1",

View File

@@ -14,7 +14,7 @@ var ipcRenderer = electron.ipcRenderer
setupIpc()
var appConfig = require('application-config')('WebTorrent')
var Async = require('async')
var parallel = require('run-parallel')
var concat = require('concat-stream')
var dragDrop = require('drag-drop')
var fs = require('fs-extra')
@@ -606,22 +606,23 @@ function addSubtitles (files, autoSelect) {
if (state.playing.type !== 'video') return
// Read the files concurrently, then add all resulting subtitle tracks
console.log(files)
var subs = state.playing.subtitles
Async.map(files, loadSubtitle, function (err, tracks) {
var jobs = files.map((file) => (cb) => loadSubtitle(file, cb))
parallel(jobs, function (err, tracks) {
if (err) return onError(err)
for (var i = 0; i < tracks.length; i++) {
// No dupes allowed
var track = tracks[i]
if (subs.tracks.some((t) => track.filePath === t.filePath)) continue
if (state.playing.subtitles.tracks.some(
(t) => track.filePath === t.filePath)) continue
// Add the track
subs.tracks.push(track)
state.playing.subtitles.tracks.push(track)
// If we're auto-selecting a track, try to find one in the user's language
if (autoSelect && (i === 0 || isSystemLanguage(track.language))) {
state.playing.subtitles.selectedIndex = subs.tracks.length - 1
state.playing.subtitles.selectedIndex =
state.playing.subtitles.tracks.length - 1
}
}

View File

@@ -349,10 +349,6 @@ function selectFiles (torrentOrInfoHash, selections) {
} else {
console.log('deselecting file ' + i + ' of torrent ' + torrent.name)
file.deselect()
// If we deselected a file, try to nuke it to save disk space
var filePath = path.join(torrent.path, file.path)
fs.unlink(filePath) // Ignore errors for now
}
}
}