UNPKG

epinfer

Version:

Extract as much information as possible from a filename.

135 lines (108 loc) 4.62 kB
var epinfer = require('./index.js'); //epinfer.debug = true; var yaml = require('js-yaml'); var Blast = require('protoblast')(true); var tests = [ 'Breaking.Bad.(Minisodes).01.Good.Cop.Bad.Cop.WEBRip.XviD.avi', 'the.simpsons.2401.hdtv-lol.mp4', 'Homeland.S02E01.HDTV.x264-EVOLVE.mp4', 'the.mentalist.501.hdtv-lol.mp4', 'new.girl.117.hdtv-lol.mp4', 'The.Office.(US).1x03.Health.Care.HDTV.XviD-LOL.avi', 'Doctor.Who.(2005).1x01.Rose.mp4', 'Californication.2x05.Vaginatown.HDTV.XviD-0TV.avi', 'Treme.1x03.Right.Place,.Wrong.Time.HDTV.XviD-NoTV.avi', 'Duckman - S1E13 Joking The Chicken (unedited).avi', 'Simpsons,.The.12x08.A.Bas.Le.Sergent.Skinner.FR.avi', '[™] Futurama - S03E22 - Le chef de fer à 30% ( 30 Percent Iron Chef ).mkv', 'The Office - S06xE01.avi', 'Psych.S02E02.65.Million.Years.Off.avi', 'One.Piece.E576.VOSTFR.720p.HDTV.x264-MARINE-FORD.srt', 'One.Piece.E576.VOSTFR.720p.HDTV.x264-MARINE-FORD.mkv', 'Pokémon S16 - E29 - 1280*720 HDTV VF.mkv', 'The Office [401] Fun Run.avi', 'Series/Californication/Season 2/Californication.2x05.Vaginatown.HDTV.XviD-0TV.avi', 'Real.Time.With.Bill.Maher.2014.10.31.HDTV.XviD-AFG.avi', '[FlexGet] Test 12', '[NoobSubs] 06 Sword Art Online II (720p 8bit AAC).mp4', 'FooBar.7v3.PDTV-FlexGet', 'FooBar.7.PDTV-FlexGet', 'Duckman - 101 (01) - 20021107 - I, Duckman.avi', 'FlexGet.14.of.21.Title.Here.720p.HDTV.AAC5.1.x264-NOGRP', 'Doctor Who (2005) - S06E13 - The Wedding of River Song.mkv', 'Marvels.Agents.of.S.H.I.E.L.D.S01E06.720p.HDTV.X264-DIMENSION.mkv', 'Friday Night Lights S01E19 - Ch-Ch-Ch-Ch-Changes.avi', 'Something.1xAll-FlexGet', 'Homeland.S02E01.HDTV.x264-EVOLVE.mp4', 'The.X-Files.S05E06.Christmas.Carol.720p.HULU.WEBRip.AAC2.0.H.264-NTb.mkv', 'itv-cosmos1x4-sd.sample.mkv', 'Gotham.S01E01.Pilot.SWESUB.720p.wbdl.x264.ac3-314r.mkv', 'Gotham.S01E01.720p.HDTV-D-I-M-E-N-S-I-O-N.nzb', 'Gotham.S01E01.FASTSUB.VOSTFR.HDTV.XviD-ADDiCTiON.avi', 'Marvels.Agents.of.S.H.I.E.L.D.S01E01.Pilot.GERMAN.DUBBED.WS.WEBRip.x264-TVP{{Best-of-senet.info}}.nzb', 'Rizzoli & Isles S01e02[Mux - XviD - Ita Mp3][TntVillage]', 'Vikings_S03e01-10_[Mux_-_1080p_-_H264_-_Ita_Ac3_Eng_Ac3_5.1_-_So.rar', 'series/Psych/Psych S02 Season 2 Complete English DVD/Psych.S02E02.65.Million.Years.Off.avi', // "CAM" issue 'montebello.camping.s01e01.720p-barehd.mkv', // New tests 'BBC.Horizon.2014.Whats.Wrong.with.Our.Weather.720p.HDTV.x264.AAC.MVGroup.org.mkv', 'Dexter.5x02.Hello,.Bandit.ENG.-.sub.FR.HDTV.XviD-AlFleNi-TeaM.[tvu.org.ru].avi', 'Fearless.S01E03.720p.HDTV.x264.ORGANiC.UKSubs.mp4', 'Wildest.Indochina.S01E03.Cambodia.the.Water.Kingdom.720p.HDTV.x264.AAC-MVGroup.org.mp4', 'Vikings.1x03.La.Pêche.Miraculeuse.FR.LD.HDTV.XviD-MiND.[tvu.org.ru].part01.rar', // Giberish 'abcdefghijklmnopqrstuvwxyzabcdefghijkl.', //'Playboy.Special-Editions.2014.09.15.-.Jaclyn.Swedberg.In.Artful.Grace.720p.WEBRip.x264.[tvu.org.ru].mp4' // New 'Good.Behavior.S01E04.Your.Mama.Had.a.Hard.Night.Uncensored.720p.WEB-DL.DD5.1.H264-RTN.mkv', // 2 broke girls issue '2.Broke.Girls.S03E10.480p.x264-mSD.mkv' // Movie tests? //'Die Hard 1988 1080p BluRay Remux AVC DTS-HD MA 5.1 - KRaLiMaRKo.mkv', //'The.Hobbit.The.Desolation.Of.Smaug.2013.1080p.BluRay.DTS.x264-HDMaNiAcS.mkv', ]; // var r = /(?=[A-Z0-9]+\.)((?:[A-Z0-9]{2,})+\.org)/gi; // var n = /(?=[A-Z0-9]+\.)([A-Z0-9]{2,}\.org)/gi; // Function.benchmark(function withGroup() { // r.exec('Dexter.5x02.Hello,.Bandit.ENG.-.sub.FR.HDTV.XviD-AlFleNi-TeaM.[tvu.org.ru].avi'); // }); // Function.benchmark(function withNoGroup() { // n.exec('Dexter.5x02.Hello,.Bandit.ENG.-.sub.FR.HDTV.XviD-AlFleNi-TeaM.[tvu.org.ru].avi'); // }); // return tests.forEach(function(name) { var result, data, temp, obj, key; let start = Date.now(); // o = /(?=[A-Z0-9]+\.)((?:[A-Z0-9]{2,})+\.org)/gi.exec(name); // console.log(o) // return result = epinfer.process(name); data = result.getData(); let end = Date.now() - start; console.log('\nProcessing "' + name + '":'); console.log(result.usedString('_')); console.log(result.getData()); console.log(' -- Took ' + end + 'ms'); temp = {}; for (key in data) { if (key[0] == '_') { continue; } temp[key] = data[key]; } obj = {}; obj[name] = temp; // Output YAML string //console.log(yaml.dump(obj, {sortKeys: true})) }); Function.benchmark(function doWithoutWebsite() { epinfer.process('Fearless.S01E03.720p.HDTV.x264.ORGANiC.UKSubs.mp4'); }); Function.benchmark(function doWithWebsite() { epinfer.process('Vikings.1x03.La.Pêche.Miraculeuse.FR.LD.HDTV.XviD-MiND.[tvu.org.ru].mp4'); });