Ver código fonte

#5: Support subtitle-less videos

Roel van Uden 9 anos atrás
pai
commit
2f1858cde7
2 arquivos alterados com 6 adições e 4 exclusões
  1. 5 3
      src/episode.ts
  2. 1 1
      src/typings.ts

+ 5 - 3
src/episode.ts

@@ -63,8 +63,9 @@ function download(config: typings.IConfig, page: typings.IEpisodePage, player: t
 /**
  * Saves the subtitles to disk.
  */
-function downloadSubtitle(config: typings.IConfig, player: typings.IEpisodePlayer, filePath: string, done: (err: Error) => void) {
+function downloadSubtitle(config: typings.IConfig, player: typings.IEpisodePlayer, filePath: string, done: (err?: Error) => void) {
   var enc = player.subtitle;
+  if (!enc) return done();
   subtitle.decode(enc.id, enc.iv, enc.data, (err, data) => {
     if (err) return done(err);
     var formats = subtitle.formats;
@@ -151,12 +152,13 @@ function scrapePlayer(config: typings.IConfig, address: string, id: number, done
     }, (err: Error, player: typings.IEpisodePlayerConfig) => {
       if (err) return done(err);
       try {
+        var isSubtitled = Boolean(player['default:preload'].subtitle);
         done(null, {
-          subtitle: {
+          subtitle: isSubtitled ? {
             id: parseInt(player['default:preload'].subtitle.$.id, 10),
             iv: player['default:preload'].subtitle.iv,
             data: player['default:preload'].subtitle.data
-          },
+          } : null,
           video: {
             file: player['default:preload'].stream_info.file,
             host: player['default:preload'].stream_info.host

+ 1 - 1
src/typings.ts

@@ -33,7 +33,7 @@ export interface IEpisodePage {
 }
 
 export interface IEpisodePlayer {
-  subtitle: {
+  subtitle?: {
     id: number;
     iv: string;
     data: string;