Compare commits

...

276 Commits

Author SHA1 Message Date
Antoine Bertin e2bda1cfce Release 2.0.2 2016-06-06 22:36:59 +02:00
Antoine Bertin 5d28f14978 Fix for dogpile.cache>=0.6.0 2016-06-06 22:35:58 +02:00
Antoine Bertin 25213e3d0d Fix missing sphinx_rtd_theme dependency 2016-06-06 22:30:13 +02:00
Antoine Bertin 0322e920ed Release 2.0.1 2016-06-06 19:41:49 +02:00
Antoine Bertin fd02bbe4d6 Use beautifulsoup>=4.4.0 2016-06-06 19:39:28 +02:00
Antoine Bertin 218318286b Release 2.0.0 2016-06-04 20:39:35 +02:00
Antoine Bertin 9620b71d08 Merge pull request #665 from h3llrais3r/score-calculation
New score equations
2016-06-04 20:24:38 +02:00
h3llrais3r c5a911de4c Fix usage.rst 2016-05-27 21:45:30 +02:00
h3llrais3r a7b9ec0837 New score equations
With the new score calculation, a score increasing match (like
hearing_impaired) should not influence the score matching of the video
properties. Score increasing matches should only count as 1 and the
lowest video property match should be at least 1 more than the sum of
all score increasing matches (currently only hearing_impaired).
This fixes https://github.com/Diaoul/subliminal/issues/664
2016-05-27 21:09:34 +02:00
Antoine Bertin e2331bef2c Fix for titles without year in legendastv 2016-05-21 08:37:51 +02:00
Antoine Bertin 14707b68ca Ensure scan_videos continues if unrar is not installed 2016-05-01 18:44:54 +02:00
Antoine Bertin 37b05f710f Update omdb cassettes 2016-04-30 12:20:56 +02:00
Antoine Bertin e842729f5e Use 3.5 for integration tests in travis 2016-04-30 12:14:55 +02:00
Antoine Bertin e233448ab5 Add TooManyRequests safeguard on 304 in addic7ed 2016-04-30 12:01:43 +02:00
Antoine Bertin 5bf82fa7ac Fix failing tests 2016-04-29 16:21:10 +02:00
Antoine Bertin 431f71fb64 Fix for wrong alpha2 subtitle languages in subtitle names 2016-04-25 00:16:25 +02:00
Antoine Bertin b3a8081df7 Add original_series detection in tvdb refiner 2016-04-25 00:12:40 +02:00
Antoine Bertin 67a48e07a2 Use original series name for tvdb refiner 2016-04-14 01:13:59 +02:00
Antoine Bertin b48c0c946b Merge branch 'develop' of github.com:Diaoul/subliminal into develop 2016-04-11 23:22:08 +02:00
Antoine Bertin d5b4a4f226 Improve tvdb refiner 2016-04-11 23:21:51 +02:00
Antoine Bertin a71cefb583 Merge pull request #632 from ratoaq2/patch-1
Missing shooter provider in the docs
2016-04-11 15:49:09 +02:00
Rato a413c77b32 Missing shooter provider in the docs 2016-04-11 15:43:57 +02:00
Antoine Bertin 5d6c19002d Merge pull request #610 from ratoaq2/legendastv_season_detection
Improving season detection and handling missing season info
2016-04-10 13:06:39 +02:00
Antoine Bertin a6b8068b7c Merge branch 'develop' of github.com:Diaoul/subliminal into develop 2016-04-10 13:04:53 +02:00
Antoine Bertin 70a647813b Refactor subscenter and fix when no title is found 2016-04-10 13:03:34 +02:00
Antoine Bertin ec5aaffe26 Typo in shooter provider 2016-04-10 13:01:21 +02:00
Rato 2e07fc17f2 Improving LegendasTv season detection and handling missing season information 2016-04-09 21:11:29 +02:00
Antoine Bertin 66fd2d10ac Merge pull request #626 from ratoaq2/shooter_fixes
Adding missing hash and id property in shooter provider
2016-04-09 20:56:15 +02:00
Rato 5218c9ff45 Adding missing hash and id property in shooter provider. Credits to @medariox 2016-04-09 19:26:46 +02:00
Antoine Bertin f53e6488db Fix wrong expiration time in legendastv provider 2016-04-09 17:53:29 +02:00
Antoine Bertin d33bd854e0 Fix timestamp regex in legendastv provider 2016-04-09 17:52:58 +02:00
Antoine Bertin abccb4387e Add pytz dependency 2016-04-09 17:52:31 +02:00
Antoine Bertin b9c4c86e1f Improve caching for legendastv provider
- Archive pages are cached for 15 minutes only
- Releases expiration time is based on archive timestamp
2016-04-09 12:32:09 +02:00
Antoine Bertin 25ece03102 Use raw strings for regular expressions 2016-04-08 23:53:18 +02:00
Antoine Bertin 08fbe4b43b Code style in legendastv provider 2016-04-08 23:52:44 +02:00
Antoine Bertin 104004535f Merge pull request #615 from ratoaq2/legendastv_improvements
Avoiding exceptions when legendastv provider returns invalid year/season
2016-04-08 23:30:02 +02:00
Antoine Bertin 8727137847 Merge pull request #611 from ratoaq2/legendastv_titles_with_dots
Handling titles with dots (legendastv provider)
2016-04-08 23:26:07 +02:00
Antoine Bertin 7c2023b4b3 Improve tvdb refiner
Make sure we have an exact match on the series
2016-04-08 21:09:06 +02:00
Antoine Bertin 1d085475d9 Use dots for version 2016-04-08 21:05:04 +02:00
Antoine Bertin 3ebb63bc80 Update opensubtitles cassettes 2016-04-08 21:03:35 +02:00
Rato c0ce9cf187 Avoiding exceptions when legendastv provider returns year or invalid season 2016-04-02 21:36:12 +02:00
Rato d7649eac1f Fixing searching titles with dots for LegendasTv provider 2016-04-02 19:28:44 +02:00
Antoine Bertin f80eb29a5a Update HISTORY 2016-03-31 23:30:51 +02:00
Antoine Bertin ecd7a6679b Release 2.0-rc1 2016-03-31 23:28:12 +02:00
Antoine Bertin b6ed77a56c Be more permissive for release group matching 2016-03-31 23:15:40 +02:00
Antoine Bertin 213ffcb41a Fix typo 2016-03-31 23:06:32 +02:00
Antoine Bertin 79de8e7f93 Fix tvdb refiner when search returned no results 2016-03-31 23:04:46 +02:00
Antoine Bertin a732b0c75b Default season to 1 for miniseries 2016-03-31 22:44:39 +02:00
Antoine Bertin a38527b722 Update documentation 2016-03-31 22:33:54 +02:00
Antoine Bertin 1d9ad95aaf Remove duplicate check on encoding in Subtitle class 2016-03-31 21:07:17 +02:00
Antoine Bertin 9785bc9746 Add legendastv provider 2016-03-31 20:18:24 +02:00
Antoine Bertin 328e342b9c Fix extensions unittests 2016-03-24 07:52:35 +01:00
Antoine Bertin 7ed39c15dd Fix core unittest missing shooter 2016-03-23 10:40:01 +01:00
Antoine Bertin 7cca57332b Add shooter to extensions 2016-03-23 10:39:43 +01:00
Antoine Bertin cef6cb8826 Remove unused imports in shooter 2016-03-23 10:39:35 +01:00
Antoine Bertin 1faf26547b Ensure cassette paths are resolved at import time 2016-03-23 10:39:13 +01:00
Antoine Bertin 54555b2b16 Move cassettes from api to core 2016-03-23 10:38:00 +01:00
Antoine Bertin 152a5f12c3 Update docs usage cassette 2016-03-23 10:37:18 +01:00
Antoine Bertin b530c0e875 Rename server to server_url in subscenter provider 2016-03-23 09:51:45 +01:00
Antoine Bertin c03be0e2f0 Merge branch 'develop' of https://github.com/bcse/subliminal into bcse-develop 2016-03-23 09:49:59 +01:00
Antoine Bertin ceb641daa5 Update omdb unittests and cassettes 2016-03-21 22:36:52 +01:00
Antoine Bertin 10c9ab7a8f Do not sort refiners in config 2016-03-20 23:33:55 +01:00
Antoine Bertin 63dd6a1f3c Mention minimum python version in the docs 2016-03-20 23:21:13 +01:00
Antoine Bertin 460528bf87 Add configuration for refiners 2016-03-20 23:11:36 +01:00
Antoine Bertin ccb90734bd Fix call to scan_videos in cli 2016-03-20 21:17:23 +01:00
Antoine Bertin 2ed731ce15 Remove unused kwargs in scan_videos 2016-03-20 21:14:01 +01:00
Antoine Bertin c0547a63ca Update refiners docs 2016-03-20 19:29:29 +01:00
Antoine Bertin 54b9439e54 Update kwargs docs 2016-03-20 19:29:10 +01:00
Antoine Bertin 91267191f1 Add a refiner option in CLI 2016-03-20 12:10:35 +01:00
Antoine Bertin f8854fe89a Add a warning when some providers are discarded in CLI 2016-03-20 12:09:40 +01:00
Antoine Bertin 2ee9e6333b Default refine arguments inside the function 2016-03-20 12:09:16 +01:00
Antoine Bertin f6395e4022 Sort results from tvdb 2016-03-20 11:21:40 +01:00
Antoine Bertin 160b5f8416 Add user agent to requests made to tvdb in unittests 2016-03-20 11:17:04 +01:00
Antoine Bertin 34ce399d7c Remove unused tvdb cassette 2016-03-20 11:15:17 +01:00
Antoine Bertin 68b7b57bbd Add more time to refresh token in tvdb unittests 2016-03-20 11:14:39 +01:00
Antoine Bertin f40e79a78b Fix invalid extension tests 2016-03-07 23:40:16 +01:00
Antoine Bertin 2039cf78d6 Avoid encoding issues in logging 2016-03-07 23:22:07 +01:00
Antoine Bertin 5926fbe2bd Reorder refiners 2016-03-07 23:21:27 +01:00
Antoine Bertin 5f4d83ddc2 Fix doctests 2016-03-07 23:10:19 +01:00
Antoine Bertin 25644ede67 Remove some comments in search_external_subtitles 2016-03-07 23:10:11 +01:00
Antoine Bertin 2a68d04d60 Merge branch 'develop' of https://github.com/brp-david/subliminal into brp-david-develop 2016-03-07 23:07:50 +01:00
Antoine Bertin 4486c44020 Fix addic7ed unittests 2016-02-29 23:02:18 +01:00
Antoine Bertin 8f39a2037f Remove duplicate logging 2016-02-29 23:02:09 +01:00
Antoine Bertin e9e0c60bb1 Move refine to its own function 2016-02-29 23:01:55 +01:00
Antoine Bertin 768f4a43bc Add verbosity to refiners 2016-02-29 23:00:41 +01:00
Antoine Bertin c3c0c4584f Replace dot by space instead of removing it in sanitize 2016-02-25 00:40:26 +01:00
Antoine Bertin b5b6dc827a Add SubFileName information in opensubtitles 2016-02-25 00:39:52 +01:00
Antoine Bertin 6a4124c8b1 Improve logging of found subtitles in opensubtitles 2016-02-25 00:37:08 +01:00
Antoine Bertin b709799039 Merge branch 'develop' of github.com:Diaoul/subliminal into develop 2016-02-24 23:37:37 +01:00
Antoine Bertin c3d85a0b6d Refactoring 2016-02-24 23:37:24 +01:00
Antoine Bertin a8033f386c Fix extension check in metadata refiner 2016-02-24 23:36:25 +01:00
Antoine Bertin 15993ce647 Use logging string formatting 2016-02-24 23:35:29 +01:00
Antoine Bertin 484788757b Add a constructor docstring to RegistrableExtensionManager 2016-02-24 23:32:38 +01:00
Antoine Bertin b36971ed49 Add kwargs to RegistrableExtensionManager 2016-02-24 23:32:17 +01:00
Antoine Bertin b6ed4103ef Fix extensions registering
Not making a copy of the list resulted in updating
the ENTRY_POINT_CACHE which is not what we want.
2016-02-24 23:31:36 +01:00
Antoine Bertin 58fb9728ad Typo in usage docs 2016-02-24 23:29:53 +01:00
Antoine Bertin f7526d338c pep8 in setup.py 2016-02-24 23:24:15 +01:00
Antoine Bertin aa72a205f2 Refactor encoding validation in Subtitle 2016-02-21 23:41:55 +01:00
Antoine Bertin 2d97781fe5 Documentation fixes 2016-02-21 23:41:43 +01:00
Antoine Bertin d5d191847f Require appdirs 1.3 due to issues with appauthor 2016-02-21 23:34:11 +01:00
Antoine Bertin 8cd6a05301 Add nitpicky flag to sphinx 2016-02-21 23:33:39 +01:00
Antoine Bertin f5435b1c81 Use python 3.5 as documentation reference 2016-02-21 23:33:29 +01:00
Antoine Bertin 0a1a164cb1 Use relative imports in thesubdb 2016-02-21 22:51:45 +01:00
Antoine Bertin 200ff42385 Update refiners documentation 2016-02-21 22:51:32 +01:00
Antoine Bertin ca6a041ac8 Add metadata refiner 2016-02-21 22:51:09 +01:00
Antoine Bertin bf74bc0a0b Move extension managers to an extensions module 2016-02-21 22:50:35 +01:00
Antoine Bertin b58f072348 Update docs 2016-02-21 22:49:31 +01:00
Grey Lee a449ce3bb8 Merge branch 'develop' of https://github.com/Diaoul/subliminal into develop 2016-02-15 19:06:12 +08:00
Antoine Bertin d7d7a2c49d Typo 2016-02-12 17:19:49 +01:00
Grey Lee 051545444b Update cassettes for shooter.cn 2016-02-11 14:00:29 +08:00
Grey Lee dfb3943643 Add Shooter.cn provider 2016-02-11 13:49:27 +08:00
David Lindahl a00af07e58 Merged develop 2016-02-10 12:19:39 +01:00
David Lindahl c79908b320 Merge branch 'upstream-develop' into develop
Conflicts:
	subliminal/video.py
2016-02-10 10:25:03 +01:00
Antoine Bertin 864ecf4c7c Reverse __short_version__ logic 2016-02-09 19:16:57 +01:00
Antoine Bertin e0a996c090 Improve setup.py 2016-02-09 19:16:36 +01:00
Antoine Bertin 8dd1f2344c Rename api to core 2016-02-09 19:15:44 +01:00
Antoine Bertin 4e326452d5 Update scores 2016-02-09 18:50:21 +01:00
Antoine Bertin b0bd236b40 Add refiners 2016-02-09 17:25:18 +01:00
Antoine Bertin 202eb610af Update api cassettes 2016-02-09 17:24:46 +01:00
Antoine Bertin 6dfb479da5 Update tvsubtitles cassettes 2016-02-09 17:20:41 +01:00
Antoine Bertin b3f8a3ca4b Update subscenter cassettes 2016-02-09 17:19:52 +01:00
Antoine Bertin daacc015b8 Update thesubdb cassettes 2016-02-09 17:19:15 +01:00
Antoine Bertin 62b5ab6b5a Update podnapisi cassettes 2016-02-09 17:17:08 +01:00
Antoine Bertin 2984bedcd0 Fix addic7ed test_query_parsing_dash unittest 2016-02-09 17:16:19 +01:00
Antoine Bertin e08a0fa847 Update opensubtitles cassettes 2016-02-09 17:15:58 +01:00
Antoine Bertin 3705d5510d Update addic7ed cassettes 2016-02-09 17:14:38 +01:00
Antoine Bertin 727772fe31 Do not override default headers 2016-02-09 17:05:50 +01:00
Antoine Bertin a7b13a15e5 Use str for imdb_id, add tvdb_id and imdb_id for series in Episode 2016-02-09 16:42:56 +01:00
Antoine Bertin 9d7ed43add Major version bump 2016-02-09 16:39:19 +01:00
Antoine Bertin 24f18379e4 Update license to 2016 2016-02-09 16:16:21 +01:00
David f339c90fc3 Added short name of flag 2016-02-09 12:31:31 +01:00
David Lindahl 4c32df1f22 Simplified rar scanning 2016-02-08 21:27:32 +01:00
David Lindahl 47a18336af Support for scanning archives for video files 2016-02-06 23:35:02 +01:00
Antoine Bertin 5c23a0b375 Add original_series to Episode 2016-02-05 20:29:22 +01:00
Antoine Bertin 5e8cbad452 Refactor title sanitization 2016-02-05 17:59:35 +01:00
Antoine Bertin 2cd305ab3e Remove unused monkeypatch fixture in unittest 2016-02-05 16:31:04 +01:00
Antoine Bertin e038418bd3 Use kwargs for video subclasses 2016-02-05 16:29:04 +01:00
Antoine Bertin 6a1323b218 Use kwargs in scan_videos 2016-02-05 16:25:30 +01:00
Antoine Bertin ae1aaaddb8 Remove unused CACHE_VERSION 2016-02-05 10:06:17 +01:00
Antoine Bertin e97ad5cd06 Update README with new scan_videos age parameter 2016-02-04 15:02:20 +01:00
Antoine Bertin c0fc1e9a50 Use __short_version__ instead of get_version 2016-02-04 10:59:21 +01:00
Antoine Bertin f245383c28 Add year match in podnapisi for episodes
Although it shouldn't change anything because the subtitle always
contains the year information so no match on None can be made.
2016-02-04 00:56:55 +01:00
Antoine Bertin 89a2f7aaef Add year match in opensubtitles for episodes
Although it was already matched by guess_matches, this will add
the match even if guess_matches fails.
2016-02-04 00:45:29 +01:00
Antoine Bertin 78a881fe56 Use appdirs and correct cache dir for cli 2016-02-03 19:39:21 +01:00
Antoine Bertin 680bc12303 Refer to nautilus-subliminal in usage documentation 2016-02-03 19:38:55 +01:00
Antoine Bertin 05efb826b8 Lower requirement of futures 2016-02-03 19:30:25 +01:00
Antoine Bertin fdd0da3c43 Use sphinxcontrib-programoutput to document CLI 2016-02-02 22:32:37 +01:00
Antoine Bertin c9344822a3 Merge branch 'score' into develop 2016-02-02 22:32:15 +01:00
Antoine Bertin 0d15c2db01 Merge branch 'async' into develop 2016-02-02 19:13:31 +01:00
Antoine Bertin 272c36ac65 Refactor scoring 2016-02-02 19:10:48 +01:00
Antoine Bertin 8c1ab6cce7 Typo in documentation 2016-01-31 18:35:17 +01:00
Antoine Bertin b5c1b2e912 Fix documentation warning about with not being a keyword 2016-01-31 18:34:59 +01:00
Antoine Bertin 43ae916e96 Add AsyncProviderPool 2016-01-31 18:24:31 +01:00
Antoine Bertin c431c85abe Fix age in scan_videos 2016-01-30 18:02:58 +01:00
Antoine Bertin 5a3971a304 Remove transifex-client dev dependency 2016-01-30 17:28:49 +01:00
Antoine Bertin 5331c8d44e Add installation instructions 2016-01-29 01:05:31 +01:00
Antoine Bertin d125ffaae5 Fix for dashes in series name in addic7ed 2016-01-29 00:30:11 +01:00
Antoine Bertin 29b5e782de Merge branch 'develop' of github.com:Diaoul/subliminal into develop 2016-01-28 23:59:24 +01:00
Antoine Bertin 163115da88 Add age parameter to scan_videos to improve performance 2016-01-28 23:59:04 +01:00
Antoine Bertin 25a1ce1a5f Merge pull request #564 from Toilal/guessit2
Update guessit to 2.0
2016-01-28 20:50:47 +01:00
Toilal a5a7eb6092 Update guessit to 2.0 2016-01-28 01:47:02 +01:00
Antoine Bertin 17cce96721 Merge branch 'master' into develop 2016-01-04 12:01:07 +01:00
Antoine Bertin 615185e373 Use develop branch for badges 2016-01-04 11:59:15 +01:00
Antoine Bertin ab29e34f5a Improve query and add tag in opensubtitles 2016-01-04 10:06:00 +01:00
Antoine Bertin 101da7367e Allow subliminal to run without install 2016-01-03 21:40:37 +01:00
Antoine Bertin 75faf5c0fd Update cassettes for 1.2 2016-01-03 16:49:33 +01:00
Antoine Bertin 71f44a0d77 Remove unused import 2016-01-03 16:36:18 +01:00
Antoine Bertin 8ce2f70370 Merge branch 'hotfix' into develop 2016-01-03 11:24:09 +01:00
Antoine Bertin bd61a43b2f Release 1.1.1 2016-01-03 11:22:15 +01:00
Antoine Bertin 7ffa1e6b23 Catch all errors when parsing metadata with enzyme 2016-01-03 10:51:10 +01:00
Antoine Bertin fe29f5e2f3 Mention Nemo in README 2016-01-03 01:34:44 +01:00
Antoine Bertin cd10f3f07a Move nautilus support to its own project 2016-01-02 01:35:01 +01:00
Antoine Bertin 1d39627311 Update cli user docs 2015-12-30 20:51:15 +01:00
Antoine Bertin 006ef3e8c8 Switch to 1.2.dev0 2015-12-29 23:43:48 +01:00
Antoine Bertin f799137483 Release 1.1 2015-12-29 23:39:28 +01:00
Antoine Bertin 4dadafb87f Fix unittests 2015-12-29 21:19:20 +01:00
Antoine Bertin e85c21f40e Fix pep8 in subscenter 2015-12-29 20:01:28 +01:00
Antoine Bertin e5c50242fa Use pytest-runner 2015-12-29 20:01:06 +01:00
Antoine Bertin 2eda69d429 Keep releases sorted in subscenter 2015-12-28 21:01:40 +01:00
Antoine Bertin 6e027133cc Fix api unittests 2015-12-28 17:02:45 +01:00
Antoine Bertin eb49003bd6 Clean README 2015-12-28 16:25:42 +01:00
Antoine Bertin 707b189ab2 Clean up subscenter 2015-12-28 16:23:49 +01:00
Antoine Bertin dfb0b85877 Remove Podnapisi video_types override 2015-12-28 16:22:12 +01:00
Antoine Bertin e0b7ce46cb Use str instead of string in docstrings 2015-12-28 16:21:37 +01:00
Antoine Bertin 5912f366f8 Remove leftover print statement in unittests 2015-12-28 16:21:18 +01:00
Antoine Bertin 8b3786a875 Fix sanitized_string_equal when passing None 2015-12-28 16:20:24 +01:00
Antoine Bertin 815cee81c5 Merge remote-tracking branch 'ofir123/subscenter_support' into subscenter 2015-12-27 20:25:07 +01:00
Antoine Bertin 3b08b452a0 Disable napiproject 2015-12-27 17:02:28 +01:00
Antoine Bertin b03f97c91e Fix typo in usage documentation 2015-11-07 18:17:04 +01:00
Antoine Bertin d62a09beba Restrict to guessit<2.0 2015-11-05 23:18:10 +01:00
Antoine Bertin 90ebdebe99 Update HISTORY 2015-11-05 23:17:38 +01:00
Antoine Bertin 2e37b94bd3 Add support for searching subtitles in a separate directory 2015-11-05 23:16:46 +01:00
Antoine Bertin f10cbc04e2 Fix shows with colon in name in addic7ed provider 2015-11-05 11:06:14 +01:00
Antoine Bertin 85de66bcf2 Update translations 2015-10-30 21:13:25 +01:00
Antoine Bertin a98b5a2a04 Code style 2015-10-30 21:12:34 +01:00
Antoine Bertin 51cf652fe2 Simplify instructions to generate the po template file 2015-10-30 21:12:19 +01:00
Antoine Bertin ae117cb383 Add support for transifex client 2015-10-30 21:11:27 +01:00
Antoine Bertin 7ec08b2dcb Update translations 2015-10-30 17:51:17 +01:00
Antoine Bertin e721d6c295 Fix logging message in download_best_subtitles 2015-10-30 17:41:43 +01:00
Antoine Bertin 9d9bf92a4f Merge pull request #520 from mouchar/develop
Get enconding from OpenSubtitles provider
2015-10-30 17:30:33 +01:00
Antoine Bertin fadf3d935f Add dev-requirements.txt 2015-10-30 17:23:48 +01:00
Antoine Bertin 06aae43d7f Update unittests and cassettes 2015-10-30 10:10:39 +01:00
Antoine Bertin 9b81449dbd Fix id property in thesubdb provider 2015-10-30 10:09:59 +01:00
Antoine Bertin c369e29975 Fix log messages for downloading subtitles in podnapisi and thesubdb 2015-10-30 09:06:41 +01:00
Antoine Bertin 1a00f6fe9a Add user-agent in requests of napiprojekt provider 2015-10-30 09:05:48 +01:00
Antoine Bertin b2c38e24a2 Merge branch 'develop' of github.com:Diaoul/subliminal into develop 2015-10-30 08:57:37 +01:00
Antoine Bertin 19b3fe8495 Merge pull request #532 from bogdal/fix/napiprojekt-tests
Fix napiprojekt tests
2015-10-30 08:27:22 +01:00
Adam Bogdał 7752b92588 Restore hash of scanned movie file 2015-10-30 02:48:50 +01:00
Adam Bogdał cddeb3e552 Set appropriate subhash 2015-10-30 02:27:11 +01:00
Adam Bogdał 84eb32a4f1 Use real file hash 2015-10-30 02:22:16 +01:00
Antoine Bertin 7779fc0a21 Use new string sanitizing functions in addic7ed provider 2015-10-29 23:30:16 +01:00
Antoine Bertin 1c8f7c1954 Use real name for marvels agents of shield 2015-10-29 23:28:59 +01:00
Antoine Bertin 9fc92ab065 Fix sanitize string logic 2015-10-29 23:27:24 +01:00
Antoine Bertin ea8b646c96 Add a TooManyRequests exception in addic7ed provider 2015-10-29 23:22:59 +01:00
Antoine Bertin bc218fa138 Fix for series name with special characters in addic7ed provider 2015-10-29 22:25:28 +01:00
Antoine Bertin 2ef474960b Improve matching on titles 2015-10-29 22:22:49 +01:00
Robert Moucha fe6cfa663a Get enconding from OpenSubtitles provider
OpenSubtitles returns 'SubEncoding' so we can avoid guess_encoding()

* added condition on encoding to test_download_subtitle
* Safe handling of corrupted encoding names
2015-10-21 14:54:57 +02:00
Antoine Bertin 769b16de83 Support python 3.5 2015-10-20 20:24:31 +02:00
Antoine Bertin 4e8ea6587b Merge pull request #508 from ratoaq2/patch-1
Fix for #507
2015-10-20 20:01:52 +02:00
ofir123 4eb23d6512 Removed title guessing. 2015-10-04 12:57:54 +03:00
ofir123 b756704121 Improved title search and added cache. 2015-10-02 17:59:30 +03:00
allanjones 192b7fce1d Fix for #507: TheSubDB pt is actually pt-BR 2015-09-22 14:29:36 +02:00
ofir123 1c35aac8ce Fixed CR notes. 2015-09-22 15:22:29 +03:00
ofir123 99a071f486 Fixed tests. 2015-09-14 14:44:06 +03:00
Antoine Bertin 62e71e4c75 Created and pushed by LingoHub. Project: 'subliminal' by User: 'diaoulael@gmail.com'. 2015-09-14 07:24:40 +02:00
ofir123 e44944c538 Fixed Python 3.4 compatibility. 2015-09-13 23:34:18 +03:00
ofir123 2dd9409f9c Sorted everything alphabetically. 2015-08-30 01:23:11 +03:00
ofir123 5d2292092f Fixed tests and refreshed all subscenter cassettes. 2015-08-29 20:27:07 +03:00
ofir123 9fb3576bb2 Zipfile and entry point fix. 2015-08-29 19:56:33 +03:00
ofir123 04e3512f71 Updated global test_api file. 2015-08-29 19:11:02 +03:00
ofir123 327a40ea75 Added tests file and cassettes. 2015-08-29 19:05:55 +03:00
ofir123 dc59b44371 Added the new SubsCenter provider, and updated CLI and docs accordingly. 2015-08-29 14:27:44 +03:00
Diaoul 979bc39522 Add gitter badge 2015-08-27 22:56:19 +02:00
Diaoul db1c404a02 Code style 2015-08-27 18:49:58 +02:00
Diaoul e05297b09f Update opensubtitles cassettes 2015-08-27 18:49:54 +02:00
Diaoul b60cb8a81f pep8 for nautilus 2015-08-27 17:27:23 +02:00
Diaoul 835dcd6eec Add contributing notes for translations 2015-08-27 17:09:10 +02:00
Diaoul 26cb66aa45 Add a README to examples 2015-08-27 17:08:51 +02:00
Diaoul d4dc59aeba Update french translations 2015-08-27 17:06:50 +02:00
Diaoul 5258ef400f Code style 2015-08-27 17:06:13 +02:00
Diaoul 50ef6efcfa Discourage use of the single flag 2015-08-27 17:05:40 +02:00
Diaoul 4b1cb36343 Make sure dict keys are unique in nautilus 2015-08-27 11:59:46 +02:00
Diaoul 4324460005 Add nautilus integration 2015-08-27 00:03:48 +02:00
Diaoul 620688d92a Refactor paths in cli 2015-08-26 22:59:10 +02:00
Diaoul 89d5ea929b Add a config class in cli 2015-08-26 22:58:37 +02:00
Diaoul 168004dc89 Describe how to get a debug log file in CONTRIBUTING 2015-08-26 22:57:55 +02:00
Diaoul 1ad88032f2 Switch to dev version 2015-08-26 22:49:56 +02:00
Diaoul 4000f9e894 Fix allow_failures in travis 2015-08-24 15:17:00 +02:00
Diaoul 8b825263d4 Use use the VCR_RECORD_MODE environment variable in napiprojekt tests 2015-08-23 11:43:22 +02:00
Diaoul 7247568d96 Make sure extra pytest opts are passed to the test command 2015-08-23 11:37:09 +02:00
Diaoul 74d5175152 Fix travis matrix 2015-08-23 11:37:09 +02:00
Diaoul 130d961e72 Update tests to use the VCR_RECORD_MODE environment variable 2015-08-23 11:37:09 +02:00
Diaoul 02dd9a77f0 Add a travis configuration for integration tests without cassette 2015-08-23 11:37:09 +02:00
Diaoul f6f40d81a1 Use explicit strings for python versions in travis 2015-08-23 11:37:09 +02:00
Diaoul 79fb0442dd Remove unicode_literals imports 2015-08-23 11:36:32 +02:00
Diaoul 56a8b2c7cf Code style changes and slight refactoring of napiprojekt 2015-08-22 23:20:30 +02:00
Diaoul 71a06d5bbc Normalize some logging messages 2015-08-22 21:41:24 +02:00
Diaoul 55ac0a941b Merge remote-tracking branch 'bogdal/napiprojekt' into develop 2015-08-22 20:51:45 +02:00
Antoine Bertin 0aaa4347f8 Merge pull request #491 from h3llrais3r/develop
Fix logging error
2015-08-22 20:46:32 +02:00
Antoine Bertin 4c11e2d5c1 Merge pull request #492 from h3llrais3r/login-opensubtitles
Login opensubtitles
2015-08-22 20:46:10 +02:00
Diaoul 3bc239ffee Add contributing notes 2015-08-22 20:33:04 +02:00
h3llrais3r e797516468 Updated opensubtitles test for login bad password 2015-08-22 11:36:07 +02:00
h3llrais3r aa67ccd098 Clear token in opensubtitles terminate 2015-08-22 11:35:58 +02:00
h3llrais3r b1c5ca5a00 Cleanup and code formatting 2015-08-22 11:35:53 +02:00
h3llrais3r 050d29a186 Add tests for opensubtitles login 2015-08-22 11:35:50 +02:00
h3llrais3r 7d8ce8bb30 Add support for opensubitles login
Make it possible to specify your own username and password for
downloading from opensubtitles.
2015-08-22 11:35:44 +02:00
h3llrais3r 38f5d303f9 Fix logging error
Fix console error when logging score below min_score
2015-08-22 11:20:47 +02:00
Diaoul 38c86b4cf1 Fix library usage example in README 2015-08-21 17:52:01 +02:00
Adam Bogdał 1da6d181d5 Add NapiProjekt provider 2015-08-18 03:55:56 +02:00
Diaoul e0788be5af Release 1.0.1 2015-07-23 00:44:56 +02:00
Diaoul 52709a3e25 Remove useless dash in cli message 2015-07-23 00:35:05 +02:00
Diaoul 25cf0ac996 Fix scaled score in cli 2015-07-23 00:33:58 +02:00
Diaoul 4c3d7d5b9d Improve CLI
- Convert paths to str
- Add logs
- Catch errors
- Colored output report
2015-07-23 00:11:29 +02:00
Diaoul b4cbfc0de2 Add CLI api doc 2015-07-23 00:05:47 +02:00
Diaoul 600393c12a Fix scan_videos docstring 2015-07-22 19:43:34 +02:00
Diaoul faeeeca39a Switch to dev version 2015-07-22 19:43:07 +02:00
226 changed files with 96056 additions and 202140 deletions
+24 -4
View File
@@ -3,14 +3,34 @@ sudo: false
language: python
python:
- 2.7
- 3.3
- 3.4
- "2.7"
- "3.3"
- "3.4"
- "3.5"
env:
- PARSER=native
- PARSER=lxml
addons:
apt:
packages:
- unrar
matrix:
include:
- python: "3.5"
env:
- PARSER=native
- VCR_RECORD_MODE=all
- PYTEST_ADDOPTS="-m integration"
allow_failures:
- python: "3.5"
env:
- PARSER=native
- VCR_RECORD_MODE=all
- PYTEST_ADDOPTS="-m integration"
cache:
directories:
- $HOME/.cache/pip
@@ -24,6 +44,6 @@ install:
- if [ $PARSER = "lxml" ]; then pip install lxml; fi
- pip install coveralls
script: python setup.py test -a "--cov subliminal --verbose"
script: python setup.py test --addopts "--cov subliminal --verbose $PYTEST_ADDOPTS"
after_success: coveralls
+19
View File
@@ -0,0 +1,19 @@
Contributing
============
Issues
------
Issues are intended for bug report and feature requests. For any bug report please make sure to include the complete
stack trace and DEBUG level logs as well as reproduce steps.
If you use the CLI, you can create a debug log file with `subliminal --debug [...] 2> debug.log`.
Pull Requests
-------------
You can contribute code and documentation with pull requests. Any code contribution must be unit tested and the pull
request open against the *develop* branch.
Translations
------------
Contribution to translations can be made on [subliminal's transifex page](https://www.transifex.com/subliminal/subliminal/)
Subliminal is configured to work with [transifex-client](http://docs.transifex.com/client/)
+64
View File
@@ -1,6 +1,69 @@
Changelog
---------
2.0.2
^^^^^
**release date:** 2016-06-06
* Fix for dogpile.cache>=0.6.0
* Fix missing sphinx_rtd_theme dependency
2.0.1
^^^^^
**release date:** 2016-06-06
* Fix beautifulsoup4 minimal requirement
2.0.0
^^^^^
**release date:** 2016-06-04
* Add refiners to enrich videos with information from metadata, tvdb and omdb
* Add asynchronous provider search for faster searches
* Add registrable managers so subliminal can run without install
* Add archive support
* Add the ability to customize scoring logic
* Add an age argument to scan_videos for faster scanning
* Add legendas.tv provider
* Add shooter.cn provider
* Improve matching and scoring
* Improve documentation
* Split nautilus integration into its own project
1.1.1
^^^^^
**release date:** 2016-01-03
* Fix scanning videos on bad MKV files
1.1
^^^
**release date:** 2015-12-29
* Fix library usage example in README
* Fix for series name with special characters in addic7ed provider
* Fix id property in thesubdb provider
* Improve matching on titles
* Add support for nautilus context menu with translations
* Add support for searching subtitles in a separate directory
* Add subscenter provider
* Add support for python 3.5
1.0.1
^^^^^
**release date:** 2015-07-23
* Fix unicode issues in CLI (python 2 only)
* Fix score scaling in CLI (python 2 only)
* Improve error handling in CLI
* Color collect report in CLI
1.0
^^^
**release date:** 2015-07-22
@@ -9,6 +72,7 @@ Changelog
* New test suite
* New documentation
* New CLI
* Added support for SubsCenter
0.7.5
+1 -1
View File
@@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2015 Antoine Bertin
Copyright (c) 2016 Antoine Bertin
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
+30 -11
View File
@@ -6,7 +6,7 @@ Subtitles, faster than your thoughts.
:target: https://pypi.python.org/pypi/subliminal
:alt: Latest Version
.. image:: https://travis-ci.org/Diaoul/subliminal.svg?branch=master
.. image:: https://travis-ci.org/Diaoul/subliminal.svg?branch=develop
:target: https://travis-ci.org/Diaoul/subliminal
:alt: Travis CI build status
@@ -14,14 +14,18 @@ Subtitles, faster than your thoughts.
:target: https://subliminal.readthedocs.org/
:alt: Documentation Status
.. image:: https://coveralls.io/repos/Diaoul/subliminal/badge.svg?branch=master&service=github
:target: https://coveralls.io/github/Diaoul/subliminal?branch=master
.. image:: https://coveralls.io/repos/Diaoul/subliminal/badge.svg?branch=develop&service=github
:target: https://coveralls.io/github/Diaoul/subliminal?branch=develop
:alt: Code coverage
.. image:: https://img.shields.io/github/license/Diaoul/subliminal.svg
:target: https://github.com/Diaoul/subliminal/blob/master/LICENSE
:alt: License
.. image:: https://img.shields.io/badge/gitter-join%20chat-1dce73.svg
:alt: Join the chat at https://gitter.im/Diaoul/subliminal
:target: https://gitter.im/Diaoul/subliminal
:Project page: https://github.com/Diaoul/subliminal
:Documentation: https://subliminal.readthedocs.org/
@@ -35,7 +39,7 @@ Download English subtitles::
$ subliminal download -l en The.Big.Bang.Theory.S05E18.HDTV.x264-LOL.mp4
Collecting videos [####################################] 100%
1 video collected / 0 video ignored
1 video collected / 0 video ignored / 0 error
Downloading subtitles [####################################] 100%
Downloaded 1 subtitle
@@ -46,18 +50,33 @@ Download best subtitles in French and English for videos less than two weeks old
.. code:: python
from datetime import timedelta
from babelfish import Language
from subliminal import download_best_subtitles, region, save_subtitles, scan_videos
# configure the cache
region.configure('dogpile.cache.dbm', arguments={'filename': 'cachefile.dbm'})
# scan for videos newer than 2 weeks and their existing subtitles in a folder
videos = [v for v in scan_videos('/video/folder') if v.age < timedelta(weeks=2)]
videos = scan_videos('/video/folder', age=timedelta(weeks=2))
# download best subtitles
subtitles = download_best_subtitles(videos, {Language('eng'), Language('fra')})
# save them to disk, next to the video
save_subtitles(subtitles)
for v in videos:
save_subtitles(v, subtitles[v])
Installation
------------
Subliminal can be installed as a regular python module by running::
$ [sudo] pip install subliminal
For a better isolation with your system you should use a dedicated virtualenv or install for your user only using
the ``--user`` flag.
Nautilus/Nemo integration
-------------------------
See the dedicated `project page <https://github.com/Diaoul/nautilus-subliminal>`_ for more information.
+1
View File
@@ -0,0 +1 @@
-e .[dev,test]
-7
View File
@@ -1,7 +0,0 @@
API
===
.. automodule:: subliminal.api
.. data:: provider_manager
:class:`~stevedore.extension.ExtensionManager` based on the entry point ``subliminal.providers``
+3 -3
View File
@@ -2,15 +2,15 @@ Cache
=====
.. module:: subliminal.cache
.. autodata:: CACHE_VERSION
:annotation:
.. autodata:: SHOW_EXPIRATION_TIME
:annotation:
.. autodata:: EPISODE_EXPIRATION_TIME
:annotation:
.. autodata:: REFINER_EXPIRATION_TIME
:annotation:
.. data:: region
:annotation:
+3
View File
@@ -0,0 +1,3 @@
CLI
===
.. automodule:: subliminal.cli
+7
View File
@@ -0,0 +1,7 @@
Core
====
.. automodule:: subliminal.core
:exclude-members: ARCHIVE_EXTENSIONS
.. autodata:: ARCHIVE_EXTENSIONS
:annotation:
+3
View File
@@ -0,0 +1,3 @@
Extensions
==========
.. automodule:: subliminal.extensions
+45
View File
@@ -1,3 +1,48 @@
Providers
=========
.. automodule:: subliminal.providers
Addic7ed
--------
.. automodule:: subliminal.providers.addic7ed
:private-members:
LegendasTv
----------
.. automodule:: subliminal.providers.legendastv
:private-members:
NapiProjekt
-----------
.. automodule:: subliminal.providers.napiprojekt
:private-members:
OpenSubtitles
-------------
.. automodule:: subliminal.providers.opensubtitles
:private-members:
Podnapisi
---------
.. automodule:: subliminal.providers.podnapisi
:private-members:
Shooter
-------
.. automodule:: subliminal.providers.shooter
:private-members:
SubsCenter
----------
.. automodule:: subliminal.providers.subscenter
:private-members:
TheSubDB
--------
.. automodule:: subliminal.providers.thesubdb
:private-members:
TVsubtitles
-----------
.. automodule:: subliminal.providers.tvsubtitles
:private-members:
+20
View File
@@ -0,0 +1,20 @@
.. _refiners:
Refiners
========
.. automodule:: subliminal.refiners
Metadata
--------
.. autofunction:: subliminal.refiners.metadata.refine
TVDB
----
.. autofunction:: subliminal.refiners.tvdb.refine
OMDb
----
.. autofunction:: subliminal.refiners.omdb.refine
+4
View File
@@ -1,3 +1,7 @@
Subtitle
========
.. automodule:: subliminal.subtitle
:exclude-members: SUBTITLE_EXTENSIONS
.. autodata:: SUBTITLE_EXTENSIONS
:annotation:
+3
View File
@@ -0,0 +1,3 @@
Utils
=====
.. automodule:: subliminal.utils
+1 -4
View File
@@ -1,10 +1,7 @@
Video
=====
.. automodule:: subliminal.video
:exclude-members: VIDEO_EXTENSIONS, SUBTITLE_EXTENSIONS
:exclude-members: VIDEO_EXTENSIONS
.. autodata:: VIDEO_EXTENSIONS
:annotation:
.. autodata:: SUBTITLE_EXTENSIONS
:annotation:
+420 -42
View File
@@ -2,82 +2,132 @@ interactions:
- request:
body: null
headers:
User-Agent: [Subliminal/1.0]
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://podnapisi.net/subtitles/search/old?sXML=1&sTS=5&sTE=18&sK=The+Big+Bang+Theory&sL=hu
uri: http://podnapisi.net/subtitles/search/old?sTS=5&sL=hu&sTE=18&sK=The+Big+Bang+Theory&sXML=1
response:
body: {string: "<html>\r\n<head><title>302 Found</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>302
Found</h1></center>\r\n<hr><center>nginx/1.8.0</center>\r\n</body>\r\n</html>\r\n"}
body: {string: "<html>\r\n<head><title>302 Found</title></head>\r\n<body bgcolor=\"\
white\">\r\n<center><h1>302 Found</h1></center>\r\n<hr><center>nginx/1.8.0</center>\r\
\n</body>\r\n</html>\r\n"}
headers:
Connection: [keep-alive]
Content-Length: ['160']
Content-Type: [text/html]
Date: ['Mon, 20 Jul 2015 06:11:37 GMT']
Location: ['http://www.podnapisi.net/subtitles/search/old?sXML=1&sTS=5&sTE=18&sK=The+Big+Bang+Theory&sL=hu']
Date: ['Wed, 23 Mar 2016 09:34:06 GMT']
Location: ['http://www.podnapisi.net/subtitles/search/old?sTS=5&sL=hu&sTE=18&sK=The+Big+Bang+Theory&sXML=1']
Server: [nginx/1.8.0]
status: {code: 302, message: Moved Temporarily}
- request:
body: null
headers:
User-Agent: [Subliminal/1.0]
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://www.podnapisi.net/subtitles/search/old?sXML=1&sTS=5&sTE=18&sK=The+Big+Bang+Theory&sL=hu
uri: http://www.podnapisi.net/subtitles/search/old?sTS=5&sL=hu&sTE=18&sK=The+Big+Bang+Theory&sXML=1
response:
body: {string: "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>\n<!DOCTYPE
results [\n <!ELEMENT results (#PCDATA|pagination|subtitle)*>\n <!ELEMENT
pagination (current, count, results)>\n <!ELEMENT current (#PCDATA)>\n
\ <!ELEMENT count (#PCDATA)>\n <!ELEMENT subtitle (id, title, year,
movieId, url, uploaderId, uploaderName, release, languageId, languageName,
time, tvSeason, tvEpisode, tvSpecial, cds, format, fps, rating, flags, downloads)>\n
\ <!ELEMENT id (#PCDATA)>\n <!ELEMENT pid (#PCDATA)>\n <!ELEMENT
title (#PCDATA)>\n <!ELEMENT year (#PCDATA)>\n <!ELEMENT movieId
(#PCDATA)>\n <!ELEMENT url (#PCDATA)>\n <!ELEMENT uploaderId (#PCDATA)>\n
\ <!ELEMENT uploaderName (#PCDATA)>\n <!ELEMENT release (#PCDATA)>\n
\ <!ELEMENT languageId (#PCDATA)>\n <!ELEMENT languageName (#PCDATA)>\n
\ <!ELEMENT language (#PCDATA)>\n <!ELEMENT time (#PCDATA)>\n <!ELEMENT
tvSeason (#PCDATA)>\n <!ELEMENT tvEpisode (#PCDATA)>\n <!ELEMENT
tvSpecial (#PCDATA)>\n <!ELEMENT cds (#PCDATA)>\n <!ELEMENT format
(#PCDATA)>\n <!ELEMENT fps (#PCDATA)>\n <!ELEMENT rating (#PCDATA)>\n
\ <!ELEMENT flags (#PCDATA)>\n <!ELEMENT new_flags (#PCDATA)>\n <!ELEMENT
flag (#PCDATA)>\n <!ELEMENT downloads (#PCDATA)>\n <!ELEMENT exactHashes
(#PCDATA)>]> <results><pagination><current>1</current><count>1</count><results>2</results></pagination><subtitle><id>1495142</id><pid>ZtAW</pid><title>The
Big Bang Theory</title><year>2007</year><movieId>sY0G</movieId><url>http://www.podnapisi.net/subtitles/hu-the-big-bang-theory-2007-S05E18/ZtAW</url><uploaderId>40156</uploaderId><uploaderName>kvrle</uploaderName><release>The.Big.Bang.Theory.S05E18.HDTV-LOL
The.Big.Bang.Theory.S05E18.720p.HDTV.x264-DIMENSION</release><languageId>15</languageId><languageName>Hungarian</languageName><language>hu</language><time>1330213369</time><tvSeason>5</tvSeason><tvEpisode>18</tvEpisode><tvSpecial>0</tvSpecial><cds
/><format>N/A</format><fps>N/A</fps><rating>0.0</rating><flags>h</flags><new_flags><flag>high_definition</flag></new_flags><downloads>497</downloads><exactHashes
/></subtitle><subtitle><id>1495096</id><pid>ONAW</pid><title>The Big Bang
Theory</title><year>2007</year><movieId>sY0G</movieId><url>http://www.podnapisi.net/subtitles/hu-the-big-bang-theory-2007-S05E18/ONAW</url><uploaderId>1</uploaderId><uploaderName>Anonymous</uploaderName><release>The.Big.Bang.Theory.S05E18.HDTV.XviD-FQM</release><languageId>15</languageId><languageName>Hungarian</languageName><language>hu</language><time>1330134575</time><tvSeason>5</tvSeason><tvEpisode>18</tvEpisode><tvSpecial>0</tvSpecial><cds
/><format>N/A</format><fps>N/A</fps><rating>0.0</rating><flags /><new_flags
/><downloads>347</downloads><exactHashes /></subtitle></results>"}
body: {string: "<html>\r\n<head><title>301 Moved Permanently</title></head>\r\n\
<body bgcolor=\"white\">\r\n<center><h1>301 Moved Permanently</h1></center>\r\
\n<hr><center>nginx/1.8.0</center>\r\n</body>\r\n</html>\r\n"}
headers:
Connection: [keep-alive]
Content-Length: ['2792']
Content-Type: [text/xml;charset=utf-8]
Date: ['Mon, 20 Jul 2015 06:11:37 GMT']
Content-Length: ['184']
Content-Type: [text/html]
Date: ['Wed, 23 Mar 2016 09:34:07 GMT']
Location: ['https://www.podnapisi.net/subtitles/search/old?sTS=5&sL=hu&sTE=18&sK=The+Big+Bang+Theory&sXML=1']
Server: [nginx/1.8.0]
status: {code: 301, message: Moved Permanently}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [Subliminal/2.0]
method: GET
uri: https://www.podnapisi.net/subtitles/search/old?sTS=5&sL=hu&sTE=18&sK=The+Big+Bang+Theory&sXML=1
response:
body:
string: !!binary |
H4sIAAAAAAAAA81VWW/bRhB+z6/YKC9OIXJJHT6C8QZKpNYCHDmFhbZJUARrcU0uSi0JHpIN5Md3
hjecZNu+FHmRZma/2Tn2myG8ftjH7KCyXCfmcuS73ogps0sCbcLLUVncO+cjlhfSBDJOjLocPap8
9Fo8g+fLm7fbD+9XLFN5GRc5+/SMMXi+ul69W222nfXkxfu3y8V28SWVoTaywChf8vKu0EWsXv4k
0Gfo1YPYya7MMmWKMdslJf01cV7WPkOvBsnaWN+C0B1PAX22bUbsRAdjViU3Zo9KZmO2Tw5ardFa
ZjH+pHEiA5VVhkbeyL2i9GIlcxRiacJShpVPK9eQQhOwONwiMDEkrVKdJ0FtTNVOSwyxC/Ixu0+y
vcSi71NUMmybCVGJZYhqkBwNZZF/o04dPC1y2KjUflzVbfOnjtjOm17ZINhF63HX33+DorbacM2b
2CDtC62tjWtR/xSwxdkiEgus5w0/7JiGOXbQbc0pGwjZZjuueWhFpNYLau5aLyBW2wBGHT9X1P8a
NCQ3Qb5G9DPejY0NpB7krriSeaSGKf0pGDTrR0C/owQ0m0f4wFsRqnVVWWjniM5xAry7gw8vaZeP
AB0If3Yx92eIRRlwXsXHYvE7cJKgmk+xjRR7o0P2BvcMQyXJHoHXR0ADKiaedwa8EqGZSJF/8H4B
3mqAUyiiokhfcX48Ht00CYzEVaRdowre5pPzqHSKSDl3OnTuMBopGM2hAM6tN1/557xOj+6DfjeK
mefPT4EPLN0pjZD465DFqj+vbNioaoNSgS4W6FKBbl2gW0dzr5bb35zrm2uq+3uYs4mXVkD3YXI6
c5Zr/B7drm821P46ALRjusZ+z4EP1O6oSumqNKHMtDQ9pk619RBR2R/RA2Ft/nTqTfDn9IKeBQ3Q
bnyBsToZrc0MC/+c7K1G8HpuhVfhGwVoVLmAeiTFhi+ANzLgZ6IxoAD1zAnPRf9GhmqARIQuNG4C
uqHCC9EiIh1GnwN1r42mb3SNE8AHuG6AxPSCUu51GI4NpthRSEBLpo7c3gUSg9hMlL7Z/NDkrtN7
Sm4c9u8Se2ES87hPyrzH/Cdyu38c9NL5+dd3/ydb/elsfkbc/LHYSmTv6EdKT7jpHB+hVy3863bu
37blw93pCgAA
headers:
Connection: [keep-alive]
Content-Encoding: [gzip]
Content-Type: [text/xml;charset=utf-8]
Date: ['Wed, 23 Mar 2016 09:34:07 GMT']
Server: [nginx/1.8.0]
Vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
User-Agent: [Subliminal/1.0]
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://podnapisi.net/subtitles/ZtAW/download?container=zip
response:
body: {string: "<html>\r\n<head><title>302 Found</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>302
Found</h1></center>\r\n<hr><center>nginx/1.8.0</center>\r\n</body>\r\n</html>\r\n"}
body: {string: "<html>\r\n<head><title>302 Found</title></head>\r\n<body bgcolor=\"\
white\">\r\n<center><h1>302 Found</h1></center>\r\n<hr><center>nginx/1.8.0</center>\r\
\n</body>\r\n</html>\r\n"}
headers:
Connection: [keep-alive]
Content-Length: ['160']
Content-Type: [text/html]
Date: ['Mon, 20 Jul 2015 06:11:37 GMT']
Date: ['Wed, 23 Mar 2016 09:34:07 GMT']
Location: ['http://www.podnapisi.net/subtitles/ZtAW/download?container=zip']
Server: [nginx/1.8.0]
status: {code: 302, message: Moved Temporarily}
- request:
body: null
headers:
User-Agent: [Subliminal/1.0]
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://www.podnapisi.net/subtitles/ZtAW/download?container=zip
response:
body: {string: "<html>\r\n<head><title>301 Moved Permanently</title></head>\r\n\
<body bgcolor=\"white\">\r\n<center><h1>301 Moved Permanently</h1></center>\r\
\n<hr><center>nginx/1.8.0</center>\r\n</body>\r\n</html>\r\n"}
headers:
Connection: [keep-alive]
Content-Length: ['184']
Content-Type: [text/html]
Date: ['Wed, 23 Mar 2016 09:34:07 GMT']
Location: ['https://www.podnapisi.net/subtitles/ZtAW/download?container=zip']
Server: [nginx/1.8.0]
status: {code: 301, message: Moved Permanently}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [Subliminal/2.0]
method: GET
uri: https://www.podnapisi.net/subtitles/ZtAW/download?container=zip
response:
body:
string: !!binary |
@@ -272,7 +322,335 @@ interactions:
Content-Disposition: [attachment; filename="e638ea178f406cb584f48051501e2cb4db4fce1d.zip"]
Content-Length: ['10541']
Content-Type: [application/octet-stream]
Date: ['Mon, 20 Jul 2015 06:11:37 GMT']
Date: ['Wed, 23 Mar 2016 09:34:07 GMT']
ETag: ['"4f497ffb-292d"']
Last-Modified: ['Sun, 26 Feb 2012 00:42:35 GMT']
Server: [nginx/1.8.0]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://podnapisi.net/subtitles/search/old?sTS=5&sL=hu&sTE=18&sK=The+Big+Bang+Theory&sXML=1
response:
body: {string: "<html>\r\n<head><title>302 Found</title></head>\r\n<body bgcolor=\"\
white\">\r\n<center><h1>302 Found</h1></center>\r\n<hr><center>nginx/1.8.0</center>\r\
\n</body>\r\n</html>\r\n"}
headers:
Connection: [keep-alive]
Content-Length: ['160']
Content-Type: [text/html]
Date: ['Wed, 23 Mar 2016 09:34:07 GMT']
Location: ['http://www.podnapisi.net/subtitles/search/old?sTS=5&sL=hu&sTE=18&sK=The+Big+Bang+Theory&sXML=1']
Server: [nginx/1.8.0]
status: {code: 302, message: Moved Temporarily}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://www.podnapisi.net/subtitles/search/old?sTS=5&sL=hu&sTE=18&sK=The+Big+Bang+Theory&sXML=1
response:
body: {string: "<html>\r\n<head><title>301 Moved Permanently</title></head>\r\n\
<body bgcolor=\"white\">\r\n<center><h1>301 Moved Permanently</h1></center>\r\
\n<hr><center>nginx/1.8.0</center>\r\n</body>\r\n</html>\r\n"}
headers:
Connection: [keep-alive]
Content-Length: ['184']
Content-Type: [text/html]
Date: ['Wed, 23 Mar 2016 09:34:08 GMT']
Location: ['https://www.podnapisi.net/subtitles/search/old?sTS=5&sL=hu&sTE=18&sK=The+Big+Bang+Theory&sXML=1']
Server: [nginx/1.8.0]
status: {code: 301, message: Moved Permanently}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [Subliminal/2.0]
method: GET
uri: https://www.podnapisi.net/subtitles/search/old?sTS=5&sL=hu&sTE=18&sK=The+Big+Bang+Theory&sXML=1
response:
body:
string: !!binary |
H4sIAAAAAAAAA81VWW/bRhB+z6/YKC9OIXJJHT6C8QZKpNYCHDmFhbZJUARrcU0uSi0JHpIN5Md3
hjecZNu+FHmRZma/2Tn2myG8ftjH7KCyXCfmcuS73ogps0sCbcLLUVncO+cjlhfSBDJOjLocPap8
9Fo8g+fLm7fbD+9XLFN5GRc5+/SMMXi+ul69W222nfXkxfu3y8V28SWVoTaywChf8vKu0EWsXv4k
0Gfo1YPYya7MMmWKMdslJf01cV7WPkOvBsnaWN+C0B1PAX22bUbsRAdjViU3Zo9KZmO2Tw5ardFa
ZjH+pHEiA5VVhkbeyL2i9GIlcxRiacJShpVPK9eQQhOwONwiMDEkrVKdJ0FtTNVOSwyxC/Ixu0+y
vcSi71NUMmybCVGJZYhqkBwNZZF/o04dPC1y2KjUflzVbfOnjtjOm17ZINhF63HX33+DorbacM2b
2CDtC62tjWtR/xSwxdkiEgus5w0/7JiGOXbQbc0pGwjZZjuueWhFpNYLau5aLyBW2wBGHT9X1P8a
NCQ3Qb5G9DPejY0NpB7krriSeaSGKf0pGDTrR0C/owQ0m0f4wFsRqnVVWWjniM5xAry7gw8vaZeP
AB0If3Yx92eIRRlwXsXHYvE7cJKgmk+xjRR7o0P2BvcMQyXJHoHXR0ADKiaedwa8EqGZSJF/8H4B
3mqAUyiiokhfcX48Ht00CYzEVaRdowre5pPzqHSKSDl3OnTuMBopGM2hAM6tN1/557xOj+6DfjeK
mefPT4EPLN0pjZD465DFqj+vbNioaoNSgS4W6FKBbl2gW0dzr5bb35zrm2uq+3uYs4mXVkD3YXI6
c5Zr/B7drm821P46ALRjusZ+z4EP1O6oSumqNKHMtDQ9pk619RBR2R/RA2Ft/nTqTfDn9IKeBQ3Q
bnyBsToZrc0MC/+c7K1G8HpuhVfhGwVoVLmAeiTFhi+ANzLgZ6IxoAD1zAnPRf9GhmqARIQuNG4C
uqHCC9EiIh1GnwN1r42mb3SNE8AHuG6AxPSCUu51GI4NpthRSEBLpo7c3gUSg9hMlL7Z/NDkrtN7
Sm4c9u8Se2ES87hPyrzH/Cdyu38c9NL5+dd3/ydb/elsfkbc/LHYSmTv6EdKT7jpHB+hVy3863bu
37blw93pCgAA
headers:
Connection: [keep-alive]
Content-Encoding: [gzip]
Content-Type: [text/xml;charset=utf-8]
Date: ['Wed, 23 Mar 2016 09:34:08 GMT']
Server: [nginx/1.8.0]
Vary: [Accept-Encoding]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://podnapisi.net/subtitles/ZtAW/download?container=zip
response:
body: {string: "<html>\r\n<head><title>302 Found</title></head>\r\n<body bgcolor=\"\
white\">\r\n<center><h1>302 Found</h1></center>\r\n<hr><center>nginx/1.8.0</center>\r\
\n</body>\r\n</html>\r\n"}
headers:
Connection: [keep-alive]
Content-Length: ['160']
Content-Type: [text/html]
Date: ['Wed, 23 Mar 2016 09:34:08 GMT']
Location: ['http://www.podnapisi.net/subtitles/ZtAW/download?container=zip']
Server: [nginx/1.8.0]
status: {code: 302, message: Moved Temporarily}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://www.podnapisi.net/subtitles/ZtAW/download?container=zip
response:
body: {string: "<html>\r\n<head><title>301 Moved Permanently</title></head>\r\n\
<body bgcolor=\"white\">\r\n<center><h1>301 Moved Permanently</h1></center>\r\
\n<hr><center>nginx/1.8.0</center>\r\n</body>\r\n</html>\r\n"}
headers:
Connection: [keep-alive]
Content-Length: ['184']
Content-Type: [text/html]
Date: ['Wed, 23 Mar 2016 09:34:08 GMT']
Location: ['https://www.podnapisi.net/subtitles/ZtAW/download?container=zip']
Server: [nginx/1.8.0]
status: {code: 301, message: Moved Permanently}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [Subliminal/2.0]
method: GET
uri: https://www.podnapisi.net/subtitles/ZtAW/download?container=zip
response:
body:
string: !!binary |
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
headers:
Accept-Ranges: [bytes]
Connection: [keep-alive]
Content-Disposition: [attachment; filename="e638ea178f406cb584f48051501e2cb4db4fce1d.zip"]
Content-Length: ['10541']
Content-Type: [application/octet-stream]
Date: ['Wed, 23 Mar 2016 09:34:08 GMT']
ETag: ['"4f497ffb-292d"']
Last-Modified: ['Sun, 26 Feb 2012 00:42:35 GMT']
Server: [nginx/1.8.0]
+7 -3
View File
@@ -13,7 +13,6 @@
# All configuration values have a default; values that are commented out
# serve to show the default.
from __future__ import unicode_literals
import sys
import os
import shlex
@@ -30,6 +29,9 @@ import subliminal
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
# If true, Sphinx will warn about all references where the target cannot be found.
nitpicky = True
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
@@ -37,6 +39,7 @@ extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.intersphinx',
'sphinx.ext.viewcode',
'sphinxcontrib.programoutput',
]
# Add any paths that contain templates here, relative to this directory.
@@ -300,13 +303,14 @@ texinfo_documents = [
# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {
'python': ('http://docs.python.org/3.4', None),
'python': ('http://docs.python.org/3.5', None),
'guessit': ('http://guessit.readthedocs.org/en/latest', None),
'babelfish': ('http://babelfish.readthedocs.org/en/latest', None),
'dogpilecache': ('http://dogpilecache.readthedocs.org/en/latest', None),
'dogpilecore': ('http://dogpilecore.readthedocs.org/en/latest', None),
'stevedore': ('http://docs.openstack.org/developer/stevedore', None),
'click': ('http://click.pocoo.org/4', None)
'click': ('http://click.pocoo.org/4', None),
'rarfile': ('http://rarfile.readthedocs.org/en/latest/', None)
}
+2 -2
View File
@@ -1,5 +1,4 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import os
import sys
@@ -13,8 +12,9 @@ from vcr import VCR
from subliminal.cache import region
vcr = VCR(path_transformer=lambda path: path + '.yaml',
record_mode=os.environ.get('VCR_RECORD_MODE', 'once'),
match_on=['method', 'scheme', 'host', 'port', 'path', 'query', 'body'],
cassette_library_dir=os.path.join('docs', 'cassettes'))
cassette_library_dir=os.path.realpath(os.path.join('docs', 'cassettes')))
@pytest.fixture(autouse=True, scope='session')
+7 -3
View File
@@ -5,7 +5,7 @@
Welcome to subliminal!
======================
Subliminal is a python library to search and download subtitles.
Subliminal is a python 2.7+ library to search and download subtitles.
It comes with an easy to use yet powerful :abbr:`CLI (command-line interface)` suitable for direct use or cron jobs.
@@ -27,12 +27,16 @@ If you are looking for information on a specific function, class or method, this
.. toctree::
:maxdepth: 1
api/api
api/core
api/video
api/subtitle
api/providers
api/cache
api/refiners
api/extensions
api/score
api/utils
api/cache
api/cli
api/exceptions
+3 -62
View File
@@ -5,73 +5,14 @@ CLI
subliminal
----------
.. code-block:: none
$ subliminal --help
Usage: subliminal [OPTIONS] COMMAND [ARGS]...
Subtitles, faster than your thoughts.
Options:
--addic7ed USERNAME PASSWORD Addic7ed configuration.
--cache-dir DIRECTORY Path to the cache directory. [default:
~/.config/subliminal]
--debug Print useful information for debugging subliminal and for
reporting bugs.
--version Show the version and exit.
--help Show this message and exit.
Commands:
cache Cache management.
download Download best subtitles.
Suggestions and bug reports are greatly appreciated: https://github.com/Diaoul/subliminal/
.. program-output:: subliminal --help
subliminal download
-------------------
.. code-block:: none
$ subliminal download --help
Usage: subliminal download [OPTIONS] PATH...
Download best subtitles.
PATH can be an directory containing videos, a video file path or a video file name. It can be
used multiple times.
If an existing subtitle is detected (external or embedded) in the correct language, the
download is skipped for the associated video.
Options:
-l, --language LANGUAGE Language as IETF code, e.g. en, pt-BR (can be used multiple
times). [required]
-p, --provider [addic7ed|opensubtitles|podnapisi|thesubdb|tvsubtitles]
Provider to use (can be used multiple times).
-a, --age AGE Filter videos newer than AGE, e.g. 12h, 1w2d.
-d, --directory DIR Directory where to save subtitles, default is next to the video
file.
-e, --encoding ENC Subtitle file encoding, default is to preserve original
encoding.
-s, --single Save subtitle without language code in the file name, i.e. use
.srt extension.
-f, --force Force download even if a subtitle already exist.
-hi, --hearing-impaired Prefer hearing impaired subtitles.
-m, --min-score INTEGER RANGE Minimum score for a subtitle to be downloaded (0 to 100).
-v, --verbose Increase verbosity.
--help Show this message and exit.
.. program-output:: subliminal download --help
subliminal cache
----------------
.. code-block:: none
$ subliminal cache --help
Usage: subliminal cache [OPTIONS]
Cache management.
Options:
--clear-subliminal Clear subliminal's cache. Use this ONLY if your cache is corrupted or if
you experience issues.
--help Show this message and exit.
.. program-output:: subliminal cache --help
+9 -5
View File
@@ -7,17 +7,21 @@ Subliminal uses multiple providers to give users a vast choice and have a better
subtitles. Current supported providers are:
* Addic7ed
* LegendasTV
* NapiProjekt
* OpenSubtitles
* Podnapisi
* Shooter
* SubsCenter
* TheSubDB
* TvSubtitles
Providers all inherit the same :class:`~subliminal.providers.Provider` base class and thus share the same API.
They are registered on the ``subliminal.providers`` entry point and are exposed through the
:data:`~subliminal.api.provider_manager` for easy access.
:data:`~subliminal.extensions.provider_manager` for easy access.
To make working with multiple providers seamlessly, the :class:`~subliminal.api.ProviderPool` exposes the same API but
distributes it to its providers.
To work with multiple providers seamlessly, the :class:`~subliminal.core.ProviderPool` exposes the same API but
distributes it to its providers and :class:`~subliminal.core.AsyncProviderPool` does it asynchronously.
.. _scoring:
@@ -30,14 +34,14 @@ Using `guessit <http://guessit.readthedocs.org>`_ and `enzyme <http://enzyme.rea
properties of the video and match them with the properties of the subtitles found with the providers.
Equations in :mod:`subliminal.score` give a score to each property (called a match). The more matches the video and
the subtitle have the higher the score computed with :func:`~subliminal.subtitle.compute_score` gets.
the subtitle have, the higher the score computed with :func:`~subliminal.score.compute_score` gets.
Libraries
---------
Various libraries are used by subliminal and are key to its success:
* `guessit <http://guessit.readthedocs.org>`_ to guess informations from filenames
* `guessit <http://guessit.readthedocs.org>`_ to guess information from filenames
* `enzyme <http://enzyme.readthedocs.org>`_ to detect embedded subtitles in videos and read other video metadata
* `babelfish <http://babelfish.readthedocs.org>`_ to work with languages
* `requests <http://docs.python-requests.org>`_ to make human readable HTTP requests
+2 -8
View File
@@ -31,8 +31,8 @@ API keys must not be configurable by the user and must remain linked to sublimin
in the provider module.
Per-user authentication is allowed and must be configured at instantiation as keyword arguments. Configuration
will be done by the user through the `provider_configs` argument of the :func:`~subliminal.api.list_subtitles` and
:func:`~subliminal.api.download_best_subtitles` functions. No network operation must be done during instantiation,
will be done by the user through the `provider_configs` argument of the :func:`~subliminal.core.list_subtitles` and
:func:`~subliminal.core.download_best_subtitles` functions. No network operation must be done during instantiation,
only configuration. Any error in the configuration must raise a
:class:`~subliminal.exceptions.ConfigurationError`.
@@ -85,12 +85,6 @@ Score computation
-----------------
To be able to compare subtitles coming from different providers between them, the
:meth:`~subliminal.subtitle.Subtitle.get_matches` method must be implemented.
If `guessit <http://guessit.readthedocs.org>`_ is used to extract data from the
:class:`~subliminal.subtitle.Subtitle` subclass, you can use :func:`~subliminal.subtitle.guess_matches`
as a helper to compute matches between the :class:`~subliminal.video.Video` and the :class:`~guessit.guess.Guess`.
Refer to the `scores` attribute of :class:`~subliminal.video.Episode` and :class:`~subliminal.video.Movie`
for a list of possible matches.
Unittesting
+19 -15
View File
@@ -19,6 +19,11 @@ Download English subtitles::
See :ref:`cli` for more details on the available commands and options.
Nautilus/Nemo integration
-------------------------
See the dedicated `project page <https://github.com/Diaoul/nautilus-subliminal>`_ for more information.
High level API
--------------
You can call subliminal in many different ways depending on how much control you want over the process. For most use
@@ -28,7 +33,6 @@ Common
^^^^^^
Let's start by importing subliminal:
>>> from __future__ import unicode_literals
>>> import os
>>> from babelfish import *
>>> from subliminal import *
@@ -39,14 +43,14 @@ Video
^^^^^
The :class:`~subliminal.video.Movie` and :class:`~subliminal.video.Episode` classes represent a video,
existing or not. You can create a video by name (or path) with :meth:`Video.fromname <subliminal.video.Video.fromname>`,
use :func:`~subliminal.video.scan_video` on an existing file path to get even more information about the video or
use :func:`~subliminal.video.scan_videos` on an existing directory path to scan a whole directory for videos.
use :func:`~subliminal.core.scan_video` on an existing file path to get even more information about the video or
use :func:`~subliminal.core.scan_videos` on an existing directory path to scan a whole directory for videos.
>>> video = Video.fromname('The.Big.Bang.Theory.S05E18.HDTV.x264-LOL.mp4')
>>> video
<Episode ['The Big Bang Theory', 5x18]>
Here video informations were guessed based on the name of the video, you can access some video attributes:
Here video information was guessed based on the name of the video, you can access some video attributes:
>>> video.video_codec
'h264'
@@ -63,7 +67,7 @@ of this example, we're going to use a memory backend.
.. warning::
Choose a cache that fits your application and prefer persistant over volatile backends. The ``file`` backend is
Choose a cache that fits your application and prefer persistent over volatile backends. The ``file`` backend is
usually a good choice.
See `dogpile.cache's documentation <http://dogpilecache.readthedocs.org>`_ for more details on backends.
@@ -71,7 +75,7 @@ Now that we're done with the basics, let's have some *real* fun.
Listing
^^^^^^^
To list subtitles, subliminal provides a :func:`~subliminal.api.list_subtitles` function that will return all found
To list subtitles, subliminal provides a :func:`~subliminal.core.list_subtitles` function that will return all found
subtitles:
>>> subtitles = list_subtitles([video], {Language('hun')}, providers=['podnapisi'])
@@ -91,21 +95,21 @@ them to the video and tell you exactly what matches with :meth:`~subliminal.subt
>>> for s in subtitles[video]:
... sorted(s.get_matches(video))
['episode', 'format', 'hearing_impaired', 'release_group', 'season', 'series', 'video_codec', 'year']
['episode', 'format', 'hearing_impaired', 'season', 'series', 'year']
['episode', 'format', 'release_group', 'season', 'series', 'video_codec', 'year']
['episode', 'format', 'season', 'series', 'year']
And then compute a score with those matches with :func:`~subliminal.subtitle.compute_score`:
And then compute a score with those matches with :func:`~subliminal.score.compute_score`:
>>> for s in subtitles[video]:
... {s: compute_score(s.get_matches(video), video)}
{<PodnapisiSubtitle 'ZtAW' [hu]>: 132}
{<PodnapisiSubtitle 'ONAW' [hu]>: 117}
... {s: compute_score(s, video)}
{<PodnapisiSubtitle 'ZtAW' [hu]>: 354}
{<PodnapisiSubtitle 'ONAW' [hu]>: 337}
Now you should have a better idea about which one you should choose.
Downloading
^^^^^^^^^^^
We can settle on the first subtitle and download its content using :func:`~subliminal.api.download_subtitles`:
We can settle on the first subtitle and download its content using :func:`~subliminal.core.download_subtitles`:
>>> subtitle = subtitles[video][0]
>>> subtitle.content is None
@@ -123,7 +127,7 @@ If you want a string instead of bytes, you can access decoded content with the
Downloading best subtitles
^^^^^^^^^^^^^^^^^^^^^^^^^^
Downloading best subtitles is what you want to do in almost all cases, as a shortcut for listing, scoring and
downloading you can use :func:`~subliminal.api.download_best_subtitles`:
downloading you can use :func:`~subliminal.core.download_best_subtitles`:
>>> best_subtitles = download_best_subtitles([video], {Language('hun')}, providers=['podnapisi'])
>>> best_subtitles[video]
@@ -136,7 +140,7 @@ We end up with the same subtitle but with one line of code. Neat.
Save
^^^^
We got ourselves a nice subtitle now we can save it on the file system using :func:`~subliminal.api.save_subtitles`:
We got ourselves a nice subtitle, now we can save it on the file system using :func:`~subliminal.core.save_subtitles`:
>>> save_subtitles(video, [best_subtitle])
[<PodnapisiSubtitle 'ZtAW' [hu]>]
+11
View File
@@ -0,0 +1,11 @@
[pytest]
norecursedirs = build dist env .tox .eggs
addopts = --pep8 --flakes --doctest-glob='*.rst'
pep8maxlinelength = 120
pep8ignore =
docs/conf.py ALL
subliminal/__init__.py E402
flakes-ignore =
docs/conf.py ALL
subliminal/__init__.py UnusedImport
doctest_optionflags = NORMALIZE_WHITESPACE IGNORE_EXCEPTION_DETAIL
+3 -12
View File
@@ -1,3 +1,6 @@
[aliases]
test=pytest
[build_sphinx]
source-dir = docs/
build-dir = docs/_build
@@ -5,15 +8,3 @@ all_files = 1
[upload_sphinx]
upload-dir = docs/_build/html
[pytest]
norecursedirs = build dist env .tox .eggs
addopts = --pep8 --flakes --doctest-glob='*.rst'
pep8maxlinelength = 120
pep8ignore =
docs/conf.py ALL
subliminal/__init__.py E402
flakes-ignore =
docs/conf.py ALL
subliminal/__init__.py UnusedImport
doctest_optionflags= NORMALIZE_WHITESPACE IGNORE_EXCEPTION_DETAIL
+39 -40
View File
@@ -1,64 +1,52 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import io
import os
import re
import sys
from setuptools import setup, find_packages
from setuptools.command.test import test as TestCommand
here = os.path.abspath(os.path.dirname(__file__))
class PyTest(TestCommand):
user_options = [('pytest-args=', 'a', 'Arguments to pass to py.test')]
def read(*parts):
# intentionally *not* adding an encoding option to open, See:
# https://github.com/pypa/virtualenv/issues/201#issuecomment-3145690
return io.open(os.path.join(here, *parts), 'r').read()
def initialize_options(self):
TestCommand.initialize_options(self)
self.pytest_args = []
def finalize_options(self):
TestCommand.finalize_options(self)
self.test_args = []
self.test_suite = True
def find_version(*file_paths):
version_file = read(*file_paths)
version_match = re.search(r'^__version__ = [\'"]([^\'"]*)[\'"]', version_file, re.M)
if version_match:
return version_match.group(1)
raise RuntimeError('Unable to find version string.')
def run_tests(self):
# import here, cause outside the eggs aren't loaded
import pytest
errno = pytest.main(self.pytest_args)
sys.exit(errno)
# requirements
install_requirements = ['guessit>=0.9.1', 'babelfish>=0.5.2', 'enzyme>=0.4.1', 'beautifulsoup4>=4.2.0',
'requests>=2.0', 'click>=4.0', 'dogpile.cache>=0.5.4', 'stevedore>=1.0.0',
'chardet>=2.3.0', 'pysrt>=1.0.1', 'six>=1.9.0']
setup_requirements = ['pytest-runner'] if {'pytest', 'test', 'ptr'}.intersection(sys.argv) else []
test_requirements = ['sympy', 'vcrpy>=1.6.1', 'pytest', 'pytest-pep8', 'pytest-flakes',
'pytest-cov']
install_requirements = ['guessit>=2.0.1', 'babelfish>=0.5.2', 'enzyme>=0.4.1', 'beautifulsoup4>=4.4.0',
'requests>=2.0', 'click>=4.0', 'dogpile.cache>=0.6.0', 'stevedore>=1.0.0',
'chardet>=2.3.0', 'pysrt>=1.0.1', 'six>=1.9.0', 'appdirs>=1.3', 'rarfile>=2.7',
'pytz>=2012c']
if sys.version_info < (3, 2):
install_requirements.append('futures>=3.0')
test_requirements = ['sympy', 'vcrpy>=1.6.1', 'pytest', 'pytest-pep8', 'pytest-flakes', 'pytest-cov']
if sys.version_info < (3, 3):
test_requirements.append('mock')
dev_requirements = ['tox', 'sphinx', 'wheel']
# package informations
with io.open('subliminal/__init__.py', 'r') as f:
version = re.search(r'^__version__\s*=\s*[\'"]([^\'"]*)[\'"]$', f.read(),
re.MULTILINE).group(1)
if not version:
raise RuntimeError('Cannot find version information')
with io.open('README.rst', 'r', encoding='utf-8') as f:
readme = f.read()
with io.open('HISTORY.rst', 'r', encoding='utf-8') as f:
history = f.read()
dev_requirements = ['tox', 'sphinx', 'sphinx_rtd_theme', 'sphinxcontrib-programoutput', 'wheel']
setup(name='subliminal',
version=version,
version=find_version('subliminal', '__init__.py'),
license='MIT',
description='Subtitles, faster than your thoughts',
long_description=readme + '\n\n' + history,
keywords='subtitle subtitles video movie episode tv show',
long_description=read('README.rst') + '\n\n' + read('HISTORY.rst'),
keywords='subtitle subtitles video movie episode tv show series',
url='https://github.com/Diaoul/subliminal',
author='Antoine Bertin',
author_email='diaoulael@gmail.com',
@@ -74,29 +62,40 @@ setup(name='subliminal',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Topic :: Software Development :: Libraries :: Python Modules',
'Topic :: Multimedia :: Video'
],
entry_points={
'subliminal.providers': [
'addic7ed = subliminal.providers.addic7ed:Addic7edProvider',
'legendastv = subliminal.providers.legendastv:LegendasTVProvider',
'opensubtitles = subliminal.providers.opensubtitles:OpenSubtitlesProvider',
'podnapisi = subliminal.providers.podnapisi:PodnapisiProvider',
'shooter = subliminal.providers.shooter:ShooterProvider',
'subscenter = subliminal.providers.subscenter:SubsCenterProvider',
'thesubdb = subliminal.providers.thesubdb:TheSubDBProvider',
'tvsubtitles = subliminal.providers.tvsubtitles:TVsubtitlesProvider'
],
'subliminal.refiners': [
'metadata = subliminal.refiners.metadata:refine',
'omdb = subliminal.refiners.omdb:refine',
'tvdb = subliminal.refiners.tvdb:refine'
],
'babelfish.language_converters': [
'addic7ed = subliminal.converters.addic7ed:Addic7edConverter',
'shooter = subliminal.converters.shooter:ShooterConverter',
'thesubdb = subliminal.converters.thesubdb:TheSubDBConverter',
'tvsubtitles = subliminal.converters.tvsubtitles:TVsubtitlesConverter'
],
'console_scripts': [
'subliminal = subliminal.cli:subliminal'
]
},
setup_requires=setup_requirements,
install_requires=install_requirements,
tests_require=test_requirements,
extras_require={
'test': test_requirements,
'dev': dev_requirements
},
cmdclass={'test': PyTest})
})
+9 -6
View File
@@ -1,18 +1,21 @@
# -*- coding: utf-8 -*-
__title__ = 'subliminal'
__version__ = '1.0'
__version__ = '2.0.2'
__short_version__ = '.'.join(__version__.split('.')[:2])
__author__ = 'Antoine Bertin'
__license__ = 'MIT'
__copyright__ = 'Copyright 2015, Antoine Bertin'
__copyright__ = 'Copyright 2016, Antoine Bertin'
import logging
from .api import (ProviderPool, check_video, provider_manager, download_best_subtitles, download_subtitles,
list_subtitles, save_subtitles)
from .core import (AsyncProviderPool, ProviderPool, check_video, download_best_subtitles, download_subtitles,
list_subtitles, refine, save_subtitles, scan_video, scan_videos)
from .cache import region
from .exceptions import Error, ProviderError
from .extensions import provider_manager, refiner_manager
from .providers import Provider
from .subtitle import Subtitle, compute_score
from .video import SUBTITLE_EXTENSIONS, VIDEO_EXTENSIONS, Episode, Movie, Video, scan_video, scan_videos
from .score import compute_score, get_scores
from .subtitle import SUBTITLE_EXTENSIONS, Subtitle
from .video import VIDEO_EXTENSIONS, Episode, Movie, Video
logging.getLogger(__name__).addHandler(logging.NullHandler())
-415
View File
@@ -1,415 +0,0 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from collections import defaultdict
import io
import logging
import operator
import os.path
import socket
from babelfish import Language
import requests
from stevedore import EnabledExtensionManager, ExtensionManager
from .subtitle import compute_score, get_subtitle_path
logger = logging.getLogger(__name__)
provider_manager = ExtensionManager('subliminal.providers')
class ProviderPool(object):
"""A pool of providers with the same API as a single :class:`~subliminal.providers.Provider`.
It has a few extra features:
* Lazy loads providers when needed and supports the :keyword:`with` statement to :meth:`terminate`
the providers on exit.
* Automatically discard providers on failure.
:param providers: name of providers to use, if not all.
:type providers: list
:param dict provider_configs: provider configuration as keyword arguments per provider name to pass when
instanciating the :class:`~subliminal.providers.Provider`.
"""
def __init__(self, providers=None, provider_configs=None):
#: Name of providers to use
self.providers = providers or provider_manager.names()
#: Provider configuration
self.provider_configs = provider_configs or {}
#: Initialized providers
self.initialized_providers = {}
#: Discarded providers
self.discarded_providers = set()
#: Dedicated :data:`provider_manager` as :class:`~stevedore.enabled.EnabledExtensionManager`
self.manager = EnabledExtensionManager(provider_manager.namespace, lambda e: e.name in self.providers)
def __enter__(self):
return self
def __exit__(self, exc_type, exc_value, traceback):
self.terminate()
def __getitem__(self, name):
if name not in self.initialized_providers:
logger.info('Initializing provider %s', name)
provider = self.manager[name].plugin(**self.provider_configs.get(name, {}))
provider.initialize()
self.initialized_providers[name] = provider
return self.initialized_providers[name]
def __delitem__(self, name):
if name not in self.initialized_providers:
raise KeyError(name)
try:
logger.info('Terminating provider %s', name)
self.initialized_providers[name].terminate()
except (requests.Timeout, socket.timeout):
logger.error('Provider %r timed out, improperly terminated', name)
except:
logger.exception('Provider %r terminated unexpectedly', name)
del self.initialized_providers[name]
def __iter__(self):
return iter(self.initialized_providers)
def list_subtitles(self, video, languages):
"""List subtitles.
:param video: video to list subtitles for.
:type video: :class:`~subliminal.video.Video`
:param languages: languages to search for.
:type languages: set of :class:`~babelfish.language.Language`
:return: found subtitles.
:rtype: list of :class:`~subliminal.subtitle.Subtitle`
"""
subtitles = []
for name in self.providers:
# check discarded providers
if name in self.discarded_providers:
logger.debug('Skipping discarded provider %r', name)
continue
# check video validity
if not self.manager[name].plugin.check(video):
logger.info('Skipping provider %r: not a valid video', name)
continue
# check supported languages
provider_languages = self.manager[name].plugin.languages & languages
if not provider_languages:
logger.info('Skipping provider %r: no language to search for', name)
continue
# list subtitles
logger.info('Listing subtitles with provider %r and languages %r', name, provider_languages)
try:
provider_subtitles = self[name].list_subtitles(video, provider_languages)
except (requests.Timeout, socket.timeout):
logger.error('Provider %r timed out, discarding it', name)
self.discarded_providers.add(name)
continue
except:
logger.exception('Unexpected error in provider %r, discarding it', name)
self.discarded_providers.add(name)
continue
subtitles.extend(provider_subtitles)
return subtitles
def download_subtitle(self, subtitle):
"""Download `subtitle`'s :attr:`~subliminal.subtitle.Subtitle.content`.
:param subtitle: subtitle to download.
:type subtitle: :class:`~subliminal.subtitle.Subtitle`
:return: `True` if the subtitle has been successfully downloaded, `False` otherwise.
:rtype: bool
"""
# check discarded providers
if subtitle.provider_name in self.discarded_providers:
logger.warning('Provider %r is discarded', subtitle.provider_name)
return False
logger.info('Downloading subtitle %r', subtitle)
try:
self[subtitle.provider_name].download_subtitle(subtitle)
except (requests.Timeout, socket.timeout):
logger.error('Provider %r timed out, discarding it', subtitle.provider_name)
self.discarded_providers.add(subtitle.provider_name)
return False
except:
logger.exception('Unexpected error in provider %r, discarding it', subtitle.provider_name)
self.discarded_providers.add(subtitle.provider_name)
return False
# check subtitle validity
if not subtitle.is_valid():
logger.error('Invalid subtitle')
return False
return True
def download_best_subtitles(self, subtitles, video, languages, min_score=0, hearing_impaired=False, only_one=False,
scores=None):
"""Download the best matching subtitles.
:param subtitles: the subtitles to use.
:type subtitles: list of :class:`~subliminal.subtitle.Subtitle`
:param video: video to download subtitles for.
:type video: :class:`~subliminal.video.Video`
:param languages: languages to download.
:type languages: set of :class:`~babelfish.language.Language`
:param int min_score: minimum score for a subtitle to be downloaded.
:param bool hearing_impaired: hearing impaired preference.
:param bool only_one: download only one subtitle, not one per language.
:param dict scores: scores to use, if `None`, the :attr:`~subliminal.video.Video.scores` from the video are
used.
:return: downloaded subtitles.
:rtype: list of :class:`~subliminal.subtitle.Subtitle`
"""
# sort subtitles by score
scored_subtitles = sorted([(s, compute_score(s.get_matches(video, hearing_impaired=hearing_impaired), video,
scores=scores))
for s in subtitles], key=operator.itemgetter(1), reverse=True)
# download best subtitles, falling back on the next on error
downloaded_subtitles = []
for subtitle, score in scored_subtitles:
# check score
if score < min_score:
logger.info('Score %d is below min_score (%d)', (score, min_score))
break
# check downloaded languages
if subtitle.language in set(s.language for s in downloaded_subtitles):
logger.debug('Skipping subtitle: %r already downloaded', subtitle.language)
continue
# download
logger.info('Downloading subtitle %r with score %d', subtitle, score)
if self.download_subtitle(subtitle):
downloaded_subtitles.append(subtitle)
# stop when all languages are downloaded
if set(s.language for s in downloaded_subtitles) == languages:
logger.debug('All languages downloaded')
break
# stop if only one subtitle is requested
if only_one:
logger.debug('Only one subtitle downloaded')
break
return downloaded_subtitles
def terminate(self):
"""Terminate all the :attr:`initialized_providers`."""
logger.debug('Terminating initialized providers')
for name in list(self.initialized_providers):
del self[name]
def check_video(video, languages=None, age=None, undefined=False):
"""Perform some checks on the `video`.
All the checks are optional. Return `False` if any of this check fails:
* `languages` already exist in `video`'s :attr:`~subliminal.video.Video.subtitle_languages`.
* `video` is older than `age`.
* `video` has an `undefined` language in :attr:`~subliminal.video.Video.subtitle_languages`.
:param video: video to check.
:type video: :class:`~subliminal.video.Video`
:param languages: desired languages.
:type languages: set of :class:`~babelfish.language.Language`
:param datetime.timedelta age: maximum age of the video.
:param bool undefined: fail on existing undefined language.
:return: `True` if the video passes the checks, `False` otherwise.
:rtype: bool
"""
# language test
if languages and not (languages - video.subtitle_languages):
logger.debug('All languages %r exist', languages)
return False
# age test
if age and video.age > age:
logger.debug('Video is older than %r', age)
return False
# undefined test
if undefined and Language('und') in video.subtitle_languages:
logger.debug('Undefined language found')
return False
return True
def list_subtitles(videos, languages, **kwargs):
"""List subtitles.
The `videos` must pass the `languages` check of :func:`check_video`.
All other parameters are passed onwards to the :class:`ProviderPool` constructor.
:param videos: videos to list subtitles for.
:type videos: set of :class:`~subliminal.video.Video`
:param languages: languages to search for.
:type languages: set of :class:`~babelfish.language.Language`
:return: found subtitles per video.
:rtype: dict of :class:`~subliminal.video.Video` to list of :class:`~subliminal.subtitle.Subtitle`
"""
listed_subtitles = defaultdict(list)
# check videos
checked_videos = []
for video in videos:
if not check_video(video, languages=languages):
logger.info('Skipping video %r', video)
continue
checked_videos.append(video)
# return immediatly if no video passed the checks
if not checked_videos:
return listed_subtitles
# list subtitles
with ProviderPool(**kwargs) as pool:
for video in checked_videos:
logger.info('Listing subtitles for %r', video)
subtitles = pool.list_subtitles(video, languages - video.subtitle_languages)
listed_subtitles[video].extend(subtitles)
logger.info('Found %d subtitle(s)', len(subtitles))
return listed_subtitles
def download_subtitles(subtitles, **kwargs):
"""Download :attr:`~subliminal.subtitle.Subtitle.content` of `subtitles`.
All other parameters are passed onwards to the :class:`ProviderPool` constructor.
:param subtitles: subtitles to download.
:type subtitles: list of :class:`~subliminal.subtitle.Subtitle`
"""
with ProviderPool(**kwargs) as pool:
for subtitle in subtitles:
logger.info('Downloading subtitle %r', subtitle)
pool.download_subtitle(subtitle)
def download_best_subtitles(videos, languages, min_score=0, hearing_impaired=False, only_one=False, scores=None,
**kwargs):
"""List and download the best matching subtitles.
The `videos` must pass the `languages` and `undefined` (`only_one`) checks of :func:`check_video`.
All other parameters are passed onwards to the :class:`ProviderPool` constructor.
:param videos: videos to download subtitles for.
:type videos: set of :class:`~subliminal.video.Video`
:param languages: languages to download.
:type languages: set of :class:`~babelfish.language.Language`
:param int min_score: minimum score for a subtitle to be downloaded.
:param bool hearing_impaired: hearing impaired preference.
:param bool only_one: download only one subtitle, not one per language.
:param dict scores: scores to use, if `None`, the :attr:`~subliminal.video.Video.scores` from the video are used.
:return: downloaded subtitles per video.
:rtype: dict of :class:`~subliminal.video.Video` to list of :class:`~subliminal.subtitle.Subtitle`
"""
downloaded_subtitles = defaultdict(list)
# check videos
checked_videos = []
for video in videos:
if not check_video(video, languages=languages, undefined=only_one):
logger.info('Skipping video %r')
continue
checked_videos.append(video)
# return immediatly if no video passed the checks
if not checked_videos:
return downloaded_subtitles
# download best subtitles
with ProviderPool(**kwargs) as pool:
for video in checked_videos:
logger.info('Downloading best subtitles for %r', video)
subtitles = pool.download_best_subtitles(pool.list_subtitles(video, languages - video.subtitle_languages),
video, languages, min_score=min_score,
hearing_impaired=hearing_impaired, only_one=only_one,
scores=scores)
logger.info('Downloaded %d subtitle(s)', len(subtitles))
downloaded_subtitles[video].extend(subtitles)
return downloaded_subtitles
def save_subtitles(video, subtitles, single=False, directory=None, encoding=None):
"""Save subtitles on filesystem.
Subtitles are saved in the order of the list. If a subtitle with a language has already been saved, other subtitles
with the same language are silently ignored.
The extension used is `.lang.srt` by default or `.srt` is `single` is `True`, with `lang` being the IETF code for
the :attr:`~subliminal.subtitle.Subtitle.language` of the subtitle.
:param video: video of the subtitles.
:type video: :class:`~subliminal.video.Video`
:param subtitles: subtitles to save.
:type subtitles: list of :class:`~subliminal.subtitle.Subtitle`
:param bool single: save a single subtitle, default is to save one subtitle per language.
:param str directory: path to directory where to save the subtitles, default is next to the video.
:param str encoding: encoding in which to save the subtitles, default is to keep original encoding.
:return: the saved subtitles
:rtype: list of :class:`~subliminal.subtitle.Subtitle`
"""
saved_subtitles = []
for subtitle in subtitles:
# check content
if subtitle.content is None:
logger.error('Skipping subtitle %r: no content', subtitle)
continue
# check language
if subtitle.language in set(s.language for s in saved_subtitles):
logger.debug('Skipping subtitle %r: language already saved', subtitle)
continue
# create subtitle path
subtitle_path = get_subtitle_path(video.name, None if single else subtitle.language)
if directory is not None:
subtitle_path = os.path.join(directory, os.path.split(subtitle_path)[1])
# save content as is or in the specified encoding
logger.info('Saving %r to %r', subtitle, subtitle_path)
if encoding is None:
with io.open(subtitle_path, 'wb') as f:
f.write(subtitle.content)
else:
with io.open(subtitle_path, 'w', encoding=encoding) as f:
f.write(subtitle.text)
saved_subtitles.append(subtitle)
# check single
if single:
break
return saved_subtitles
+3 -4
View File
@@ -3,15 +3,14 @@ import datetime
from dogpile.cache import make_region
#: Subliminal's cache version
CACHE_VERSION = 1
#: Expiration time for show caching
SHOW_EXPIRATION_TIME = datetime.timedelta(weeks=3).total_seconds()
#: Expiration time for episode caching
EPISODE_EXPIRATION_TIME = datetime.timedelta(days=3).total_seconds()
#: Expiration time for scraper searches
REFINER_EXPIRATION_TIME = datetime.timedelta(weeks=1).total_seconds()
region = make_region()
+224 -41
View File
@@ -3,21 +3,26 @@
Subliminal uses `click <http://click.pocoo.org>`_ to provide a powerful :abbr:`CLI (command-line interface)`.
"""
from __future__ import unicode_literals
from __future__ import division
from collections import defaultdict
from datetime import timedelta
import json
import logging
import os
import re
from appdirs import AppDirs
from babelfish import Error as BabelfishError, Language
import click
from dogpile.cache.backends.file import AbstractFileLock
from dogpile.core import ReadWriteMutex
from dogpile.util.readwrite_lock import ReadWriteMutex
from six.moves import configparser
from subliminal import (Episode, Movie, ProviderPool, Video, __version__, check_video, provider_manager, region,
save_subtitles, scan_video, scan_videos)
from subliminal.subtitle import compute_score
from subliminal import (AsyncProviderPool, Episode, Movie, Video, __version__, check_video, compute_score, get_scores,
provider_manager, refine, refiner_manager, region, save_subtitles, scan_video, scan_videos)
from subliminal.core import ARCHIVE_EXTENSIONS, search_external_subtitles
logger = logging.getLogger(__name__)
class MutexLock(AbstractFileLock):
@@ -40,6 +45,124 @@ class MutexLock(AbstractFileLock):
return self.mutex.release_write_lock()
class Config(object):
"""A :class:`~configparser.ConfigParser` wrapper to store configuration.
Interaction with the configuration is done with the properties.
:param str path: path to the configuration file.
"""
def __init__(self, path):
#: Path to the configuration file
self.path = path
#: The underlying configuration object
self.config = configparser.SafeConfigParser()
self.config.add_section('general')
self.config.set('general', 'languages', json.dumps(['en']))
self.config.set('general', 'providers', json.dumps(sorted([p.name for p in provider_manager])))
self.config.set('general', 'refiners', json.dumps(sorted([r.name for r in refiner_manager])))
self.config.set('general', 'single', str(0))
self.config.set('general', 'embedded_subtitles', str(1))
self.config.set('general', 'age', str(int(timedelta(weeks=2).total_seconds())))
self.config.set('general', 'hearing_impaired', str(1))
self.config.set('general', 'min_score', str(0))
def read(self):
"""Read the configuration from :attr:`path`"""
self.config.read(self.path)
def write(self):
"""Write the configuration to :attr:`path`"""
with open(self.path, 'w') as f:
self.config.write(f)
@property
def languages(self):
return {Language.fromietf(l) for l in json.loads(self.config.get('general', 'languages'))}
@languages.setter
def languages(self, value):
self.config.set('general', 'languages', json.dumps(sorted([str(l) for l in value])))
@property
def providers(self):
return json.loads(self.config.get('general', 'providers'))
@providers.setter
def providers(self, value):
self.config.set('general', 'providers', json.dumps(sorted([p.lower() for p in value])))
@property
def refiners(self):
return json.loads(self.config.get('general', 'refiners'))
@refiners.setter
def refiners(self, value):
self.config.set('general', 'refiners', json.dumps([r.lower() for r in value]))
@property
def single(self):
return self.config.getboolean('general', 'single')
@single.setter
def single(self, value):
self.config.set('general', 'single', str(int(value)))
@property
def embedded_subtitles(self):
return self.config.getboolean('general', 'embedded_subtitles')
@embedded_subtitles.setter
def embedded_subtitles(self, value):
self.config.set('general', 'embedded_subtitles', str(int(value)))
@property
def age(self):
return timedelta(seconds=self.config.getint('general', 'age'))
@age.setter
def age(self, value):
self.config.set('general', 'age', str(int(value.total_seconds())))
@property
def hearing_impaired(self):
return self.config.getboolean('general', 'hearing_impaired')
@hearing_impaired.setter
def hearing_impaired(self, value):
self.config.set('general', 'hearing_impaired', str(int(value)))
@property
def min_score(self):
return self.config.getfloat('general', 'min_score')
@min_score.setter
def min_score(self, value):
self.config.set('general', 'min_score', str(value))
@property
def provider_configs(self):
rv = {}
for provider in provider_manager:
if self.config.has_section(provider.name):
rv[provider.name] = {k: v for k, v in self.config.items(provider.name)}
return rv
@provider_configs.setter
def provider_configs(self, value):
# loop over provider configurations
for provider, config in value.items():
# create the corresponding section if necessary
if not self.config.has_section(provider):
self.config.add_section(provider)
# add config options
for k, v in config.items():
self.config.set(provider, k, v)
class LanguageParamType(click.ParamType):
""":class:`~click.ParamType` for languages that returns a :class:`~babelfish.language.Language`"""
name = 'language'
@@ -82,19 +205,26 @@ AGE = AgeParamType()
PROVIDER = click.Choice(sorted(provider_manager.names()))
subliminal_cache = 'subliminal.dbm'
REFINER = click.Choice(sorted(refiner_manager.names()))
dirs = AppDirs('subliminal')
cache_file = 'subliminal.dbm'
config_file = 'config.ini'
@click.group(context_settings={'max_content_width': 100}, epilog='Suggestions and bug reports are greatly appreciated: '
'https://github.com/Diaoul/subliminal/')
@click.option('--addic7ed', type=click.STRING, nargs=2, metavar='USERNAME PASSWORD', help='Addic7ed configuration.')
@click.option('--cache-dir', type=click.Path(writable=True, resolve_path=True, file_okay=False),
default=click.get_app_dir('subliminal'), show_default=True, expose_value=True,
help='Path to the cache directory.')
@click.option('--legendastv', type=click.STRING, nargs=2, metavar='USERNAME PASSWORD', help='LegendasTV configuration.')
@click.option('--opensubtitles', type=click.STRING, nargs=2, metavar='USERNAME PASSWORD',
help='OpenSubtitles configuration.')
@click.option('--subscenter', type=click.STRING, nargs=2, metavar='USERNAME PASSWORD', help='SubsCenter configuration.')
@click.option('--cache-dir', type=click.Path(writable=True, file_okay=False), default=dirs.user_cache_dir,
show_default=True, expose_value=True, help='Path to the cache directory.')
@click.option('--debug', is_flag=True, help='Print useful information for debugging subliminal and for reporting bugs.')
@click.version_option(__version__)
@click.pass_context
def subliminal(ctx, addic7ed, cache_dir, debug):
def subliminal(ctx, addic7ed, legendastv, opensubtitles, subscenter, cache_dir, debug):
"""Subtitles, faster than your thoughts."""
# create cache directory
try:
@@ -105,7 +235,7 @@ def subliminal(ctx, addic7ed, cache_dir, debug):
# configure cache
region.configure('dogpile.cache.dbm', expiration_time=timedelta(days=30),
arguments={'filename': os.path.join(cache_dir, subliminal_cache), 'lock_factory': MutexLock})
arguments={'filename': os.path.join(cache_dir, cache_file), 'lock_factory': MutexLock})
# configure logging
if debug:
@@ -118,6 +248,12 @@ def subliminal(ctx, addic7ed, cache_dir, debug):
ctx.obj = {'provider_configs': {}}
if addic7ed:
ctx.obj['provider_configs']['addic7ed'] = {'username': addic7ed[0], 'password': addic7ed[1]}
if legendastv:
ctx.obj['provider_configs']['legendastv'] = {'username': legendastv[0], 'password': legendastv[1]}
if opensubtitles:
ctx.obj['provider_configs']['opensubtitles'] = {'username': opensubtitles[0], 'password': opensubtitles[1]}
if subscenter:
ctx.obj['provider_configs']['subscenter'] = {'username': subscenter[0], 'password': subscenter[1]}
@subliminal.command()
@@ -127,7 +263,7 @@ def subliminal(ctx, addic7ed, cache_dir, debug):
def cache(ctx, clear_subliminal):
"""Cache management."""
if clear_subliminal:
os.remove(os.path.join(ctx.parent.params['cache_dir'], subliminal_cache))
os.remove(os.path.join(ctx.parent.params['cache_dir'], cache_file))
click.echo('Subliminal\'s cache cleared.')
else:
click.echo('Nothing done.')
@@ -137,22 +273,26 @@ def cache(ctx, clear_subliminal):
@click.option('-l', '--language', type=LANGUAGE, required=True, multiple=True, help='Language as IETF code, '
'e.g. en, pt-BR (can be used multiple times).')
@click.option('-p', '--provider', type=PROVIDER, multiple=True, help='Provider to use (can be used multiple times).')
@click.option('-r', '--refiner', type=REFINER, multiple=True, help='Refiner to use (can be used multiple times).')
@click.option('-a', '--age', type=AGE, help='Filter videos newer than AGE, e.g. 12h, 1w2d.')
@click.option('-d', '--directory', type=click.STRING, metavar='DIR', help='Directory where to save subtitles, '
'default is next to the video file.')
@click.option('-e', '--encoding', type=click.STRING, metavar='ENC', help='Subtitle file encoding, default is to '
'preserve original encoding.')
@click.option('-s', '--single', is_flag=True, default=False, help='Save subtitle without language code in the file '
'name, i.e. use .srt extension.')
'name, i.e. use .srt extension. Do not use this unless your media player requires it.')
@click.option('-f', '--force', is_flag=True, default=False, help='Force download even if a subtitle already exist.')
@click.option('-hi', '--hearing-impaired', is_flag=True, default=False, help='Prefer hearing impaired subtitles.')
@click.option('-m', '--min-score', type=click.IntRange(0, 100), default=0, help='Minimum score for a subtitle '
'to be downloaded (0 to 100).')
@click.option('-w', '--max-workers', type=click.IntRange(1, 50), default=None, help='Maximum number of threads to use.')
@click.option('-z/-Z', '--archives/--no-archives', default=True, show_default=True, help='Scan archives for videos '
'(supported extensions: %s).' % ', '.join(ARCHIVE_EXTENSIONS))
@click.option('-v', '--verbose', count=True, help='Increase verbosity.')
@click.argument('path', type=click.Path(), required=True, nargs=-1)
@click.pass_obj
def download(obj, provider, language, age, directory, encoding, single, force, hearing_impaired, min_score, verbose,
path):
def download(obj, provider, refiner, language, age, directory, encoding, single, force, hearing_impaired, min_score,
max_workers, archives, verbose, path):
"""Download best subtitles.
PATH can be an directory containing videos, a video file path or a video file name. It can be used multiple times.
@@ -167,34 +307,68 @@ def download(obj, provider, language, age, directory, encoding, single, force, h
# scan videos
videos = []
ignored_videos = []
with click.progressbar(path, label='Collecting videos',
item_show_func=lambda p: str(p) if p is not None else '') as bar:
errored_paths = []
with click.progressbar(path, label='Collecting videos', item_show_func=lambda p: p or '') as bar:
for p in bar:
logger.debug('Collecting path %s', p)
# non-existing
if not os.path.exists(p):
videos.append(Video.fromname(p))
try:
video = Video.fromname(p)
except:
logger.exception('Unexpected error while collecting non-existing path %s', p)
errored_paths.append(p)
continue
if not force:
video.subtitle_languages |= set(search_external_subtitles(video.name, directory=directory).values())
refine(video, episode_refiners=refiner, movie_refiners=refiner, embedded_subtitles=not force)
videos.append(video)
continue
# directories
if os.path.isdir(p):
for video in scan_videos(p, subtitles=not force, embedded_subtitles=not force):
try:
scanned_videos = scan_videos(p, age=age, archives=archives)
except:
logger.exception('Unexpected error while collecting directory path %s', p)
errored_paths.append(p)
continue
for video in scanned_videos:
if check_video(video, languages=language, age=age, undefined=single):
if not force:
video.subtitle_languages |= set(search_external_subtitles(video.name,
directory=directory).values())
refine(video, episode_refiners=refiner, movie_refiners=refiner, embedded_subtitles=not force)
videos.append(video)
else:
ignored_videos.append(video)
continue
# other inputs
video = scan_video(p, subtitles=not force, embedded_subtitles=not force)
try:
video = scan_video(p)
except:
logger.exception('Unexpected error while collecting path %s', p)
errored_paths.append(p)
continue
if check_video(video, languages=language, age=age, undefined=single):
if not force:
video.subtitle_languages |= set(search_external_subtitles(video.name, directory=directory).values())
refine(video, episode_refiners=refiner, movie_refiners=refiner, embedded_subtitles=not force)
videos.append(video)
else:
ignored_videos.append(video)
# output errored paths
if verbose > 0:
for p in errored_paths:
click.secho('%s errored' % p, fg='red')
# output ignored videos
if verbose > 1:
for video in ignored_videos:
click.secho('%s ignored - subtitles: %s / age: %d day%s ' % (
click.secho('%s ignored - subtitles: %s / age: %d day%s' % (
os.path.split(video.name)[1],
', '.join(str(s) for s in video.subtitle_languages) or 'none',
video.age.days,
@@ -202,10 +376,14 @@ def download(obj, provider, language, age, directory, encoding, single, force, h
), fg='yellow')
# report collected videos
click.echo('%s video%s collected / %s video%s ignored' % (click.style(str(len(videos)), bold=True),
's' if len(videos) > 1 else '',
click.style(str(len(ignored_videos)), bold=True),
's' if len(ignored_videos) > 1 else ''))
click.echo('%s video%s collected / %s video%s ignored / %s error%s' % (
click.style(str(len(videos)), bold=True, fg='green' if videos else None),
's' if len(videos) > 1 else '',
click.style(str(len(ignored_videos)), bold=True, fg='yellow' if ignored_videos else None),
's' if len(ignored_videos) > 1 else '',
click.style(str(len(errored_paths)), bold=True, fg='red' if errored_paths else None),
's' if len(errored_paths) > 1 else '',
))
# exit if no video collected
if not videos:
@@ -213,15 +391,20 @@ def download(obj, provider, language, age, directory, encoding, single, force, h
# download best subtitles
downloaded_subtitles = defaultdict(list)
with ProviderPool(providers=provider, provider_configs=obj['provider_configs']) as pool:
with AsyncProviderPool(max_workers=max_workers, providers=provider, provider_configs=obj['provider_configs']) as p:
with click.progressbar(videos, label='Downloading subtitles',
item_show_func=lambda v: os.path.split(v.name)[1] if v is not None else '') as bar:
for v in bar:
subtitles = pool.download_best_subtitles(pool.list_subtitles(v, language - v.subtitle_languages),
v, language, min_score=v.scores['hash'] * min_score / 100,
hearing_impaired=hearing_impaired, only_one=single)
scores = get_scores(v)
subtitles = p.download_best_subtitles(p.list_subtitles(v, language - v.subtitle_languages),
v, language, min_score=scores['hash'] * min_score / 100,
hearing_impaired=hearing_impaired, only_one=single)
downloaded_subtitles[v] = subtitles
if p.discarded_providers:
click.secho('Some providers have been discarded due to unexpected errors: %s' %
', '.join(p.discarded_providers), fg='yellow')
# save subtitles
total_subtitles = 0
for v, subtitles in downloaded_subtitles.items():
@@ -235,23 +418,23 @@ def download(obj, provider, language, age, directory, encoding, single, force, h
if verbose > 1:
for s in saved_subtitles:
matches = s.get_matches(v, hearing_impaired=hearing_impaired)
score = compute_score(matches, v)
matches = s.get_matches(v)
score = compute_score(s, v)
# score color
score_color = None
scores = get_scores(v)
if isinstance(v, Movie):
if score < v.scores['title']:
if score < scores['title']:
score_color = 'red'
elif score < v.scores['title'] + v.scores['year'] + v.scores['release_group']:
elif score < scores['title'] + scores['year'] + scores['release_group']:
score_color = 'yellow'
else:
score_color = 'green'
elif isinstance(v, Episode):
if score < v.scores['series'] + v.scores['season'] + v.scores['episode']:
if score < scores['series'] + scores['season'] + scores['episode']:
score_color = 'red'
elif score < (v.scores['series'] + v.scores['season'] + v.scores['episode'] +
v.scores['release_group']):
elif score < scores['series'] + scores['season'] + scores['episode'] + scores['release_group']:
score_color = 'yellow'
else:
score_color = 'green'
@@ -259,16 +442,16 @@ def download(obj, provider, language, age, directory, encoding, single, force, h
# scale score from 0 to 100 taking out preferences
scaled_score = score
if s.hearing_impaired == hearing_impaired:
scaled_score -= v.scores['hearing_impaired']
scaled_score *= 100 / v.scores['hash']
scaled_score -= scores['hearing_impaired']
scaled_score *= 100 / scores['hash']
# echo some nice colored output
click.echo(' - [{score}] - {language} subtitle from {provider_name} (match on {matches})'.format(
score=click.style('{:5.1f}'.format(scaled_score), fg=score_color, bold=score >= v.scores['hash']),
click.echo(' - [{score}] {language} subtitle from {provider_name} (match on {matches})'.format(
score=click.style('{:5.1f}'.format(scaled_score), fg=score_color, bold=score >= scores['hash']),
language=s.language.name if s.language.country is None else '%s (%s)' % (s.language.name,
s.language.country.name),
provider_name=s.provider_name,
matches=', '.join(sorted(matches, key=v.scores.get, reverse=True))
matches=', '.join(sorted(matches, key=scores.get, reverse=True))
))
if verbose == 0:
+1 -2
View File
@@ -1,12 +1,11 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from babelfish import LanguageReverseConverter, language_converters
class Addic7edConverter(LanguageReverseConverter):
def __init__(self):
self.name_converter = language_converters['name']
self.from_addic7ed = {'Català': ('cat',), 'Chinese (Simplified)': ('zho',), 'Chinese (Traditional)': ('zho',),
self.from_addic7ed = {u'Català': ('cat',), 'Chinese (Simplified)': ('zho',), 'Chinese (Traditional)': ('zho',),
'Euskera': ('eus',), 'Galego': ('glg',), 'Greek': ('ell',), 'Malay': ('msa',),
'Portuguese (Brazilian)': ('por', 'BR'), 'Serbian (Cyrillic)': ('srp', None, 'Cyrl'),
'Serbian (Latin)': ('srp',), 'Spanish (Latin America)': ('spa',),
+27
View File
@@ -0,0 +1,27 @@
# -*- coding: utf-8 -*-
from babelfish import LanguageReverseConverter
from ..exceptions import ConfigurationError
class LegendasTVConverter(LanguageReverseConverter):
def __init__(self):
self.from_legendastv = {1: ('por', 'BR'), 2: ('eng',), 3: ('spa',), 4: ('fra',), 5: ('deu',), 6: ('jpn',),
7: ('dan',), 8: ('nor',), 9: ('swe',), 10: ('por',), 11: ('ara',), 12: ('ces',),
13: ('zho',), 14: ('kor',), 15: ('bul',), 16: ('ita',), 17: ('pol',)}
self.to_legendastv = {v: k for k, v in self.from_legendastv.items()}
self.codes = set(self.from_legendastv.keys())
def convert(self, alpha3, country=None, script=None):
if (alpha3, country) in self.to_legendastv:
return self.to_legendastv[(alpha3, country)]
if (alpha3,) in self.to_legendastv:
return self.to_legendastv[(alpha3,)]
raise ConfigurationError('Unsupported language code for legendastv: %s, %s, %s' % (alpha3, country, script))
def reverse(self, legendastv):
if legendastv in self.from_legendastv:
return self.from_legendastv[legendastv]
raise ConfigurationError('Unsupported language number for legendastv: %s' % legendastv)
+23
View File
@@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
from babelfish import LanguageReverseConverter
from ..exceptions import ConfigurationError
class ShooterConverter(LanguageReverseConverter):
def __init__(self):
self.from_shooter = {'chn': ('zho',), 'eng': ('eng',)}
self.to_shooter = {v: k for k, v in self.from_shooter.items()}
self.codes = set(self.from_shooter.keys())
def convert(self, alpha3, country=None, script=None):
if (alpha3,) in self.to_shooter:
return self.to_shooter[(alpha3,)]
raise ConfigurationError('Unsupported language for shooter: %s, %s, %s' % (alpha3, country, script))
def reverse(self, shooter):
if shooter in self.from_shooter:
return self.from_shooter[shooter]
raise ConfigurationError('Unsupported language code for shooter: %s' % shooter)
+26
View File
@@ -0,0 +1,26 @@
# -*- coding: utf-8 -*-
from babelfish import LanguageReverseConverter
from ..exceptions import ConfigurationError
class TheSubDBConverter(LanguageReverseConverter):
def __init__(self):
self.from_thesubdb = {'en': ('eng',), 'es': ('spa',), 'fr': ('fra',), 'it': ('ita',), 'nl': ('nld',),
'pl': ('pol',), 'pt': ('por', 'BR'), 'ro': ('ron',), 'sv': ('swe',), 'tr': ('tur',)}
self.to_thesubdb = {v: k for k, v in self.from_thesubdb.items()}
self.codes = set(self.from_thesubdb.keys())
def convert(self, alpha3, country=None, script=None):
if (alpha3, country) in self.to_thesubdb:
return self.to_thesubdb[(alpha3, country)]
if (alpha3,) in self.to_thesubdb:
return self.to_thesubdb[(alpha3,)]
raise ConfigurationError('Unsupported language for thesubdb: %s, %s, %s' % (alpha3, country, script))
def reverse(self, thesubdb):
if thesubdb in self.from_thesubdb:
return self.from_thesubdb[thesubdb]
raise ConfigurationError('Unsupported language code for thesubdb: %s' % thesubdb)
-1
View File
@@ -1,5 +1,4 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from babelfish import LanguageReverseConverter, language_converters
+705
View File
@@ -0,0 +1,705 @@
# -*- coding: utf-8 -*-
from collections import defaultdict
from concurrent.futures import ThreadPoolExecutor
from datetime import datetime
import io
import itertools
import logging
import operator
import os.path
import socket
from babelfish import Language, LanguageReverseError
from guessit import guessit
from rarfile import NotRarFile, RarCannotExec, RarFile
import requests
from .extensions import provider_manager, refiner_manager
from .score import compute_score as default_compute_score
from .subtitle import SUBTITLE_EXTENSIONS, get_subtitle_path
from .utils import hash_napiprojekt, hash_opensubtitles, hash_shooter, hash_thesubdb
from .video import VIDEO_EXTENSIONS, Episode, Movie, Video
#: Supported archive extensions
ARCHIVE_EXTENSIONS = ('.rar',)
logger = logging.getLogger(__name__)
class ProviderPool(object):
"""A pool of providers with the same API as a single :class:`~subliminal.providers.Provider`.
It has a few extra features:
* Lazy loads providers when needed and supports the `with` statement to :meth:`terminate`
the providers on exit.
* Automatically discard providers on failure.
:param list providers: name of providers to use, if not all.
:param dict provider_configs: provider configuration as keyword arguments per provider name to pass when
instanciating the :class:`~subliminal.providers.Provider`.
"""
def __init__(self, providers=None, provider_configs=None):
#: Name of providers to use
self.providers = providers or provider_manager.names()
#: Provider configuration
self.provider_configs = provider_configs or {}
#: Initialized providers
self.initialized_providers = {}
#: Discarded providers
self.discarded_providers = set()
def __enter__(self):
return self
def __exit__(self, exc_type, exc_value, traceback):
self.terminate()
def __getitem__(self, name):
if name not in self.providers:
raise KeyError
if name not in self.initialized_providers:
logger.info('Initializing provider %s', name)
provider = provider_manager[name].plugin(**self.provider_configs.get(name, {}))
provider.initialize()
self.initialized_providers[name] = provider
return self.initialized_providers[name]
def __delitem__(self, name):
if name not in self.initialized_providers:
raise KeyError(name)
try:
logger.info('Terminating provider %s', name)
self.initialized_providers[name].terminate()
except (requests.Timeout, socket.timeout):
logger.error('Provider %r timed out, improperly terminated', name)
except:
logger.exception('Provider %r terminated unexpectedly', name)
del self.initialized_providers[name]
def __iter__(self):
return iter(self.initialized_providers)
def list_subtitles_provider(self, provider, video, languages):
"""List subtitles with a single provider.
The video and languages are checked against the provider.
:param str provider: name of the provider.
:param video: video to list subtitles for.
:type video: :class:`~subliminal.video.Video`
:param languages: languages to search for.
:type languages: set of :class:`~babelfish.language.Language`
:return: found subtitles.
:rtype: list of :class:`~subliminal.subtitle.Subtitle` or None
"""
# check video validity
if not provider_manager[provider].plugin.check(video):
logger.info('Skipping provider %r: not a valid video', provider)
return []
# check supported languages
provider_languages = provider_manager[provider].plugin.languages & languages
if not provider_languages:
logger.info('Skipping provider %r: no language to search for', provider)
return []
# list subtitles
logger.info('Listing subtitles with provider %r and languages %r', provider, provider_languages)
try:
return self[provider].list_subtitles(video, provider_languages)
except (requests.Timeout, socket.timeout):
logger.error('Provider %r timed out', provider)
except:
logger.exception('Unexpected error in provider %r', provider)
def list_subtitles(self, video, languages):
"""List subtitles.
:param video: video to list subtitles for.
:type video: :class:`~subliminal.video.Video`
:param languages: languages to search for.
:type languages: set of :class:`~babelfish.language.Language`
:return: found subtitles.
:rtype: list of :class:`~subliminal.subtitle.Subtitle`
"""
subtitles = []
for name in self.providers:
# check discarded providers
if name in self.discarded_providers:
logger.debug('Skipping discarded provider %r', name)
continue
# list subtitles
provider_subtitles = self.list_subtitles_provider(name, video, languages)
if provider_subtitles is None:
logger.info('Discarding provider %s', name)
self.discarded_providers.add(name)
continue
# add the subtitles
subtitles.extend(provider_subtitles)
return subtitles
def download_subtitle(self, subtitle):
"""Download `subtitle`'s :attr:`~subliminal.subtitle.Subtitle.content`.
:param subtitle: subtitle to download.
:type subtitle: :class:`~subliminal.subtitle.Subtitle`
:return: `True` if the subtitle has been successfully downloaded, `False` otherwise.
:rtype: bool
"""
# check discarded providers
if subtitle.provider_name in self.discarded_providers:
logger.warning('Provider %r is discarded', subtitle.provider_name)
return False
logger.info('Downloading subtitle %r', subtitle)
try:
self[subtitle.provider_name].download_subtitle(subtitle)
except (requests.Timeout, socket.timeout):
logger.error('Provider %r timed out, discarding it', subtitle.provider_name)
self.discarded_providers.add(subtitle.provider_name)
return False
except:
logger.exception('Unexpected error in provider %r, discarding it', subtitle.provider_name)
self.discarded_providers.add(subtitle.provider_name)
return False
# check subtitle validity
if not subtitle.is_valid():
logger.error('Invalid subtitle')
return False
return True
def download_best_subtitles(self, subtitles, video, languages, min_score=0, hearing_impaired=False, only_one=False,
compute_score=None):
"""Download the best matching subtitles.
:param subtitles: the subtitles to use.
:type subtitles: list of :class:`~subliminal.subtitle.Subtitle`
:param video: video to download subtitles for.
:type video: :class:`~subliminal.video.Video`
:param languages: languages to download.
:type languages: set of :class:`~babelfish.language.Language`
:param int min_score: minimum score for a subtitle to be downloaded.
:param bool hearing_impaired: hearing impaired preference.
:param bool only_one: download only one subtitle, not one per language.
:param compute_score: function that takes `subtitle` and `video` as positional arguments,
`hearing_impaired` as keyword argument and returns the score.
:return: downloaded subtitles.
:rtype: list of :class:`~subliminal.subtitle.Subtitle`
"""
compute_score = compute_score or default_compute_score
# sort subtitles by score
scored_subtitles = sorted([(s, compute_score(s, video, hearing_impaired=hearing_impaired))
for s in subtitles], key=operator.itemgetter(1), reverse=True)
# download best subtitles, falling back on the next on error
downloaded_subtitles = []
for subtitle, score in scored_subtitles:
# check score
if score < min_score:
logger.info('Score %d is below min_score (%d)', score, min_score)
break
# check downloaded languages
if subtitle.language in set(s.language for s in downloaded_subtitles):
logger.debug('Skipping subtitle: %r already downloaded', subtitle.language)
continue
# download
if self.download_subtitle(subtitle):
downloaded_subtitles.append(subtitle)
# stop when all languages are downloaded
if set(s.language for s in downloaded_subtitles) == languages:
logger.debug('All languages downloaded')
break
# stop if only one subtitle is requested
if only_one:
logger.debug('Only one subtitle downloaded')
break
return downloaded_subtitles
def terminate(self):
"""Terminate all the :attr:`initialized_providers`."""
logger.debug('Terminating initialized providers')
for name in list(self.initialized_providers):
del self[name]
class AsyncProviderPool(ProviderPool):
"""Subclass of :class:`ProviderPool` with asynchronous support for :meth:`~ProviderPool.list_subtitles`.
:param int max_workers: maximum number of threads to use. If `None`, :attr:`max_workers` will be set
to the number of :attr:`~ProviderPool.providers`.
"""
def __init__(self, max_workers=None, *args, **kwargs):
super(AsyncProviderPool, self).__init__(*args, **kwargs)
#: Maximum number of threads to use
self.max_workers = max_workers or len(self.providers)
def list_subtitles_provider(self, provider, video, languages):
return provider, super(AsyncProviderPool, self).list_subtitles_provider(provider, video, languages)
def list_subtitles(self, video, languages):
subtitles = []
with ThreadPoolExecutor(self.max_workers) as executor:
for provider, provider_subtitles in executor.map(self.list_subtitles_provider, self.providers,
itertools.repeat(video, len(self.providers)),
itertools.repeat(languages, len(self.providers))):
# discard provider that failed
if provider_subtitles is None:
logger.info('Discarding provider %s', provider)
self.discarded_providers.add(provider)
continue
# add subtitles
subtitles.extend(provider_subtitles)
return subtitles
def check_video(video, languages=None, age=None, undefined=False):
"""Perform some checks on the `video`.
All the checks are optional. Return `False` if any of this check fails:
* `languages` already exist in `video`'s :attr:`~subliminal.video.Video.subtitle_languages`.
* `video` is older than `age`.
* `video` has an `undefined` language in :attr:`~subliminal.video.Video.subtitle_languages`.
:param video: video to check.
:type video: :class:`~subliminal.video.Video`
:param languages: desired languages.
:type languages: set of :class:`~babelfish.language.Language`
:param datetime.timedelta age: maximum age of the video.
:param bool undefined: fail on existing undefined language.
:return: `True` if the video passes the checks, `False` otherwise.
:rtype: bool
"""
# language test
if languages and not (languages - video.subtitle_languages):
logger.debug('All languages %r exist', languages)
return False
# age test
if age and video.age > age:
logger.debug('Video is older than %r', age)
return False
# undefined test
if undefined and Language('und') in video.subtitle_languages:
logger.debug('Undefined language found')
return False
return True
def search_external_subtitles(path, directory=None):
"""Search for external subtitles from a video `path` and their associated language.
Unless `directory` is provided, search will be made in the same directory as the video file.
:param str path: path to the video.
:param str directory: directory to search for subtitles.
:return: found subtitles with their languages.
:rtype: dict
"""
# split path
dirpath, filename = os.path.split(path)
dirpath = dirpath or '.'
fileroot, fileext = os.path.splitext(filename)
# search for subtitles
subtitles = {}
for p in os.listdir(directory or dirpath):
# keep only valid subtitle filenames
if not p.startswith(fileroot) or not p.endswith(SUBTITLE_EXTENSIONS):
continue
# extract the potential language code
language = Language('und')
language_code = p[len(fileroot):-len(os.path.splitext(p)[1])].replace(fileext, '').replace('_', '-')[1:]
if language_code:
try:
language = Language.fromietf(language_code)
except (ValueError, LanguageReverseError):
logger.error('Cannot parse language code %r', language_code)
subtitles[p] = language
logger.debug('Found subtitles %r', subtitles)
return subtitles
def scan_video(path):
"""Scan a video from a `path`.
:param str path: existing path to the video.
:return: the scanned video.
:rtype: :class:`~subliminal.video.Video`
"""
# check for non-existing path
if not os.path.exists(path):
raise ValueError('Path does not exist')
# check video extension
if not path.endswith(VIDEO_EXTENSIONS):
raise ValueError('%r is not a valid video extension' % os.path.splitext(path)[1])
dirpath, filename = os.path.split(path)
logger.info('Scanning video %r in %r', filename, dirpath)
# guess
video = Video.fromguess(path, guessit(path))
# size and hashes
video.size = os.path.getsize(path)
if video.size > 10485760:
logger.debug('Size is %d', video.size)
video.hashes['opensubtitles'] = hash_opensubtitles(path)
video.hashes['shooter'] = hash_shooter(path)
video.hashes['thesubdb'] = hash_thesubdb(path)
video.hashes['napiprojekt'] = hash_napiprojekt(path)
logger.debug('Computed hashes %r', video.hashes)
else:
logger.warning('Size is lower than 10MB: hashes not computed')
return video
def scan_archive(path):
"""Scan an archive from a `path`.
:param str path: existing path to the archive.
:return: the scanned video.
:rtype: :class:`~subliminal.video.Video`
"""
# check for non-existing path
if not os.path.exists(path):
raise ValueError('Path does not exist')
# check video extension
if not path.endswith(ARCHIVE_EXTENSIONS):
raise ValueError('%r is not a valid archive extension' % os.path.splitext(path)[1])
dirpath, filename = os.path.split(path)
logger.info('Scanning archive %r in %r', filename, dirpath)
# rar extension
if filename.endswith('.rar'):
rar = RarFile(path)
# filter on video extensions
rar_filenames = [f for f in rar.namelist() if f.endswith(VIDEO_EXTENSIONS)]
# no video found
if not rar_filenames:
raise ValueError('No video in archive')
# more than one video found
if len(rar_filenames) > 1:
raise ValueError('More than one video in archive')
# guess
rar_filename = rar_filenames[0]
rar_filepath = os.path.join(dirpath, rar_filename)
video = Video.fromguess(rar_filepath, guessit(rar_filepath))
# size
video.size = rar.getinfo(rar_filename).file_size
else:
raise ValueError('Unsupported extension %r' % os.path.splitext(path)[1])
return video
def scan_videos(path, age=None, archives=True):
"""Scan `path` for videos and their subtitles.
See :func:`refine` to find additional information for the video.
:param str path: existing directory path to scan.
:param datetime.timedelta age: maximum age of the video or archive.
:param bool archives: scan videos in archives.
:return: the scanned videos.
:rtype: list of :class:`~subliminal.video.Video`
"""
# check for non-existing path
if not os.path.exists(path):
raise ValueError('Path does not exist')
# check for non-directory path
if not os.path.isdir(path):
raise ValueError('Path is not a directory')
# walk the path
videos = []
for dirpath, dirnames, filenames in os.walk(path):
logger.debug('Walking directory %r', dirpath)
# remove badly encoded and hidden dirnames
for dirname in list(dirnames):
if dirname.startswith('.'):
logger.debug('Skipping hidden dirname %r in %r', dirname, dirpath)
dirnames.remove(dirname)
# scan for videos
for filename in filenames:
# filter on videos and archives
if not (filename.endswith(VIDEO_EXTENSIONS) or archives and filename.endswith(ARCHIVE_EXTENSIONS)):
continue
# skip hidden files
if filename.startswith('.'):
logger.debug('Skipping hidden filename %r in %r', filename, dirpath)
continue
# reconstruct the file path
filepath = os.path.join(dirpath, filename)
# skip links
if os.path.islink(filepath):
logger.debug('Skipping link %r in %r', filename, dirpath)
continue
# skip old files
if age and datetime.utcnow() - datetime.utcfromtimestamp(os.path.getmtime(filepath)) > age:
logger.debug('Skipping old file %r in %r', filename, dirpath)
continue
# scan
if filename.endswith(VIDEO_EXTENSIONS): # video
try:
video = scan_video(filepath)
except ValueError: # pragma: no cover
logger.exception('Error scanning video')
continue
elif archives and filename.endswith(ARCHIVE_EXTENSIONS): # archive
try:
video = scan_archive(filepath)
except (NotRarFile, RarCannotExec, ValueError): # pragma: no cover
logger.exception('Error scanning archive')
continue
else: # pragma: no cover
raise ValueError('Unsupported file %r' % filename)
videos.append(video)
return videos
def refine(video, episode_refiners=None, movie_refiners=None, **kwargs):
"""Refine a video using :ref:`refiners`.
.. note::
Exceptions raised in refiners are silently passed and logged.
:param video: the video to refine.
:type video: :class:`~subliminal.video.Video`
:param tuple episode_refiners: refiners to use for episodes.
:param tuple movie_refiners: refiners to use for movies.
:param \*\*kwargs: additional parameters for the :func:`~subliminal.refiners.refine` functions.
"""
refiners = ()
if isinstance(video, Episode):
refiners = episode_refiners or ('metadata', 'tvdb', 'omdb')
elif isinstance(video, Movie):
refiners = movie_refiners or ('metadata', 'omdb')
for refiner in refiners:
logger.info('Refining video with %s', refiner)
try:
refiner_manager[refiner].plugin(video, **kwargs)
except:
logger.exception('Failed to refine video')
def list_subtitles(videos, languages, pool_class=ProviderPool, **kwargs):
"""List subtitles.
The `videos` must pass the `languages` check of :func:`check_video`.
:param videos: videos to list subtitles for.
:type videos: set of :class:`~subliminal.video.Video`
:param languages: languages to search for.
:type languages: set of :class:`~babelfish.language.Language`
:param pool_class: class to use as provider pool.
:type pool_class: :class:`ProviderPool`, :class:`AsyncProviderPool` or similar
:param \*\*kwargs: additional parameters for the provided `pool_class` constructor.
:return: found subtitles per video.
:rtype: dict of :class:`~subliminal.video.Video` to list of :class:`~subliminal.subtitle.Subtitle`
"""
listed_subtitles = defaultdict(list)
# check videos
checked_videos = []
for video in videos:
if not check_video(video, languages=languages):
logger.info('Skipping video %r', video)
continue
checked_videos.append(video)
# return immediately if no video passed the checks
if not checked_videos:
return listed_subtitles
# list subtitles
with pool_class(**kwargs) as pool:
for video in checked_videos:
logger.info('Listing subtitles for %r', video)
subtitles = pool.list_subtitles(video, languages - video.subtitle_languages)
listed_subtitles[video].extend(subtitles)
logger.info('Found %d subtitle(s)', len(subtitles))
return listed_subtitles
def download_subtitles(subtitles, pool_class=ProviderPool, **kwargs):
"""Download :attr:`~subliminal.subtitle.Subtitle.content` of `subtitles`.
:param subtitles: subtitles to download.
:type subtitles: list of :class:`~subliminal.subtitle.Subtitle`
:param pool_class: class to use as provider pool.
:type pool_class: :class:`ProviderPool`, :class:`AsyncProviderPool` or similar
:param \*\*kwargs: additional parameters for the provided `pool_class` constructor.
"""
with pool_class(**kwargs) as pool:
for subtitle in subtitles:
logger.info('Downloading subtitle %r', subtitle)
pool.download_subtitle(subtitle)
def download_best_subtitles(videos, languages, min_score=0, hearing_impaired=False, only_one=False, compute_score=None,
pool_class=ProviderPool, **kwargs):
"""List and download the best matching subtitles.
The `videos` must pass the `languages` and `undefined` (`only_one`) checks of :func:`check_video`.
:param videos: videos to download subtitles for.
:type videos: set of :class:`~subliminal.video.Video`
:param languages: languages to download.
:type languages: set of :class:`~babelfish.language.Language`
:param int min_score: minimum score for a subtitle to be downloaded.
:param bool hearing_impaired: hearing impaired preference.
:param bool only_one: download only one subtitle, not one per language.
:param compute_score: function that takes `subtitle` and `video` as positional arguments,
`hearing_impaired` as keyword argument and returns the score.
:param pool_class: class to use as provider pool.
:type pool_class: :class:`ProviderPool`, :class:`AsyncProviderPool` or similar
:param \*\*kwargs: additional parameters for the provided `pool_class` constructor.
:return: downloaded subtitles per video.
:rtype: dict of :class:`~subliminal.video.Video` to list of :class:`~subliminal.subtitle.Subtitle`
"""
downloaded_subtitles = defaultdict(list)
# check videos
checked_videos = []
for video in videos:
if not check_video(video, languages=languages, undefined=only_one):
logger.info('Skipping video %r', video)
continue
checked_videos.append(video)
# return immediately if no video passed the checks
if not checked_videos:
return downloaded_subtitles
# download best subtitles
with pool_class(**kwargs) as pool:
for video in checked_videos:
logger.info('Downloading best subtitles for %r', video)
subtitles = pool.download_best_subtitles(pool.list_subtitles(video, languages - video.subtitle_languages),
video, languages, min_score=min_score,
hearing_impaired=hearing_impaired, only_one=only_one,
compute_score=compute_score)
logger.info('Downloaded %d subtitle(s)', len(subtitles))
downloaded_subtitles[video].extend(subtitles)
return downloaded_subtitles
def save_subtitles(video, subtitles, single=False, directory=None, encoding=None):
"""Save subtitles on filesystem.
Subtitles are saved in the order of the list. If a subtitle with a language has already been saved, other subtitles
with the same language are silently ignored.
The extension used is `.lang.srt` by default or `.srt` is `single` is `True`, with `lang` being the IETF code for
the :attr:`~subliminal.subtitle.Subtitle.language` of the subtitle.
:param video: video of the subtitles.
:type video: :class:`~subliminal.video.Video`
:param subtitles: subtitles to save.
:type subtitles: list of :class:`~subliminal.subtitle.Subtitle`
:param bool single: save a single subtitle, default is to save one subtitle per language.
:param str directory: path to directory where to save the subtitles, default is next to the video.
:param str encoding: encoding in which to save the subtitles, default is to keep original encoding.
:return: the saved subtitles
:rtype: list of :class:`~subliminal.subtitle.Subtitle`
"""
saved_subtitles = []
for subtitle in subtitles:
# check content
if subtitle.content is None:
logger.error('Skipping subtitle %r: no content', subtitle)
continue
# check language
if subtitle.language in set(s.language for s in saved_subtitles):
logger.debug('Skipping subtitle %r: language already saved', subtitle)
continue
# create subtitle path
subtitle_path = get_subtitle_path(video.name, None if single else subtitle.language)
if directory is not None:
subtitle_path = os.path.join(directory, os.path.split(subtitle_path)[1])
# save content as is or in the specified encoding
logger.info('Saving %r to %r', subtitle, subtitle_path)
if encoding is None:
with io.open(subtitle_path, 'wb') as f:
f.write(subtitle.content)
else:
with io.open(subtitle_path, 'w', encoding=encoding) as f:
f.write(subtitle.text)
saved_subtitles.append(subtitle)
# check single
if single:
break
return saved_subtitles
+5 -3
View File
@@ -1,7 +1,4 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
class Error(Exception):
"""Base class for exceptions in subliminal."""
pass
@@ -22,6 +19,11 @@ class AuthenticationError(ProviderError):
pass
class TooManyRequests(ProviderError):
"""Exception raised by providers when too many requests are made."""
pass
class DownloadLimitExceeded(ProviderError):
"""Exception raised by providers when download limit is exceeded."""
pass
+106
View File
@@ -0,0 +1,106 @@
# -*- coding: utf-8 -*-
from pkg_resources import EntryPoint
from stevedore import ExtensionManager
class RegistrableExtensionManager(ExtensionManager):
""":class:~stevedore.extensions.ExtensionManager` with support for registration.
It allows loading of internal extensions without setup and registering/unregistering additional extensions.
Loading is done in this order:
* Entry point extensions
* Internal extensions
* Registered extensions
:param str namespace: namespace argument for :class:~stevedore.extensions.ExtensionManager`.
:param list internal_extensions: internal extensions to use with entry point syntax.
:param \*\*kwargs: additional parameters for the :class:~stevedore.extensions.ExtensionManager` constructor.
"""
def __init__(self, namespace, internal_extensions, **kwargs):
#: Registered extensions with entry point syntax
self.registered_extensions = []
#: Internal extensions with entry point syntax
self.internal_extensions = internal_extensions
super(RegistrableExtensionManager, self).__init__(namespace, **kwargs)
def _find_entry_points(self, namespace):
# copy of default extensions
eps = list(super(RegistrableExtensionManager, self)._find_entry_points(namespace))
# internal extensions
for iep in self.internal_extensions:
ep = EntryPoint.parse(iep)
if ep.name not in [e.name for e in eps]:
eps.append(ep)
# registered extensions
for rep in self.registered_extensions:
ep = EntryPoint.parse(rep)
if ep.name not in [e.name for e in eps]:
eps.append(ep)
return eps
def register(self, entry_point):
"""Register an extension
:param str entry_point: extension to register (entry point syntax).
:raise: ValueError if already registered.
"""
if entry_point in self.registered_extensions:
raise ValueError('Extension already registered')
ep = EntryPoint.parse(entry_point)
if ep.name in self.names():
raise ValueError('An extension with the same name already exist')
ext = self._load_one_plugin(ep, False, (), {}, False)
self.extensions.append(ext)
if self._extensions_by_name is not None:
self._extensions_by_name[ext.name] = ext
self.registered_extensions.insert(0, entry_point)
def unregister(self, entry_point):
"""Unregister a provider
:param str entry_point: provider to unregister (entry point syntax).
"""
if entry_point not in self.registered_extensions:
raise ValueError('Extension not registered')
ep = EntryPoint.parse(entry_point)
self.registered_extensions.remove(entry_point)
if self._extensions_by_name is not None:
del self._extensions_by_name[ep.name]
for i, ext in enumerate(self.extensions):
if ext.name == ep.name:
del self.extensions[i]
break
#: Provider manager
provider_manager = RegistrableExtensionManager('subliminal.providers', [
'addic7ed = subliminal.providers.addic7ed:Addic7edProvider',
'legendastv = subliminal.providers.legendastv:LegendasTVProvider',
'opensubtitles = subliminal.providers.opensubtitles:OpenSubtitlesProvider',
'podnapisi = subliminal.providers.podnapisi:PodnapisiProvider',
'shooter = subliminal.providers.shooter:ShooterProvider',
'subscenter = subliminal.providers.subscenter:SubsCenterProvider',
'thesubdb = subliminal.providers.thesubdb:TheSubDBProvider',
'tvsubtitles = subliminal.providers.tvsubtitles:TVsubtitlesProvider'
])
#: Refiner manager
refiner_manager = RegistrableExtensionManager('subliminal.refiners', [
'metadata = subliminal.refiners.metadata:refine',
'omdb = subliminal.refiners.omdb:refine',
'tvdb = subliminal.refiners.tvdb:refine'
])
+3 -15
View File
@@ -1,5 +1,4 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import logging
from bs4 import BeautifulSoup, FeatureNotFound
@@ -10,17 +9,6 @@ from ..video import Episode, Movie
logger = logging.getLogger(__name__)
def get_version(version):
"""Put the `version` in the major.minor form.
:param str version: the full version.
:return: the major.minor form of the `version`.
:rtype: str
"""
return '.'.join(version.split('.')[:2])
class TimeoutSafeTransport(SafeTransport):
"""Timeout support for ``xmlrpc.client.SafeTransport``."""
def __init__(self, timeout, *args, **kwargs):
@@ -38,7 +26,7 @@ class ParserBeautifulSoup(BeautifulSoup):
"""A ``bs4.BeautifulSoup`` that picks the first parser available in `parsers`.
:param markup: markup for the ``bs4.BeautifulSoup``.
:param list parsers: parser names, in order of preference
:param list parsers: parser names, in order of preference.
"""
def __init__(self, markup, parsers, **kwargs):
@@ -94,7 +82,7 @@ class Provider(object):
or login operations.
.. note::
This is called automatically when entering the :keyword:`with` statement
This is called automatically when entering the `with` statement
"""
raise NotImplementedError
@@ -105,7 +93,7 @@ class Provider(object):
Must be called when done with the provider. This is the place for network shutdown or logout operations.
.. note::
This is called automatically when exiting the :keyword:`with` statement
This is called automatically when exiting the `with` statement
"""
raise NotImplementedError
+43 -29
View File
@@ -1,24 +1,29 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import logging
import re
from babelfish import Language
from babelfish import Language, language_converters
from guessit import guessit
from requests import Session
from . import ParserBeautifulSoup, Provider, get_version
from .. import __version__
from . import ParserBeautifulSoup, Provider
from .. import __short_version__
from ..cache import SHOW_EXPIRATION_TIME, region
from ..exceptions import AuthenticationError, ConfigurationError, DownloadLimitExceeded
from ..subtitle import Subtitle, fix_line_ending, guess_matches, guess_properties
from ..exceptions import AuthenticationError, ConfigurationError, DownloadLimitExceeded, TooManyRequests
from ..subtitle import Subtitle, fix_line_ending, guess_matches
from ..utils import sanitize, sanitize_release_group
from ..video import Episode
logger = logging.getLogger(__name__)
series_year_re = re.compile('^(?P<series>[ \w]+)(?: \((?P<year>\d{4})\))?$')
language_converters.register('addic7ed = subliminal.converters.addic7ed:Addic7edConverter')
#: Series header parsing regex
series_year_re = re.compile(r'^(?P<series>[ \w\'.:-]+)(?: \((?P<year>\d{4})\))?$')
class Addic7edSubtitle(Subtitle):
"""Addic7ed Subtitle."""
provider_name = 'addic7ed'
def __init__(self, language, hearing_impaired, page_link, series, season, episode, title, year, version,
@@ -36,11 +41,11 @@ class Addic7edSubtitle(Subtitle):
def id(self):
return self.download_link
def get_matches(self, video, hearing_impaired=False):
matches = super(Addic7edSubtitle, self).get_matches(video, hearing_impaired=hearing_impaired)
def get_matches(self, video):
matches = set()
# series
if video.series and self.series.lower() == video.series.lower():
if video.series and sanitize(self.series) == sanitize(video.series):
matches.add('series')
# season
if video.season and self.season == video.season:
@@ -49,13 +54,14 @@ class Addic7edSubtitle(Subtitle):
if video.episode and self.episode == video.episode:
matches.add('episode')
# title
if video.title and self.title.lower() == video.title.lower():
if video.title and sanitize(self.title) == sanitize(video.title):
matches.add('title')
# year
if video.year == self.year:
if video.original_series and self.year is None or video.year and video.year == self.year:
matches.add('year')
# release_group
if video.release_group and self.version and video.release_group.lower() in self.version.lower():
if (video.release_group and self.version and
sanitize_release_group(video.release_group) in sanitize_release_group(self.version)):
matches.add('release_group')
# resolution
if video.resolution and self.version and video.resolution in self.version.lower():
@@ -64,12 +70,13 @@ class Addic7edSubtitle(Subtitle):
if video.format and self.version and video.format.lower() in self.version.lower():
matches.add('format')
# other properties
matches |= guess_matches(video, guess_properties(self.version), partial=True)
matches |= guess_matches(video, guessit(self.version), partial=True)
return matches
class Addic7edProvider(Provider):
"""Addic7ed Provider."""
languages = {Language('por', 'BR')} | {Language(l) for l in [
'ara', 'aze', 'ben', 'bos', 'bul', 'cat', 'ces', 'dan', 'deu', 'ell', 'eng', 'eus', 'fas', 'fin', 'fra', 'glg',
'heb', 'hrv', 'hun', 'hye', 'ind', 'ita', 'jpn', 'kor', 'mkd', 'msa', 'nld', 'nor', 'pol', 'por', 'ron', 'rus',
@@ -88,7 +95,7 @@ class Addic7edProvider(Provider):
def initialize(self):
self.session = Session()
self.session.headers = {'User-Agent': 'Subliminal/%s' % get_version(__version__)}
self.session.headers['User-Agent'] = 'Subliminal/%s' % __short_version__
# login
if self.username is not None and self.password is not None:
@@ -130,7 +137,7 @@ class Addic7edProvider(Provider):
# populate the show ids
show_ids = {}
for show in soup.select('td.version > h3 > a[href^="/show/"]'):
show_ids[show.text.lower().replace('\'', '')] = int(show['href'][6:])
show_ids[sanitize(show.text)] = int(show['href'][6:])
logger.debug('Found %d show ids', len(show_ids))
return show_ids
@@ -139,21 +146,26 @@ class Addic7edProvider(Provider):
def _search_show_id(self, series, year=None):
"""Search the show id from the `series` and `year`.
:param string series: series of the episode.
:param str series: series of the episode.
:param year: year of the series, if any.
:type year: int or None
:type year: int
:return: the show id, if found.
:rtype: int or None
:rtype: int
"""
# addic7ed doesn't support search with quotes
series = series.replace('\'', ' ')
# build the params
series_year = '%s (%d)' % (series, year) if year is not None else series
series_year = '%s %d' % (series, year) if year is not None else series
params = {'search': series_year, 'Submit': 'Search'}
# make the search
logger.info('Searching show ids with %r', params)
r = self.session.get(self.server_url + 'search.php', params=params, timeout=10)
r.raise_for_status()
if r.status_code == 304:
raise TooManyRequests()
soup = ParserBeautifulSoup(r.content, ['lxml', 'html.parser'])
# get the suggestion
@@ -161,7 +173,7 @@ class Addic7edProvider(Provider):
if not suggestion:
logger.warning('Show id not found: no suggestion')
return None
if not suggestion[0].i.text.lower() == series_year.lower():
if not sanitize(suggestion[0].i.text.replace('\'', ' ')) == sanitize(series_year):
logger.warning('Show id not found: suggestion does not match')
return None
show_id = int(suggestion[0]['href'][6:])
@@ -172,35 +184,35 @@ class Addic7edProvider(Provider):
def get_show_id(self, series, year=None, country_code=None):
"""Get the best matching show id for `series`, `year` and `country_code`.
First search in the result of :meth:`_get_show_ids` and fallback on a search with :meth:`_search_show_id`
First search in the result of :meth:`_get_show_ids` and fallback on a search with :meth:`_search_show_id`.
:param str series: series of the episode.
:param year: year of the series, if any.
:type year: int or None
:type year: int
:param country_code: country code of the series, if any.
:type country_code: str or None
:type country_code: str
:return: the show id, if found.
:rtype: int or None
:rtype: int
"""
series_clean = series.lower().replace('\'', '')
series_sanitized = sanitize(series).lower()
show_ids = self._get_show_ids()
show_id = None
# attempt with country
if not show_id and country_code:
logger.debug('Getting show id with country')
show_id = show_ids.get('%s (%s)' % (series_clean, country_code.lower()))
show_id = show_ids.get('%s %s' % (series_sanitized, country_code.lower()))
# attempt with year
if not show_id and year:
logger.debug('Getting show id with year')
show_id = show_ids.get('%s (%d)' % (series_clean, year))
show_id = show_ids.get('%s %d' % (series_sanitized, year))
# attempt clean
if not show_id:
logger.debug('Getting show id')
show_id = show_ids.get(series_clean)
show_id = show_ids.get(series_sanitized)
# search as last resort
if not show_id:
@@ -220,6 +232,8 @@ class Addic7edProvider(Provider):
logger.info('Getting the page of show id %d, season %d', show_id, season)
r = self.session.get(self.server_url + 'show/%d' % show_id, params={'season': season}, timeout=10)
r.raise_for_status()
if r.status_code == 304:
raise TooManyRequests()
soup = ParserBeautifulSoup(r.content, ['lxml', 'html.parser'])
# loop over subtitle rows
+448
View File
@@ -0,0 +1,448 @@
# -*- coding: utf-8 -*-
import io
import json
import logging
import os
import re
from babelfish import Language, language_converters
from datetime import datetime, timedelta
from dogpile.cache.api import NO_VALUE
from guessit import guessit
import pytz
import rarfile
from rarfile import RarFile, is_rarfile
from requests import Session
from zipfile import ZipFile, is_zipfile
from . import ParserBeautifulSoup, Provider
from .. import __short_version__
from ..cache import SHOW_EXPIRATION_TIME, region
from ..exceptions import AuthenticationError, ConfigurationError, ProviderError
from ..subtitle import SUBTITLE_EXTENSIONS, Subtitle, fix_line_ending, guess_matches, sanitize
from ..video import Episode, Movie
logger = logging.getLogger(__name__)
language_converters.register('legendastv = subliminal.converters.legendastv:LegendasTVConverter')
# Configure :mod:`rarfile` to use the same path separator as :mod:`zipfile`
rarfile.PATH_SEP = '/'
#: Conversion map for types
type_map = {'M': 'movie', 'S': 'episode', 'C': 'episode'}
#: BR title season parsing regex
season_re = re.compile(r' - (?P<season>\d+)(\xaa|a|st|nd|rd|th) (temporada|season)', re.IGNORECASE)
#: Downloads parsing regex
downloads_re = re.compile(r'(?P<downloads>\d+) downloads')
#: Rating parsing regex
rating_re = re.compile(r'nota (?P<rating>\d+)')
#: Timestamp parsing regex
timestamp_re = re.compile(r'(?P<day>\d+)/(?P<month>\d+)/(?P<year>\d+) - (?P<hour>\d+):(?P<minute>\d+)')
#: Cache key for releases
releases_key = __name__ + ':releases|{archive_id}'
class LegendasTVArchive(object):
"""LegendasTV Archive.
:param str id: identifier.
:param str name: name.
:param bool pack: contains subtitles for multiple episodes.
:param bool pack: featured.
:param str link: link.
:param int downloads: download count.
:param int rating: rating (0-10).
:param timestamp: timestamp.
:type timestamp: datetime.datetime
"""
def __init__(self, id, name, pack, featured, link, downloads=0, rating=0, timestamp=None):
#: Identifier
self.id = id
#: Name
self.name = name
#: Pack
self.pack = pack
#: Featured
self.featured = featured
#: Link
self.link = link
#: Download count
self.downloads = downloads
#: Rating (0-10)
self.rating = rating
#: Timestamp
self.timestamp = timestamp
#: Compressed content as :class:`rarfile.RarFile` or :class:`zipfile.ZipFile`
self.content = None
def __repr__(self):
return '<%s [%s] %r>' % (self.__class__.__name__, self.id, self.name)
class LegendasTVSubtitle(Subtitle):
"""LegendasTV Subtitle."""
provider_name = 'legendastv'
def __init__(self, language, type, title, year, imdb_id, season, archive, name):
super(LegendasTVSubtitle, self).__init__(language, archive.link)
self.type = type
self.title = title
self.year = year
self.imdb_id = imdb_id
self.season = season
self.archive = archive
self.name = name
@property
def id(self):
return '%s-%s' % (self.archive.id, self.name.lower())
def get_matches(self, video, hearing_impaired=False):
matches = set()
# episode
if isinstance(video, Episode) and self.type == 'episode':
# series
if video.series and sanitize(self.title) == sanitize(video.series):
matches.add('series')
# year (year is based on season air date hence the adjustment)
if video.original_series and self.year is None or video.year and video.year == self.year - self.season + 1:
matches.add('year')
# imdb_id
if video.series_imdb_id and self.imdb_id == video.series_imdb_id:
matches.add('series_imdb_id')
# movie
elif isinstance(video, Movie) and self.type == 'movie':
# title
if video.title and sanitize(self.title) == sanitize(video.title):
matches.add('title')
# year
if video.year and self.year == video.year:
matches.add('year')
# imdb_id
if video.imdb_id and self.imdb_id == video.imdb_id:
matches.add('imdb_id')
# archive name
matches |= guess_matches(video, guessit(self.archive.name, {'type': self.type}))
# name
matches |= guess_matches(video, guessit(self.name, {'type': self.type}))
return matches
class LegendasTVProvider(Provider):
"""LegendasTV Provider.
:param str username: username.
:param str password: password.
"""
languages = {Language.fromlegendastv(l) for l in language_converters['legendastv'].codes}
server_url = 'http://legendas.tv/'
def __init__(self, username=None, password=None):
if username and not password or not username and password:
raise ConfigurationError('Username and password must be specified')
self.username = username
self.password = password
self.logged_in = False
def initialize(self):
self.session = Session()
self.session.headers['User-Agent'] = 'Subliminal/%s' % __short_version__
# login
if self.username is not None and self.password is not None:
logger.info('Logging in')
data = {'_method': 'POST', 'data[User][username]': self.username, 'data[User][password]': self.password}
r = self.session.post(self.server_url + 'login', data, allow_redirects=False, timeout=10)
r.raise_for_status()
soup = ParserBeautifulSoup(r.content, ['html.parser'])
if soup.find('div', {'class': 'alert-error'}, string=re.compile(u'Usuário ou senha inválidos')):
raise AuthenticationError(self.username)
logger.debug('Logged in')
self.logged_in = True
def terminate(self):
# logout
if self.logged_in:
logger.info('Logging out')
r = self.session.get(self.server_url + 'users/logout', allow_redirects=False, timeout=10)
r.raise_for_status()
logger.debug('Logged out')
self.logged_in = False
self.session.close()
@region.cache_on_arguments(expiration_time=SHOW_EXPIRATION_TIME)
def search_titles(self, title):
"""Search for titles matching the `title`.
:param str title: the title to search for.
:return: found titles.
:rtype: dict
"""
# make the query
logger.info('Searching title %r', title)
r = self.session.get(self.server_url + 'legenda/sugestao/{}'.format(title), timeout=10)
r.raise_for_status()
results = json.loads(r.text)
# loop over results
titles = {}
for result in results:
source = result['_source']
# extract id
title_id = int(source['id_filme'])
# extract type and title
title = {'type': type_map[source['tipo']], 'title': source['dsc_nome']}
# extract year
if source['dsc_data_lancamento'] and source['dsc_data_lancamento'].isdigit():
title['year'] = int(source['dsc_data_lancamento'])
# extract imdb_id
if source['id_imdb'] != '0':
if not source['id_imdb'].startswith('tt'):
title['imdb_id'] = 'tt' + source['id_imdb'].zfill(7)
else:
title['imdb_id'] = source['id_imdb']
# extract season
if title['type'] == 'episode':
if source['temporada'] and source['temporada'].isdigit():
title['season'] = int(source['temporada'])
else:
match = season_re.search(source['dsc_nome_br'])
if match:
title['season'] = int(match.group('season'))
else:
logger.warning('No season detected for title %d', title_id)
# add title
titles[title_id] = title
logger.debug('Found %d titles', len(titles))
return titles
@region.cache_on_arguments(expiration_time=timedelta(minutes=15).total_seconds())
def get_archives(self, title_id, language_code):
"""Get the archive list from a given `title_id` and `language_code`.
:param int title_id: title id.
:param int language_code: language code.
:return: the archives.
:rtype: list of :class:`LegendasTVArchive`
"""
logger.info('Getting archives for title %d and language %d', title_id, language_code)
archives = []
page = 1
while True:
# get the archive page
url = self.server_url + 'util/carrega_legendas_busca_filme/{title}/{language}/-/{page}'.format(
title=title_id, language=language_code, page=page)
r = self.session.get(url)
r.raise_for_status()
# parse the results
soup = ParserBeautifulSoup(r.content, ['lxml', 'html.parser'])
for archive_soup in soup.select('div.list_element > article > div'):
# create archive
archive = LegendasTVArchive(archive_soup.a['href'].split('/')[2], archive_soup.a.text,
'pack' in archive_soup['class'], 'destaque' in archive_soup['class'],
self.server_url + archive_soup.a['href'][1:])
# extract text containing downloads, rating and timestamp
data_text = archive_soup.find('p', class_='data').text
# match downloads
archive.downloads = int(downloads_re.search(data_text).group('downloads'))
# match rating
match = rating_re.search(data_text)
if match:
archive.rating = int(match.group('rating'))
# match timestamp and validate it
time_data = {k: int(v) for k, v in timestamp_re.search(data_text).groupdict().items()}
archive.timestamp = pytz.timezone('America/Sao_Paulo').localize(datetime(**time_data))
if archive.timestamp > datetime.utcnow().replace(tzinfo=pytz.utc):
raise ProviderError('Archive timestamp is in the future')
# add archive
archives.append(archive)
# stop on last page
if soup.find('a', attrs={'class': 'load_more'}, string='carregar mais') is None:
break
# increment page count
page += 1
logger.debug('Found %d archives', len(archives))
return archives
def download_archive(self, archive):
"""Download an archive's :attr:`~LegendasTVArchive.content`.
:param archive: the archive to download :attr:`~LegendasTVArchive.content` of.
:type archive: :class:`LegendasTVArchive`
"""
logger.info('Downloading archive %s', archive.id)
r = self.session.get(self.server_url + 'downloadarquivo/{}'.format(archive.id))
r.raise_for_status()
# open the archive
archive_stream = io.BytesIO(r.content)
if is_rarfile(archive_stream):
logger.debug('Identified rar archive')
archive.content = RarFile(archive_stream)
elif is_zipfile(archive_stream):
logger.debug('Identified zip archive')
archive.content = ZipFile(archive_stream)
else:
raise ValueError('Not a valid archive')
def query(self, language, title, season=None, episode=None, year=None):
# search for titles
titles = self.search_titles(sanitize(title))
# search for titles with the quote or dot character
ignore_characters = {'\'', '.'}
if any(c in title for c in ignore_characters):
titles.update(self.search_titles(sanitize(title, ignore_characters=ignore_characters)))
subtitles = []
# iterate over titles
for title_id, t in titles.items():
# discard mismatches on title
if sanitize(t['title']) != sanitize(title):
continue
# episode
if season and episode:
# discard mismatches on type
if t['type'] != 'episode':
continue
# discard mismatches on season
if 'season' not in t or t['season'] != season:
continue
# movie
else:
# discard mismatches on type
if t['type'] != 'movie':
continue
# discard mismatches on year
if year is not None and 'year' in t and t['year'] != year:
continue
# iterate over title's archives
for a in self.get_archives(title_id, language.legendastv):
# clean name of path separators and pack flags
clean_name = a.name.replace('/', '-')
if a.pack and clean_name.startswith('(p)'):
clean_name = clean_name[3:]
# guess from name
guess = guessit(clean_name, {'type': t['type']})
# episode
if season and episode:
# discard mismatches on episode in non-pack archives
if not a.pack and 'episode' in guess and guess['episode'] != episode:
continue
# compute an expiration time based on the archive timestamp
expiration_time = (datetime.utcnow().replace(tzinfo=pytz.utc) - a.timestamp).total_seconds()
# attempt to get the releases from the cache
releases = region.get(releases_key.format(archive_id=a.id), expiration_time=expiration_time)
# the releases are not in cache or cache is expired
if releases == NO_VALUE:
logger.info('Releases not found in cache')
# download archive
self.download_archive(a)
# extract the releases
releases = []
for name in a.content.namelist():
# discard the legendastv file
if name.startswith('Legendas.tv'):
continue
# discard hidden files
if os.path.split(name)[-1].startswith('.'):
continue
# discard non-subtitle files
if not name.lower().endswith(SUBTITLE_EXTENSIONS):
continue
releases.append(name)
# cache the releases
region.set(releases_key.format(archive_id=a.id), releases)
# iterate over releases
for r in releases:
subtitle = LegendasTVSubtitle(language, t['type'], t['title'], t.get('year'), t.get('imdb_id'),
t.get('season'), a, r)
logger.debug('Found subtitle %r', subtitle)
subtitles.append(subtitle)
return subtitles
def list_subtitles(self, video, languages):
season = episode = None
if isinstance(video, Episode):
title = video.series
season = video.season
episode = video.episode
else:
title = video.title
return [s for l in languages for s in self.query(l, title, season=season, episode=episode, year=video.year)]
def download_subtitle(self, subtitle):
# download archive in case we previously hit the releases cache and didn't download it
if subtitle.archive.content is None:
self.download_archive(subtitle.archive)
# extract subtitle's content
subtitle.content = fix_line_ending(subtitle.archive.content.read(subtitle.name))
+103
View File
@@ -0,0 +1,103 @@
# -*- coding: utf-8 -*-
import logging
from babelfish import Language
from requests import Session
from . import Provider
from .. import __short_version__
from ..subtitle import Subtitle
logger = logging.getLogger(__name__)
def get_subhash(hash):
"""Get a second hash based on napiprojekt's hash.
:param str hash: napiprojekt's hash.
:return: the subhash.
:rtype: str
"""
idx = [0xe, 0x3, 0x6, 0x8, 0x2]
mul = [2, 2, 5, 4, 3]
add = [0, 0xd, 0x10, 0xb, 0x5]
b = []
for i in range(len(idx)):
a = add[i]
m = mul[i]
i = idx[i]
t = a + int(hash[i], 16)
v = int(hash[t:t + 2], 16)
b.append(('%x' % (v * m))[-1])
return ''.join(b)
class NapiProjektSubtitle(Subtitle):
"""NapiProjekt Subtitle."""
provider_name = 'napiprojekt'
def __init__(self, language, hash):
super(NapiProjektSubtitle, self).__init__(language)
self.hash = hash
@property
def id(self):
return self.hash
def get_matches(self, video):
matches = set()
# hash
if 'napiprojekt' in video.hashes and video.hashes['napiprojekt'] == self.hash:
matches.add('hash')
return matches
class NapiProjektProvider(Provider):
"""NapiProjekt Provider."""
languages = {Language.fromalpha2(l) for l in ['pl']}
required_hash = 'napiprojekt'
server_url = 'http://napiprojekt.pl/unit_napisy/dl.php'
def initialize(self):
self.session = Session()
self.session.headers['User-Agent'] = 'Subliminal/%s' % __short_version__
def terminate(self):
self.session.close()
def query(self, language, hash):
params = {
'v': 'dreambox',
'kolejka': 'false',
'nick': '',
'pass': '',
'napios': 'Linux',
'l': language.alpha2.upper(),
'f': hash,
't': get_subhash(hash)}
logger.info('Searching subtitle %r', params)
response = self.session.get(self.server_url, params=params, timeout=10)
response.raise_for_status()
# handle subtitles not found and errors
if response.content[:4] == b'NPc0':
logger.debug('No subtitles found')
return None
subtitle = NapiProjektSubtitle(language, hash)
subtitle.content = response.content
logger.debug('Found subtitle %r', subtitle)
return subtitle
def list_subtitles(self, video, languages):
return [s for s in [self.query(l, video.hashes['napiprojekt']) for l in languages] if s is not None]
def download_subtitle(self, subtitle):
# there is no download step, content is already filled from listing subtitles
pass
+71 -32
View File
@@ -1,5 +1,4 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import base64
import logging
import os
@@ -7,25 +6,27 @@ import re
import zlib
from babelfish import Language, language_converters
from guessit import guess_episode_info, guess_movie_info
from guessit import guessit
from six.moves.xmlrpc_client import ServerProxy
from . import Provider, TimeoutSafeTransport, get_version
from .. import __version__
from ..exceptions import AuthenticationError, DownloadLimitExceeded, ProviderError
from . import Provider, TimeoutSafeTransport
from .. import __short_version__
from ..exceptions import AuthenticationError, ConfigurationError, DownloadLimitExceeded, ProviderError
from ..subtitle import Subtitle, fix_line_ending, guess_matches
from ..utils import sanitize
from ..video import Episode, Movie
logger = logging.getLogger(__name__)
class OpenSubtitlesSubtitle(Subtitle):
"""OpenSubtitles Subtitle."""
provider_name = 'opensubtitles'
series_re = re.compile('^"(?P<series_name>.*)" (?P<series_title>.*)$')
series_re = re.compile(r'^"(?P<series_name>.*)" (?P<series_title>.*)$')
def __init__(self, language, hearing_impaired, page_link, subtitle_id, matched_by, movie_kind, hash, movie_name,
movie_release_name, movie_year, movie_imdb_id, series_season, series_episode):
super(OpenSubtitlesSubtitle, self).__init__(language, hearing_impaired, page_link)
movie_release_name, movie_year, movie_imdb_id, series_season, series_episode, filename, encoding):
super(OpenSubtitlesSubtitle, self).__init__(language, hearing_impaired, page_link, encoding)
self.subtitle_id = subtitle_id
self.matched_by = matched_by
self.movie_kind = movie_kind
@@ -36,6 +37,7 @@ class OpenSubtitlesSubtitle(Subtitle):
self.movie_imdb_id = movie_imdb_id
self.series_season = series_season
self.series_episode = series_episode
self.filename = filename
@property
def id(self):
@@ -49,14 +51,20 @@ class OpenSubtitlesSubtitle(Subtitle):
def series_title(self):
return self.series_re.match(self.movie_name).group('series_title')
def get_matches(self, video, hearing_impaired=False):
matches = super(OpenSubtitlesSubtitle, self).get_matches(video, hearing_impaired=hearing_impaired)
def get_matches(self, video):
matches = set()
# episode
if isinstance(video, Episode) and self.movie_kind == 'episode':
# tag match, assume series, year, season and episode matches
if self.matched_by == 'tag':
matches |= {'series', 'year', 'season', 'episode'}
# series
if video.series and self.series_name.lower() == video.series.lower():
if video.series and sanitize(self.series_name) == sanitize(video.series):
matches.add('series')
# year
if video.original_series and self.movie_year is None or video.year and video.year == self.movie_year:
matches.add('year')
# season
if video.season and self.series_season == video.season:
matches.add('season')
@@ -64,27 +72,41 @@ class OpenSubtitlesSubtitle(Subtitle):
if video.episode and self.series_episode == video.episode:
matches.add('episode')
# title
if video.title and self.series_title.lower() == video.title.lower():
if video.title and sanitize(self.series_title) == sanitize(video.title):
matches.add('title')
# guess
matches |= guess_matches(video, guess_episode_info(self.movie_release_name + '.mkv'))
matches |= guess_matches(video, guessit(self.movie_release_name, {'type': 'episode'}))
matches |= guess_matches(video, guessit(self.filename, {'type': 'episode'}))
# hash
if 'opensubtitles' in video.hashes and self.hash == video.hashes['opensubtitles']:
if 'series' in matches and 'season' in matches and 'episode' in matches:
matches.add('hash')
else:
logger.debug('Match on hash discarded')
# movie
elif isinstance(video, Movie) and self.movie_kind == 'movie':
# tag match, assume title and year matches
if self.matched_by == 'tag':
matches |= {'title', 'year'}
# title
if video.title and self.movie_name.lower() == video.title.lower():
if video.title and sanitize(self.movie_name) == sanitize(video.title):
matches.add('title')
# year
if video.year and self.movie_year == video.year:
matches.add('year')
# guess
matches |= guess_matches(video, guess_movie_info(self.movie_release_name + '.mkv'))
matches |= guess_matches(video, guessit(self.movie_release_name, {'type': 'movie'}))
matches |= guess_matches(video, guessit(self.filename, {'type': 'movie'}))
# hash
if 'opensubtitles' in video.hashes and self.hash == video.hashes['opensubtitles']:
if 'title' in matches:
matches.add('hash')
else:
logger.debug('Match on hash discarded')
else:
logger.info('%r is not a valid movie_kind', self.movie_kind)
return matches
# hash
if 'opensubtitles' in video.hashes and self.hash == video.hashes['opensubtitles']:
matches.add('hash')
# imdb_id
if video.imdb_id and self.movie_imdb_id == video.imdb_id:
matches.add('imdb_id')
@@ -93,15 +115,27 @@ class OpenSubtitlesSubtitle(Subtitle):
class OpenSubtitlesProvider(Provider):
"""OpenSubtitles Provider.
:param str username: username.
:param str password: password.
"""
languages = {Language.fromopensubtitles(l) for l in language_converters['opensubtitles'].codes}
def __init__(self):
def __init__(self, username=None, password=None):
self.server = ServerProxy('https://api.opensubtitles.org/xml-rpc', TimeoutSafeTransport(10))
if username and not password or not username and password:
raise ConfigurationError('Username and password must be specified')
# None values not allowed for logging in, so replace it by ''
self.username = username or ''
self.password = password or ''
self.token = None
def initialize(self):
logger.info('Logging in')
response = checked(self.server.LogIn('', '', 'eng', 'subliminal v%s' % get_version(__version__)))
response = checked(self.server.LogIn(self.username, self.password, 'eng',
'subliminal v%s' % __short_version__))
self.token = response['token']
logger.debug('Logged in with token %r', self.token)
@@ -109,23 +143,26 @@ class OpenSubtitlesProvider(Provider):
logger.info('Logging out')
checked(self.server.LogOut(self.token))
self.server.close()
self.token = None
logger.debug('Logged out')
def no_operation(self):
logger.debug('No operation')
checked(self.server.NoOperation(self.token))
def query(self, languages, hash=None, size=None, imdb_id=None, query=None, season=None, episode=None):
def query(self, languages, hash=None, size=None, imdb_id=None, query=None, season=None, episode=None, tag=None):
# fill the search criteria
criteria = []
if hash and size:
criteria.append({'moviehash': hash, 'moviebytesize': str(size)})
if imdb_id:
criteria.append({'imdbid': imdb_id})
criteria.append({'imdbid': imdb_id[2:]})
if tag:
criteria.append({'tag': tag})
if query and season and episode:
criteria.append({'query': query, 'season': season, 'episode': episode})
criteria.append({'query': query.replace('\'', ''), 'season': season, 'episode': episode})
elif query:
criteria.append({'query': query})
criteria.append({'query': query.replace('\'', '')})
if not criteria:
raise ValueError('Not enough information')
@@ -140,7 +177,7 @@ class OpenSubtitlesProvider(Provider):
# exit if no data
if not response['data']:
logger.info('No subtitles found')
logger.debug('No subtitles found')
return subtitles
# loop over subtitle items
@@ -156,29 +193,31 @@ class OpenSubtitlesProvider(Provider):
movie_name = subtitle_item['MovieName']
movie_release_name = subtitle_item['MovieReleaseName']
movie_year = int(subtitle_item['MovieYear']) if subtitle_item['MovieYear'] else None
movie_imdb_id = int(subtitle_item['IDMovieImdb'])
movie_imdb_id = 'tt' + subtitle_item['IDMovieImdb']
series_season = int(subtitle_item['SeriesSeason']) if subtitle_item['SeriesSeason'] else None
series_episode = int(subtitle_item['SeriesEpisode']) if subtitle_item['SeriesEpisode'] else None
filename = subtitle_item['SubFileName']
encoding = subtitle_item.get('SubEncoding') or None
subtitle = OpenSubtitlesSubtitle(language, hearing_impaired, page_link, subtitle_id, matched_by, movie_kind,
hash, movie_name, movie_release_name, movie_year, movie_imdb_id,
series_season, series_episode)
logger.debug('Found subtitle %r', subtitle)
series_season, series_episode, filename, encoding)
logger.debug('Found subtitle %r by %s', subtitle, matched_by)
subtitles.append(subtitle)
return subtitles
def list_subtitles(self, video, languages):
query = season = episode = None
season = episode = None
if isinstance(video, Episode):
query = video.series
season = video.season
episode = video.episode
elif ('opensubtitles' not in video.hashes or not video.size) and not video.imdb_id:
query = video.name.split(os.sep)[-1]
else:
query = video.title
return self.query(languages, hash=video.hashes.get('opensubtitles'), size=video.size, imdb_id=video.imdb_id,
query=query, season=season, episode=episode)
query=query, season=season, episode=episode, tag=os.path.basename(video.name))
def download_subtitle(self, subtitle):
logger.info('Downloading subtitle %r', subtitle)
+23 -17
View File
@@ -1,11 +1,10 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import io
import logging
import re
from babelfish import Language, language_converters
from guessit import guess_episode_info, guess_movie_info
from guessit import guessit
try:
from lxml import etree
except ImportError:
@@ -16,16 +15,18 @@ except ImportError:
from requests import Session
from zipfile import ZipFile
from . import Provider, get_version
from .. import __version__
from . import Provider
from .. import __short_version__
from ..exceptions import ProviderError
from ..subtitle import Subtitle, fix_line_ending, guess_matches
from ..utils import sanitize
from ..video import Episode, Movie
logger = logging.getLogger(__name__)
class PodnapisiSubtitle(Subtitle):
"""Podnapisi Subtitle."""
provider_name = 'podnapisi'
def __init__(self, language, hearing_impaired, page_link, pid, releases, title, season=None, episode=None,
@@ -42,14 +43,17 @@ class PodnapisiSubtitle(Subtitle):
def id(self):
return self.pid
def get_matches(self, video, hearing_impaired=False):
matches = super(PodnapisiSubtitle, self).get_matches(video, hearing_impaired=hearing_impaired)
def get_matches(self, video):
matches = set()
# episode
if isinstance(video, Episode):
# series
if video.series and self.title.lower() == video.series.lower():
if video.series and sanitize(self.title) == sanitize(video.series):
matches.add('series')
# year
if video.original_series and self.year is None or video.year and video.year == self.year:
matches.add('year')
# season
if video.season and self.season == video.season:
matches.add('season')
@@ -58,31 +62,31 @@ class PodnapisiSubtitle(Subtitle):
matches.add('episode')
# guess
for release in self.releases:
matches |= guess_matches(video, guess_episode_info(release + '.mkv'))
matches |= guess_matches(video, guessit(release, {'type': 'episode'}))
# movie
elif isinstance(video, Movie):
# title
if video.title and self.title.lower() == video.title.lower():
if video.title and sanitize(self.title) == sanitize(video.title):
matches.add('title')
# year
if video.year and self.year == video.year:
matches.add('year')
# guess
for release in self.releases:
matches |= guess_matches(video, guess_movie_info(release + '.mkv'))
# year
if video.year and self.year == video.year:
matches.add('year')
matches |= guess_matches(video, guessit(release, {'type': 'movie'}))
return matches
class PodnapisiProvider(Provider):
"""Podnapisi Provider."""
languages = ({Language('por', 'BR'), Language('srp', script='Latn')} |
{Language.fromalpha2(l) for l in language_converters['alpha2'].codes})
video_types = (Episode, Movie)
server_url = 'http://podnapisi.net/subtitles/'
def initialize(self):
self.session = Session()
self.session.headers = {'User-Agent': 'Subliminal/%s' % get_version(__version__)}
self.session.headers['User-Agent'] = 'Subliminal/%s' % __short_version__
def terminate(self):
self.session.close()
@@ -121,7 +125,9 @@ class PodnapisiProvider(Provider):
releases = []
if subtitle_xml.find('release').text:
for release in subtitle_xml.find('release').text.split():
releases.append(re.sub(r'\.+$', '', release)) # remove trailing dots
release = re.sub(r'\.+$', '', release) # remove trailing dots
release = ''.join(filter(lambda x: ord(x) < 128, release)) # remove non-ascii characters
releases.append(release)
title = subtitle_xml.find('title').text
season = int(subtitle_xml.find('tvSeason').text)
episode = int(subtitle_xml.find('tvEpisode').text)
@@ -161,7 +167,7 @@ class PodnapisiProvider(Provider):
def download_subtitle(self, subtitle):
# download as a zip
logger.info('Downloading subtitle %r')
logger.info('Downloading subtitle %r', subtitle)
r = self.session.get(self.server_url + subtitle.pid + '/download', params={'container': 'zip'}, timeout=10)
r.raise_for_status()
+79
View File
@@ -0,0 +1,79 @@
# -*- coding: utf-8 -*-
import json
import logging
import os
from babelfish import Language, language_converters
from requests import Session
from . import Provider
from .. import __short_version__
from ..subtitle import Subtitle, fix_line_ending
logger = logging.getLogger(__name__)
language_converters.register('shooter = subliminal.converters.shooter:ShooterConverter')
class ShooterSubtitle(Subtitle):
"""Shooter Subtitle."""
provider_name = 'shooter'
def __init__(self, language, hash, download_link):
super(ShooterSubtitle, self).__init__(language)
self.hash = hash
self.download_link = download_link
@property
def id(self):
return self.download_link
def get_matches(self, video):
matches = set()
# hash
if 'shooter' in video.hashes and video.hashes['shooter'] == self.hash:
matches.add('hash')
return matches
class ShooterProvider(Provider):
"""Shooter Provider."""
languages = {Language(l) for l in ['eng', 'zho']}
server_url = 'https://www.shooter.cn/api/subapi.php'
def initialize(self):
self.session = Session()
self.session.headers['User-Agent'] = 'Subliminal/%s' % __short_version__
def terminate(self):
self.session.close()
def query(self, language, filename, hash=None):
# query the server
params = {'filehash': hash, 'pathinfo': os.path.realpath(filename), 'format': 'json', 'lang': language.shooter}
logger.debug('Searching subtitles %r', params)
r = self.session.post(self.server_url, params=params, timeout=10)
r.raise_for_status()
# handle subtitles not found
if r.content == b'\xff':
logger.debug('No subtitles found')
return []
# parse the subtitles
results = json.loads(r.text)
subtitles = [ShooterSubtitle(language, hash, t['Link']) for s in results for t in s['Files']]
return subtitles
def list_subtitles(self, video, languages):
return [s for l in languages for s in self.query(l, video.name, video.hashes.get('shooter'))]
def download_subtitle(self, subtitle):
logger.info('Downloading subtitle %r', subtitle)
r = self.session.get(subtitle.download_link, timeout=10)
r.raise_for_status()
subtitle.content = fix_line_ending(r.content)
+228
View File
@@ -0,0 +1,228 @@
# -*- coding: utf-8 -*-
import bisect
from collections import defaultdict
import io
import json
import logging
import zipfile
from babelfish import Language
from guessit import guessit
from requests import Session
from . import ParserBeautifulSoup, Provider
from .. import __short_version__
from ..cache import SHOW_EXPIRATION_TIME, region
from ..exceptions import AuthenticationError, ConfigurationError, ProviderError
from ..subtitle import Subtitle, fix_line_ending, guess_matches
from ..utils import sanitize
from ..video import Episode, Movie
logger = logging.getLogger(__name__)
class SubsCenterSubtitle(Subtitle):
"""SubsCenter Subtitle."""
provider_name = 'subscenter'
def __init__(self, language, hearing_impaired, page_link, series, season, episode, title, subtitle_id, subtitle_key,
downloaded, releases):
super(SubsCenterSubtitle, self).__init__(language, hearing_impaired, page_link)
self.series = series
self.season = season
self.episode = episode
self.title = title
self.subtitle_id = subtitle_id
self.subtitle_key = subtitle_key
self.downloaded = downloaded
self.releases = releases
@property
def id(self):
return str(self.subtitle_id)
def get_matches(self, video):
matches = set()
# episode
if isinstance(video, Episode):
# series
if video.series and sanitize(self.series) == sanitize(video.series):
matches.add('series')
# season
if video.season and self.season == video.season:
matches.add('season')
# episode
if video.episode and self.episode == video.episode:
matches.add('episode')
# guess
for release in self.releases:
matches |= guess_matches(video, guessit(release, {'type': 'episode'}))
# movie
elif isinstance(video, Movie):
# guess
for release in self.releases:
matches |= guess_matches(video, guessit(release, {'type': 'movie'}))
# title
if video.title and sanitize(self.title) == sanitize(video.title):
matches.add('title')
return matches
class SubsCenterProvider(Provider):
"""SubsCenter Provider."""
languages = {Language.fromalpha2(l) for l in ['he']}
server_url = 'http://subscenter.cinemast.com/he/'
def __init__(self, username=None, password=None):
if username is not None and password is None or username is None and password is not None:
raise ConfigurationError('Username and password must be specified')
self.username = username
self.password = password
self.logged_in = False
def initialize(self):
self.session = Session()
self.session.headers['User-Agent'] = 'Subliminal/%s' % __short_version__
# login
if self.username is not None and self.password is not None:
logger.debug('Logging in')
url = self.server_url + 'subscenter/accounts/login/'
# retrieve CSRF token
self.session.get(url)
csrf_token = self.session.cookies['csrftoken']
# actual login
data = {'username': self.username, 'password': self.password, 'csrfmiddlewaretoken': csrf_token}
r = self.session.post(url, data, allow_redirects=False, timeout=10)
if r.status_code != 302:
raise AuthenticationError(self.username)
logger.info('Logged in')
self.logged_in = True
def terminate(self):
# logout
if self.logged_in:
logger.info('Logging out')
r = self.session.get(self.server_url + 'subscenter/accounts/logout/', timeout=10)
r.raise_for_status()
logger.info('Logged out')
self.logged_in = False
self.session.close()
@region.cache_on_arguments(expiration_time=SHOW_EXPIRATION_TIME)
def _search_url_titles(self, title):
"""Search the URL titles by kind for the given `title`.
:param str title: title to search for.
:return: the URL titles by kind.
:rtype: collections.defaultdict
"""
# make the search
logger.info('Searching title name for %r', title)
r = self.session.get(self.server_url + 'subtitle/search/', params={'q': title}, timeout=10)
r.raise_for_status()
# get the suggestions
soup = ParserBeautifulSoup(r.content, ['lxml', 'html.parser'])
links = soup.select('#processes div.generalWindowTop a')
logger.debug('Found %d suggestions', len(links))
url_titles = defaultdict(list)
for link in links:
parts = link.attrs['href'].split('/')
url_titles[parts[-3]].append(parts[-2])
return url_titles
def query(self, title, season=None, episode=None):
# search for the url title
url_titles = self._search_url_titles(title)
# episode
if season and episode:
if 'series' not in url_titles:
logger.error('No URL title found for series %r', title)
return []
url_title = url_titles['series'][0]
logger.debug('Using series title %r', url_title)
url = self.server_url + 'cinemast/data/series/sb/{}/{}/{}/'.format(url_title, season, episode)
page_link = self.server_url + 'subtitle/series/{}/{}/{}/'.format(url_title, season, episode)
else:
if 'movie' not in url_titles:
logger.error('No URL title found for movie %r', title)
return []
url_title = url_titles['movie'][0]
logger.debug('Using movie title %r', url_title)
url = self.server_url + 'cinemast/data/movie/sb/{}/'.format(url_title)
page_link = self.server_url + 'subtitle/movie/{}/'.format(url_title)
# get the list of subtitles
logger.debug('Getting the list of subtitles')
r = self.session.get(url)
r.raise_for_status()
results = json.loads(r.text)
# loop over results
subtitles = {}
for language_code, language_data in results.items():
for quality_data in language_data.values():
for quality, subtitles_data in quality_data.items():
for subtitle_item in subtitles_data.values():
# read the item
language = Language.fromalpha2(language_code)
hearing_impaired = bool(subtitle_item['hearing_impaired'])
subtitle_id = subtitle_item['id']
subtitle_key = subtitle_item['key']
downloaded = subtitle_item['downloaded']
release = subtitle_item['subtitle_version']
# add the release and increment downloaded count if we already have the subtitle
if subtitle_id in subtitles:
logger.debug('Found additional release %r for subtitle %d', release, subtitle_id)
bisect.insort_left(subtitles[subtitle_id].releases, release) # deterministic order
subtitles[subtitle_id].downloaded += downloaded
continue
# otherwise create it
subtitle = SubsCenterSubtitle(language, hearing_impaired, page_link, title, season, episode,
title, subtitle_id, subtitle_key, downloaded, [release])
logger.debug('Found subtitle %r', subtitle)
subtitles[subtitle_id] = subtitle
return subtitles.values()
def list_subtitles(self, video, languages):
season = episode = None
title = video.title
if isinstance(video, Episode):
title = video.series
season = video.season
episode = video.episode
return [s for s in self.query(title, season, episode) if s.language in languages]
def download_subtitle(self, subtitle):
# download
url = self.server_url + 'subtitle/download/{}/{}/'.format(subtitle.language.alpha2, subtitle.subtitle_id)
params = {'v': subtitle.releases[0], 'key': subtitle.subtitle_key}
r = self.session.get(url, params=params, headers={'Referer': subtitle.page_link}, timeout=10)
r.raise_for_status()
# open the zip
with zipfile.ZipFile(io.BytesIO(r.content)) as zf:
# remove some filenames from the namelist
namelist = [n for n in zf.namelist() if not n.endswith('.txt')]
if len(namelist) > 1:
raise ProviderError('More than one file to unzip')
subtitle.content = fix_line_ending(zf.read(namelist[0]))
+16 -14
View File
@@ -1,19 +1,20 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import logging
from babelfish import Language
from babelfish import Language, language_converters
from requests import Session
from . import Provider, get_version
from .. import __version__
from . import Provider
from .. import __short_version__
from ..subtitle import Subtitle, fix_line_ending
logger = logging.getLogger(__name__)
language_converters.register('thesubdb = subliminal.converters.thesubdb:TheSubDBConverter')
class TheSubDBSubtitle(Subtitle):
"""TheSubDB Subtitle."""
provider_name = 'thesubdb'
def __init__(self, language, hash):
@@ -22,10 +23,10 @@ class TheSubDBSubtitle(Subtitle):
@property
def id(self):
return self.hash
return self.hash + '-' + str(self.language)
def get_matches(self, video, hearing_impaired=False):
matches = super(TheSubDBSubtitle, self).get_matches(video, hearing_impaired=hearing_impaired)
def get_matches(self, video):
matches = set()
# hash
if 'thesubdb' in video.hashes and video.hashes['thesubdb'] == self.hash:
@@ -35,14 +36,15 @@ class TheSubDBSubtitle(Subtitle):
class TheSubDBProvider(Provider):
languages = {Language.fromalpha2(l) for l in ['en', 'es', 'fr', 'it', 'nl', 'pl', 'pt', 'ro', 'sv', 'tr']}
"""TheSubDB Provider."""
languages = {Language.fromthesubdb(l) for l in language_converters['thesubdb'].codes}
required_hash = 'thesubdb'
server_url = 'http://api.thesubdb.com/'
def initialize(self):
self.session = Session()
self.session.headers = {'User-Agent': 'SubDB/1.0 (subliminal/%s; https://github.com/Diaoul/subliminal)' %
get_version(__version__)}
self.session.headers['User-Agent'] = ('SubDB/1.0 (subliminal/%s; https://github.com/Diaoul/subliminal)' %
__short_version__)
def terminate(self):
self.session.close()
@@ -62,10 +64,10 @@ class TheSubDBProvider(Provider):
# loop over languages
subtitles = []
for language_code in r.text.split(','):
language = Language.fromalpha2(language_code)
language = Language.fromthesubdb(language_code)
subtitle = TheSubDBSubtitle(language, hash)
logger.info('Found subtitle %r', subtitle)
logger.debug('Found subtitle %r', subtitle)
subtitles.append(subtitle)
return subtitles
@@ -74,7 +76,7 @@ class TheSubDBProvider(Provider):
return [s for s in self.query(video.hashes['thesubdb']) if s.language in languages]
def download_subtitle(self, subtitle):
logger.info('Downloading subtitle %r')
logger.info('Downloading subtitle %r', subtitle)
params = {'action': 'download', 'hash': subtitle.hash, 'language': subtitle.language.alpha2}
r = self.session.get(self.server_url, params=params, timeout=10)
r.raise_for_status()
+25 -19
View File
@@ -1,27 +1,31 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import io
import logging
import re
from zipfile import ZipFile
from babelfish import Language
from babelfish import Language, language_converters
from guessit import guessit
from requests import Session
from . import ParserBeautifulSoup, Provider, get_version
from .. import __version__
from . import ParserBeautifulSoup, Provider
from .. import __short_version__
from ..cache import EPISODE_EXPIRATION_TIME, SHOW_EXPIRATION_TIME, region
from ..exceptions import ProviderError
from ..subtitle import Subtitle, fix_line_ending, guess_matches, guess_properties
from ..subtitle import Subtitle, fix_line_ending, guess_matches
from ..utils import sanitize, sanitize_release_group
from ..video import Episode
logger = logging.getLogger(__name__)
link_re = re.compile('^(?P<series>.+?)(?: \(?\d{4}\)?| \((?:US|UK)\))? \((?P<first_year>\d{4})-\d{4}\)$')
episode_id_re = re.compile('^episode-\d+\.html$')
language_converters.register('tvsubtitles = subliminal.converters.tvsubtitles:TVsubtitlesConverter')
link_re = re.compile(r'^(?P<series>.+?)(?: \(?\d{4}\)?| \((?:US|UK)\))? \((?P<first_year>\d{4})-\d{4}\)$')
episode_id_re = re.compile(r'^episode-\d+\.html$')
class TVsubtitlesSubtitle(Subtitle):
"""TVsubtitles Subtitle."""
provider_name = 'tvsubtitles'
def __init__(self, language, page_link, subtitle_id, series, season, episode, year, rip, release):
@@ -38,11 +42,11 @@ class TVsubtitlesSubtitle(Subtitle):
def id(self):
return str(self.subtitle_id)
def get_matches(self, video, hearing_impaired=False):
matches = super(TVsubtitlesSubtitle, self).get_matches(video, hearing_impaired=hearing_impaired)
def get_matches(self, video):
matches = set()
# series
if video.series and self.series.lower() == video.series.lower():
if video.series and sanitize(self.series) == sanitize(video.series):
matches.add('series')
# season
if video.season and self.season == video.season:
@@ -51,21 +55,23 @@ class TVsubtitlesSubtitle(Subtitle):
if video.episode and self.episode == video.episode:
matches.add('episode')
# year
if self.year == video.year:
if video.original_series and self.year is None or video.year and video.year == self.year:
matches.add('year')
# release_group
if video.release_group and self.release and video.release_group.lower() in self.release.lower():
if (video.release_group and self.release and
sanitize_release_group(video.release_group) in sanitize_release_group(self.release)):
matches.add('release_group')
# other properties
if self.release:
matches |= guess_matches(video, guess_properties(self.release), partial=True)
matches |= guess_matches(video, guessit(self.release, {'type': 'episode'}), partial=True)
if self.rip:
matches |= guess_matches(video, guess_properties(self.rip), partial=True)
matches |= guess_matches(video, guessit(self.rip), partial=True)
return matches
class TVsubtitlesProvider(Provider):
"""TVsubtitles Provider."""
languages = {Language('por', 'BR')} | {Language(l) for l in [
'ara', 'bul', 'ces', 'dan', 'deu', 'ell', 'eng', 'fin', 'fra', 'hun', 'ita', 'jpn', 'kor', 'nld', 'pol', 'por',
'ron', 'rus', 'spa', 'swe', 'tur', 'ukr', 'zho'
@@ -75,7 +81,7 @@ class TVsubtitlesProvider(Provider):
def initialize(self):
self.session = Session()
self.session.headers = {'User-Agent': 'Subliminal/%s' % get_version(__version__)}
self.session.headers['User-Agent'] = 'Subliminal/%s' % __short_version__
def terminate(self):
self.session.close()
@@ -84,11 +90,11 @@ class TVsubtitlesProvider(Provider):
def search_show_id(self, series, year=None):
"""Search the show id from the `series` and `year`.
:param string series: series of the episode.
:param str series: series of the episode.
:param year: year of the series, if any.
:type year: int or None
:type year: int
:return: the show id, if any.
:rtype: int or None
:rtype: int
"""
# make the search
@@ -180,7 +186,7 @@ class TVsubtitlesProvider(Provider):
subtitle = TVsubtitlesSubtitle(language, page_link, subtitle_id, series, season, episode, year, rip,
release)
logger.info('Found subtitle %s', subtitle)
logger.debug('Found subtitle %s', subtitle)
subtitles.append(subtitle)
return subtitles
+12
View File
@@ -0,0 +1,12 @@
"""
Refiners enrich a :class:`~subliminal.video.Video` object by adding information to it.
A refiner is a simple function:
.. py:function:: refine(video, **kwargs)
:param video: the video to refine.
:type video: :class:`~subliminal.video.Video`
:param \*\*kwargs: additional parameters for refiners.
"""
+99
View File
@@ -0,0 +1,99 @@
# -*- coding: utf-8 -*-
import logging
import os
from babelfish import Error as BabelfishError, Language
from enzyme import MKV
logger = logging.getLogger(__name__)
def refine(video, embedded_subtitles=True, **kwargs):
"""Refine a video by searching its metadata.
Several :class:`~subliminal.video.Video` attributes can be found:
* :attr:`~subliminal.video.Video.resolution`
* :attr:`~subliminal.video.Video.video_codec`
* :attr:`~subliminal.video.Video.audio_codec`
* :attr:`~subliminal.video.Video.subtitle_languages`
:param bool embedded_subtitles: search for embedded subtitles.
"""
# skip non existing videos
if not video.exists:
return
# check extensions
extension = os.path.splitext(video.name)[1]
if extension == '.mkv':
with open(video.name, 'rb') as f:
mkv = MKV(f)
# main video track
if mkv.video_tracks:
video_track = mkv.video_tracks[0]
# resolution
if video_track.height in (480, 720, 1080):
if video_track.interlaced:
video.resolution = '%di' % video_track.height
else:
video.resolution = '%dp' % video_track.height
logger.debug('Found resolution %s', video.resolution)
# video codec
if video_track.codec_id == 'V_MPEG4/ISO/AVC':
video.video_codec = 'h264'
logger.debug('Found video_codec %s', video.video_codec)
elif video_track.codec_id == 'V_MPEG4/ISO/SP':
video.video_codec = 'DivX'
logger.debug('Found video_codec %s', video.video_codec)
elif video_track.codec_id == 'V_MPEG4/ISO/ASP':
video.video_codec = 'XviD'
logger.debug('Found video_codec %s', video.video_codec)
else:
logger.warning('MKV has no video track')
# main audio track
if mkv.audio_tracks:
audio_track = mkv.audio_tracks[0]
# audio codec
if audio_track.codec_id == 'A_AC3':
video.audio_codec = 'AC3'
logger.debug('Found audio_codec %s', video.audio_codec)
elif audio_track.codec_id == 'A_DTS':
video.audio_codec = 'DTS'
logger.debug('Found audio_codec %s', video.audio_codec)
elif audio_track.codec_id == 'A_AAC':
video.audio_codec = 'AAC'
logger.debug('Found audio_codec %s', video.audio_codec)
else:
logger.warning('MKV has no audio track')
# subtitle tracks
if mkv.subtitle_tracks:
if embedded_subtitles:
embedded_subtitle_languages = set()
for st in mkv.subtitle_tracks:
if st.language:
try:
embedded_subtitle_languages.add(Language.fromalpha3b(st.language))
except BabelfishError:
logger.error('Embedded subtitle track language %r is not a valid language', st.language)
embedded_subtitle_languages.add(Language('und'))
elif st.name:
try:
embedded_subtitle_languages.add(Language.fromname(st.name))
except BabelfishError:
logger.debug('Embedded subtitle track name %r is not a valid language', st.name)
embedded_subtitle_languages.add(Language('und'))
else:
embedded_subtitle_languages.add(Language('und'))
logger.debug('Found embedded subtitle %r', embedded_subtitle_languages)
video.subtitle_languages |= embedded_subtitle_languages
else:
logger.debug('MKV has no subtitle track')
else:
logger.debug('Unsupported video extension %s', extension)
+187
View File
@@ -0,0 +1,187 @@
# -*- coding: utf-8 -*-
import logging
import operator
import requests
from .. import __short_version__
from ..cache import REFINER_EXPIRATION_TIME, region
from ..video import Episode, Movie
from ..utils import sanitize
logger = logging.getLogger(__name__)
class OMDBClient(object):
base_url = 'http://www.omdbapi.com'
def __init__(self, version=1, session=None, headers=None, timeout=10):
#: Session for the requests
self.session = session or requests.Session()
self.session.timeout = timeout
self.session.headers.update(headers or {})
self.session.params['r'] = 'json'
self.session.params['v'] = version
def get(self, id=None, title=None, type=None, year=None, plot='short', tomatoes=False):
# build the params
params = {}
if id:
params['i'] = id
if title:
params['t'] = title
if not params:
raise ValueError('At least id or title is required')
params['type'] = type
params['y'] = year
params['plot'] = plot
params['tomatoes'] = tomatoes
# perform the request
r = self.session.get(self.base_url, params=params)
r.raise_for_status()
# get the response as json
j = r.json()
# check response status
if j['Response'] == 'False':
return None
return j
def search(self, title, type=None, year=None, page=1):
# build the params
params = {'s': title, 'type': type, 'y': year, 'page': page}
# perform the request
r = self.session.get(self.base_url, params=params)
r.raise_for_status()
# get the response as json
j = r.json()
# check response status
if j['Response'] == 'False':
return None
return j
omdb_client = OMDBClient(headers={'User-Agent': 'Subliminal/%s' % __short_version__})
@region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME)
def search(title, type, year):
results = omdb_client.search(title, type, year)
if not results:
return None
# fetch all paginated results
all_results = results['Search']
total_results = int(results['totalResults'])
page = 1
while total_results > page * 10:
page += 1
results = omdb_client.search(title, type, year, page=page)
all_results.extend(results['Search'])
return all_results
def refine(video, **kwargs):
"""Refine a video by searching `OMDb API <http://omdbapi.com/>`_.
Several :class:`~subliminal.video.Episode` attributes can be found:
* :attr:`~subliminal.video.Episode.series`
* :attr:`~subliminal.video.Episode.year`
* :attr:`~subliminal.video.Episode.series_imdb_id`
Similarly, for a :class:`~subliminal.video.Movie`:
* :attr:`~subliminal.video.Movie.title`
* :attr:`~subliminal.video.Movie.year`
* :attr:`~subliminal.video.Video.imdb_id`
"""
if isinstance(video, Episode):
# exit if the information is complete
if video.series_imdb_id:
logger.debug('No need to search')
return
# search the series
results = search(video.series, 'series', video.year)
if not results:
logger.warning('No results for series')
return
logger.debug('Found %d results', len(results))
# filter the results
results = [r for r in results if sanitize(r['Title']) == sanitize(video.series)]
if not results:
logger.warning('No matching series found')
return
# process the results
found = False
for result in sorted(results, key=operator.itemgetter('Year')):
if video.original_series and video.year is None:
logger.debug('Found result for original series without year')
found = True
break
if video.year == int(result['Year'].split(u'\u2013')[0]):
logger.debug('Found result with matching year')
found = True
break
if not found:
logger.warning('No matching series found')
return
# add series information
logger.debug('Found series %r', result)
video.series = result['Title']
video.year = int(result['Year'].split(u'\u2013')[0])
video.series_imdb_id = result['imdbID']
elif isinstance(video, Movie):
# exit if the information is complete
if video.imdb_id:
return
# search the movie
results = search(video.title, 'movie', video.year)
if not results:
logger.warning('No results')
return
logger.debug('Found %d results', len(results))
# filter the results
results = [r for r in results if sanitize(r['Title']) == sanitize(video.title)]
if not results:
logger.warning('No matching movie found')
return
# process the results
found = False
for result in results:
if video.year is None:
logger.debug('Found result for movie without year')
found = True
break
if video.year == int(result['Year']):
logger.debug('Found result with matching year')
found = True
break
if not found:
logger.warning('No matching movie found')
return
# add movie information
logger.debug('Found movie %r', result)
video.title = result['Title']
video.year = int(result['Year'].split(u'\u2013')[0])
video.imdb_id = result['imdbID']
+350
View File
@@ -0,0 +1,350 @@
# -*- coding: utf-8 -*-
from datetime import datetime, timedelta
from functools import wraps
import logging
import re
import requests
from .. import __short_version__
from ..cache import REFINER_EXPIRATION_TIME, region
from ..utils import sanitize
from ..video import Episode
logger = logging.getLogger(__name__)
series_re = re.compile(r'^(?P<series>.*?)(?: \((?:(?P<year>\d{4})|(?P<country>[A-Z]{2}))\))?$')
def requires_auth(func):
"""Decorator for :class:`TVDBClient` methods that require authentication"""
@wraps(func)
def wrapper(self, *args, **kwargs):
if self.token is None or self.token_expired:
self.login()
elif self.token_needs_refresh:
self.refresh_token()
return func(self, *args, **kwargs)
return wrapper
class TVDBClient(object):
"""TVDB REST API Client
:param str apikey: API key to use.
:param str username: username to use.
:param str password: password to use.
:param str language: language of the responses.
:param session: session object to use.
:type session: :class:`requests.sessions.Session` or compatible.
:param dict headers: additional headers.
:param int timeout: timeout for the requests.
"""
#: Base URL of the API
base_url = 'https://api.thetvdb.com'
#: Token lifespan
token_lifespan = timedelta(hours=1)
#: Minimum token age before a :meth:`refresh_token` is triggered
refresh_token_every = timedelta(minutes=30)
def __init__(self, apikey=None, username=None, password=None, language='en', session=None, headers=None,
timeout=10):
#: API key
self.apikey = apikey
#: Username
self.username = username
#: Password
self.password = password
#: Last token acquisition date
self.token_date = datetime.utcnow() - self.token_lifespan
#: Session for the requests
self.session = session or requests.Session()
self.session.timeout = timeout
self.session.headers.update(headers or {})
self.session.headers['Content-Type'] = 'application/json'
self.session.headers['Accept-Language'] = language
@property
def language(self):
return self.session.headers['Accept-Language']
@language.setter
def language(self, value):
self.session.headers['Accept-Language'] = value
@property
def token(self):
if 'Authorization' not in self.session.headers:
return None
return self.session.headers['Authorization'][7:]
@property
def token_expired(self):
return datetime.utcnow() - self.token_date > self.token_lifespan
@property
def token_needs_refresh(self):
return datetime.utcnow() - self.token_date > self.refresh_token_every
def login(self):
"""Login"""
# perform the request
data = {'apikey': self.apikey, 'username': self.username, 'password': self.password}
r = self.session.post(self.base_url + '/login', json=data)
r.raise_for_status()
# set the Authorization header
self.session.headers['Authorization'] = 'Bearer ' + r.json()['token']
# update token_date
self.token_date = datetime.utcnow()
def refresh_token(self):
"""Refresh token"""
# perform the request
r = self.session.get(self.base_url + '/refresh_token')
r.raise_for_status()
# set the Authorization header
self.session.headers['Authorization'] = 'Bearer ' + r.json()['token']
# update token_date
self.token_date = datetime.utcnow()
@requires_auth
def search_series(self, name=None, imdb_id=None, zap2it_id=None):
"""Search series"""
# perform the request
params = {'name': name, 'imdbId': imdb_id, 'zap2itId': zap2it_id}
r = self.session.get(self.base_url + '/search/series', params=params)
if r.status_code == 404:
return None
r.raise_for_status()
return r.json()['data']
@requires_auth
def get_series(self, id):
"""Get series"""
# perform the request
r = self.session.get(self.base_url + '/series/{}'.format(id))
if r.status_code == 404:
return None
r.raise_for_status()
return r.json()['data']
@requires_auth
def get_series_actors(self, id):
"""Get series actors"""
# perform the request
r = self.session.get(self.base_url + '/series/{}/actors'.format(id))
if r.status_code == 404:
return None
r.raise_for_status()
return r.json()['data']
@requires_auth
def get_series_episodes(self, id, page=1):
"""Get series episodes"""
# perform the request
params = {'page': page}
r = self.session.get(self.base_url + '/series/{}/episodes'.format(id), params=params)
if r.status_code == 404:
return None
r.raise_for_status()
return r.json()
@requires_auth
def query_series_episodes(self, id, absolute_number=None, aired_season=None, aired_episode=None, dvd_season=None,
dvd_episode=None, imdb_id=None, page=1):
"""Query series episodes"""
# perform the request
params = {'absoluteNumber': absolute_number, 'airedSeason': aired_season, 'airedEpisode': aired_episode,
'dvdSeason': dvd_season, 'dvdEpisode': dvd_episode, 'imdbId': imdb_id, 'page': page}
r = self.session.get(self.base_url + '/series/{}/episodes/query'.format(id), params=params)
if r.status_code == 404:
return None
r.raise_for_status()
return r.json()
@requires_auth
def get_episode(self, id):
"""Get episode"""
# perform the request
r = self.session.get(self.base_url + '/episodes/{}'.format(id))
if r.status_code == 404:
return None
r.raise_for_status()
return r.json()['data']
#: Configured instance of :class:`TVDBClient`
tvdb_client = TVDBClient('5EC930FB90DA1ADA', headers={'User-Agent': 'Subliminal/%s' % __short_version__})
@region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME)
def search_series(name):
"""Search series.
:param str name: name of the series.
:return: the search results.
:rtype: list
"""
return tvdb_client.search_series(name)
@region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME)
def get_series(id):
"""Get series.
:param int id: id of the series.
:return: the series data.
:rtype: dict
"""
return tvdb_client.get_series(id)
@region.cache_on_arguments(expiration_time=REFINER_EXPIRATION_TIME)
def get_series_episode(series_id, season, episode):
"""Get an episode of a series.
:param int series_id: id of the series.
:param int season: season number of the episode.
:param int episode: episode number of the episode.
:return: the episode data.
:rtype: dict
"""
result = tvdb_client.query_series_episodes(series_id, aired_season=season, aired_episode=episode)
if result:
return tvdb_client.get_episode(result['data'][0]['id'])
def refine(video, **kwargs):
"""Refine a video by searching `TheTVDB <http://thetvdb.com/>`_.
.. note::
This refiner only work for instances of :class:`~subliminal.video.Episode`.
Several attributes can be found:
* :attr:`~subliminal.video.Episode.series`
* :attr:`~subliminal.video.Episode.year`
* :attr:`~subliminal.video.Episode.series_imdb_id`
* :attr:`~subliminal.video.Episode.series_tvdb_id`
* :attr:`~subliminal.video.Episode.title`
* :attr:`~subliminal.video.Video.imdb_id`
* :attr:`~subliminal.video.Episode.tvdb_id`
"""
# only deal with Episode videos
if not isinstance(video, Episode):
logger.error('Cannot refine episodes')
return
# exit if the information is complete
if video.series_tvdb_id and video.tvdb_id:
logger.debug('No need to search')
return
# search the series
logger.info('Searching series %r', video.series)
results = search_series(video.series.lower())
if not results:
logger.warning('No results for series')
return
logger.debug('Found %d results', len(results))
# search for exact matches
matching_results = []
for result in results:
matching_result = {}
# use seriesName and aliases
series_names = [result['seriesName']]
series_names.extend(result['aliases'])
# parse the original series as series + year or country
original_match = series_re.match(result['seriesName']).groupdict()
# parse series year
series_year = None
if result['firstAired']:
series_year = datetime.strptime(result['firstAired'], '%Y-%m-%d').year
# discard mismatches on year
if video.year and series_year and video.year != series_year:
logger.debug('Discarding series %r mismatch on year %d', result['seriesName'], series_year)
continue
# iterate over series names
for series_name in series_names:
# parse as series and year
series, year, country = series_re.match(series_name).groups()
if year:
year = int(year)
# discard mismatches on year
if year and (video.original_series or video.year != year):
logger.debug('Discarding series name %r mismatch on year %d', series, year)
continue
# match on sanitized series name
if sanitize(series) == sanitize(video.series):
logger.debug('Found exact match on series %r', series_name)
matching_result['match'] = {'series': original_match['series'], 'year': series_year,
'original_series': original_match['year'] is None}
break
# add the result on match
if matching_result:
matching_result['data'] = result
matching_results.append(matching_result)
# exit if we don't have exactly 1 matching result
if not matching_results:
logger.error('No matching series found')
return
if len(matching_results) > 1:
logger.error('Multiple matches found')
return
# get the series
matching_result = matching_results[0]
series = get_series(matching_result['data']['id'])
# add series information
logger.debug('Found series %r', series)
video.series = matching_result['match']['series']
video.year = matching_result['match']['year']
video.original_series = matching_result['match']['original_series']
video.series_tvdb_id = series['id']
video.series_imdb_id = series['imdbId'] or None
# get the episode
logger.info('Getting series episode %dx%d', video.season, video.episode)
episode = get_series_episode(video.series_tvdb_id, video.season, video.episode)
if not episode:
logger.warning('No results for episode')
return
# add episode information
logger.debug('Found episode %r', episode)
video.tvdb_id = episode['id']
video.title = episode['episodeName'] or None
video.imdb_id = episode['imdbId'] or None
+174 -86
View File
@@ -1,125 +1,213 @@
# -*- coding: utf-8 -*-
"""
This module is responsible for calculating the :attr:`~subliminal.video.Video.scores` dicts
(:attr:`Episode.scores <subliminal.video.Episode.scores>` and :attr:`Movie.scores <subliminal.video.Movie.scores>`)
by assigning a score to a match.
This module provides the default implementation of the `compute_score` parameter in
:meth:`~subliminal.core.ProviderPool.download_best_subtitles` and :func:`~subliminal.core.download_best_subtitles`.
.. note::
To avoid unnecessary dependency on `sympy <http://www.sympy.org/>`_ and boost subliminal's import time, the
resulting scores are hardcoded in their respective classes and manually updated when the set of equations change.
resulting scores are hardcoded here and manually updated when the set of equations change.
Available matches:
* hearing_impaired
* format
* release_group
* resolution
* video_codec
* audio_codec
* imdb_id
* hash
* title
* year
* series
* season
* episode
* release_group
* format
* audio_codec
* resolution
* hearing_impaired
* video_codec
* series_imdb_id
* imdb_id
* tvdb_id
The :meth:`Subtitle.get_matches <subliminal.subtitle.Subtitle.get_matches>` method get the matches between the
:class:`~subliminal.subtitle.Subtitle` and the :class:`~subliminal.video.Video` and
:func:`~subliminal.subtitle.compute_score` computes the score.
"""
from __future__ import unicode_literals, print_function
from __future__ import division, print_function
import logging
from sympy import Eq, solve, symbols
from .video import Episode, Movie
logger = logging.getLogger(__name__)
# Symbols
hearing_impaired, format, release_group, resolution = symbols('hearing_impaired format release_group resolution')
video_codec, audio_codec, imdb_id, hash, title, year = symbols('video_codec audio_codec imdb_id hash title year')
series, season, episode, tvdb_id = symbols('series season episode tvdb_id')
#: Scores for episodes
episode_scores = {'hash': 359, 'series': 180, 'year': 90, 'season': 30, 'episode': 30, 'release_group': 15,
'format': 7, 'audio_codec': 3, 'resolution': 2, 'video_codec': 2, 'hearing_impaired': 1}
#: Scores for movies
movie_scores = {'hash': 119, 'title': 60, 'year': 30, 'release_group': 15,
'format': 7, 'audio_codec': 3, 'resolution': 2, 'video_codec': 2, 'hearing_impaired': 1}
def get_scores(video):
"""Get the scores dict for the given `video`.
This will return either :data:`episode_scores` or :data:`movie_scores` based on the type of the `video`.
:param video: the video to compute the score against.
:type video: :class:`~subliminal.video.Video`
:return: the scores dict.
:rtype: dict
"""
if isinstance(video, Episode):
return episode_scores
elif isinstance(video, Movie):
return movie_scores
raise ValueError('video must be an instance of Episode or Movie')
def compute_score(subtitle, video, hearing_impaired=None):
"""Compute the score of the `subtitle` against the `video` with `hearing_impaired` preference.
:func:`compute_score` uses the :meth:`Subtitle.get_matches <subliminal.subtitle.Subtitle.get_matches>` method and
applies the scores (either from :data:`episode_scores` or :data:`movie_scores`) after some processing.
:param subtitle: the subtitle to compute the score of.
:type subtitle: :class:`~subliminal.subtitle.Subtitle`
:param video: the video to compute the score against.
:type video: :class:`~subliminal.video.Video`
:param bool hearing_impaired: hearing impaired preference.
:return: score of the subtitle.
:rtype: int
"""
logger.info('Computing score of %r for video %r with %r', subtitle, video, dict(hearing_impaired=hearing_impaired))
# get the scores dict
scores = get_scores(video)
logger.debug('Using scores %r', scores)
# get the matches
matches = subtitle.get_matches(video)
logger.debug('Found matches %r', matches)
# on hash match, discard everything else
if 'hash' in matches:
logger.debug('Keeping only hash match')
matches &= {'hash'}
# handle equivalent matches
if isinstance(video, Episode):
if 'title' in matches:
logger.debug('Adding title match equivalent')
matches.add('episode')
if 'series_imdb_id' in matches:
logger.debug('Adding series_imdb_id match equivalent')
matches |= {'series', 'year'}
if 'imdb_id' in matches:
logger.debug('Adding imdb_id match equivalents')
matches |= {'series', 'year', 'season', 'episode'}
if 'tvdb_id' in matches:
logger.debug('Adding tvdb_id match equivalents')
matches |= {'series', 'year'}
elif isinstance(video, Movie):
if 'imdb_id' in matches:
logger.debug('Adding imdb_id match equivalents')
matches |= {'title', 'year'}
# handle hearing impaired
if hearing_impaired is not None and subtitle.hearing_impaired == hearing_impaired:
logger.debug('Matched hearing_impaired')
matches.add('hearing_impaired')
# compute the score
score = sum((scores.get(match, 0) for match in matches))
logger.info('Computed score %r with final matches %r', score, matches)
# ensure score is within valid bounds
assert 0 <= score <= scores['hash'] + scores['hearing_impaired']
return score
def solve_episode_equations():
"""Solve the score equations for an :class:`~subliminal.video.Episode`.
from sympy import Eq, solve, symbols
The equations are the following:
hash, series, year, season, episode, release_group = symbols('hash series year season episode release_group')
format, audio_codec, resolution, video_codec = symbols('format audio_codec resolution video_codec')
hearing_impaired = symbols('hearing_impaired')
1. hash = resolution + format + video_codec + audio_codec + series + season + episode + year + release_group
2. series = resolution + video_codec + audio_codec + season + episode + release_group + 1
3. year = series
4. tvdb_id = series + year
5. season = resolution + video_codec + audio_codec + 1
6. imdb_id = series + season + episode + year
7. format = video_codec + audio_codec
8. resolution = video_codec
9. video_codec = 2 * audio_codec
10. title = season + episode
11. season = episode
12. release_group = season
13. audio_codec = 2 * hearing_impaired
14. hearing_impaired = 1
:return: the result of the equations.
:rtype: dict
"""
equations = [
Eq(hash, resolution + format + video_codec + audio_codec + series + season + episode + year + release_group),
Eq(series, resolution + video_codec + audio_codec + season + episode + release_group + 1),
Eq(year, series),
Eq(tvdb_id, series + year),
Eq(season, resolution + video_codec + audio_codec + 1),
Eq(imdb_id, series + season + episode + year),
Eq(format, video_codec + audio_codec),
# hash is best
Eq(hash, series + year + season + episode + release_group + format + audio_codec + resolution + video_codec),
# series counts for the most part in the total score
Eq(series, year + season + episode + release_group + format + audio_codec + resolution + video_codec + 1),
# year is the second most important part
Eq(year, season + episode + release_group + format + audio_codec + resolution + video_codec + 1),
# season is important too
Eq(season, release_group + format + audio_codec + resolution + video_codec + 1),
# episode is equally important to season
Eq(episode, season),
# release group is the next most wanted match
Eq(release_group, format + audio_codec + resolution + video_codec + 1),
# format counts as much as audio_codec, resolution and video_codec
Eq(format, audio_codec + resolution + video_codec),
# audio_codec is more valuable than video_codec
Eq(audio_codec, video_codec + 1),
# resolution counts as much as video_codec
Eq(resolution, video_codec),
Eq(video_codec, 2 * audio_codec),
Eq(title, season + episode),
Eq(season, episode),
Eq(release_group, season),
Eq(audio_codec, 2 * hearing_impaired),
Eq(hearing_impaired, 1)
# video_codec is the least valuable match but counts more than the sum of all scoring increasing matches
Eq(video_codec, hearing_impaired + 1),
# hearing impaired is only used for score increasing, so put it to 1
Eq(hearing_impaired, 1),
]
return solve(equations, [hearing_impaired, format, release_group, resolution, video_codec, audio_codec, imdb_id,
hash, series, season, episode, title, year, tvdb_id])
return solve(equations, [hash, series, year, season, episode, release_group, format, audio_codec, resolution,
hearing_impaired, video_codec])
def solve_movie_equations():
"""Solve the score equations for a :class:`~subliminal.video.Movie`.
from sympy import Eq, solve, symbols
The equations are the following:
hash, title, year, release_group = symbols('hash title year release_group')
format, audio_codec, resolution, video_codec = symbols('format audio_codec resolution video_codec')
hearing_impaired = symbols('hearing_impaired')
1. hash = resolution + format + video_codec + audio_codec + title + year + release_group
2. imdb_id = hash
3. resolution = video_codec
4. video_codec = 2 * audio_codec
5. format = video_codec + audio_codec
6. title = resolution + video_codec + audio_codec + year + 1
7. release_group = resolution + video_codec + audio_codec + 1
8. year = release_group + 1
9. audio_codec = 2 * hearing_impaired
10. hearing_impaired = 1
:return: the result of the equations.
:rtype: dict
"""
equations = [
Eq(hash, resolution + format + video_codec + audio_codec + title + year + release_group),
Eq(imdb_id, hash),
# hash is best
Eq(hash, title + year + release_group + format + audio_codec + resolution + video_codec),
# title counts for the most part in the total score
Eq(title, year + release_group + format + audio_codec + resolution + video_codec + 1),
# year is the second most important part
Eq(year, release_group + format + audio_codec + resolution + video_codec + 1),
# release group is the next most wanted match
Eq(release_group, format + audio_codec + resolution + video_codec + 1),
# format counts as much as audio_codec, resolution and video_codec
Eq(format, audio_codec + resolution + video_codec),
# audio_codec is more valuable than video_codec
Eq(audio_codec, video_codec + 1),
# resolution counts as much as video_codec
Eq(resolution, video_codec),
Eq(video_codec, 2 * audio_codec),
Eq(format, video_codec + audio_codec),
Eq(title, resolution + video_codec + audio_codec + year + 1),
Eq(release_group, resolution + video_codec + audio_codec + 1),
Eq(year, release_group + 1),
Eq(audio_codec, 2 * hearing_impaired),
Eq(hearing_impaired, 1)
# video_codec is the least valuable match but counts more than the sum of all scoring increasing matches
Eq(video_codec, hearing_impaired + 1),
# hearing impaired is only used for score increasing, so put it to 1
Eq(hearing_impaired, 1),
]
return solve(equations, [hearing_impaired, format, release_group, resolution, video_codec, audio_codec, imdb_id,
hash, title, year])
return solve(equations, [hash, title, year, release_group, format, audio_codec, resolution, hearing_impaired,
video_codec])
+38 -87
View File
@@ -1,17 +1,20 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import codecs
import logging
import os
import chardet
from guessit.matchtree import MatchTree
from guessit.plugins.transformers import get_transformer
import pysrt
from .video import Episode, Movie
from .utils import sanitize, sanitize_release_group
logger = logging.getLogger(__name__)
#: Subtitle extensions
SUBTITLE_EXTENSIONS = ('.srt', '.sub', '.smi', '.txt', '.ssa', '.ass', '.mpl')
class Subtitle(object):
"""Base class for subtitle.
@@ -21,12 +24,14 @@ class Subtitle(object):
:param bool hearing_impaired: whether or not the subtitle is hearing impaired.
:param page_link: URL of the web page from which the subtitle can be downloaded.
:type page_link: str
:param encoding: Text encoding of the subtitle.
:type encoding: str
"""
#: Name of the provider that returns that class of subtitle
provider_name = ''
def __init__(self, language, hearing_impaired=False, page_link=None):
def __init__(self, language, hearing_impaired=False, page_link=None, encoding=None):
#: Language of the subtitle
self.language = language
@@ -42,14 +47,21 @@ class Subtitle(object):
#: Encoding to decode with when accessing :attr:`text`
self.encoding = None
# validate the encoding
if encoding:
try:
self.encoding = codecs.lookup(encoding).name
except (TypeError, LookupError):
logger.debug('Unsupported encoding %s', encoding)
@property
def id(self):
"""Unique identifier of the subtitle."""
"""Unique identifier of the subtitle"""
raise NotImplementedError
@property
def text(self):
"""Content as string.
"""Content as string
If :attr:`encoding` is None, the encoding is guessed with :meth:`guess_encoding`
@@ -57,7 +69,10 @@ class Subtitle(object):
if not self.content:
return
return self.content.decode(self.encoding or self.guess_encoding(), errors='replace')
if self.encoding:
return self.content.decode(self.encoding, errors='replace')
return self.content.decode(self.guess_encoding(), errors='replace')
def is_valid(self):
"""Check if a :attr:`text` is a valid SubRip format.
@@ -129,23 +144,16 @@ class Subtitle(object):
return encoding
def get_matches(self, video, hearing_impaired=False):
def get_matches(self, video):
"""Get the matches against the `video`.
:param video: the video to get the matches with.
:type video: :class:`~subliminal.video.Video`
:param bool hearing_impaired: hearing impaired preference.
:return: matches of the subtitle.
:rtype: set
"""
matches = set()
# hearing_impaired
if self.hearing_impaired == hearing_impaired:
matches.add('hearing_impaired')
return matches
raise NotImplementedError
def __hash__(self):
return hash(self.provider_name + '-' + self.id)
@@ -154,53 +162,6 @@ class Subtitle(object):
return '<%s %r [%s]>' % (self.__class__.__name__, self.id, self.language)
def compute_score(matches, video, scores=None):
"""Compute the score of the `matches` against the `video`.
Some matches count as much as a combination of others in order to level the final score:
* `hash` removes everything else
* For :class:`~subliminal.video.Episode`
* `imdb_id` removes `series`, `tvdb_id`, `season`, `episode`, `title` and `year`
* `tvdb_id` removes `series` and `year`
* `title` removes `season` and `episode`
:param video: the video to get the score with.
:type video: :class:`~subliminal.video.Video`
:param dict scores: scores to use, if `None`, the :attr:`~subliminal.video.Video.scores` from the video are used.
:return: score of the subtitle.
:rtype: int
"""
final_matches = matches.copy()
scores = scores or video.scores
logger.info('Computing score for matches %r and %r', matches, video)
# remove equivalent match combinations
if 'hash' in final_matches:
final_matches &= {'hash', 'hearing_impaired'}
elif isinstance(video, Episode):
if 'imdb_id' in final_matches:
final_matches -= {'series', 'tvdb_id', 'season', 'episode', 'title', 'year'}
if 'tvdb_id' in final_matches:
final_matches -= {'series', 'year'}
if 'title' in final_matches:
final_matches -= {'season', 'episode'}
# compute score
logger.debug('Final matches: %r', final_matches)
score = sum((scores[match] for match in final_matches))
logger.info('Computed score %d', score)
# ensure score is capped by the best possible score (hash + preferences)
assert score <= scores['hash'] + scores['hearing_impaired']
return score
def get_subtitle_path(video_path, language=None, extension='.srt'):
"""Get the subtitle path using the `video_path` and `language`.
@@ -237,60 +198,50 @@ def guess_matches(video, guess, partial=False):
matches = set()
if isinstance(video, Episode):
# series
if video.series and 'series' in guess and guess['series'].lower() == video.series.lower():
if video.series and 'title' in guess and sanitize(guess['title']) == sanitize(video.series):
matches.add('series')
# title
if video.title and 'episode_title' in guess and sanitize(guess['episode_title']) == sanitize(video.title):
matches.add('title')
# season
if video.season and 'season' in guess and guess['season'] == video.season:
matches.add('season')
# episode
if video.episode and 'episodeNumber' in guess and guess['episodeNumber'] == video.episode:
if video.episode and 'episode' in guess and guess['episode'] == video.episode:
matches.add('episode')
# year
if video.year and 'year' in guess and guess['year'] == video.year:
matches.add('year')
# count "no year" as an information
if not partial and video.year is None and 'year' not in guess:
if not partial and video.original_series and 'year' not in guess:
matches.add('year')
elif isinstance(video, Movie):
# year
if video.year and 'year' in guess and guess['year'] == video.year:
matches.add('year')
# title
if video.title and 'title' in guess and guess['title'].lower() == video.title.lower():
matches.add('title')
# title
if video.title and 'title' in guess and sanitize(guess['title']) == sanitize(video.title):
matches.add('title')
# release_group
if video.release_group and 'releaseGroup' in guess and guess['releaseGroup'].lower() == video.release_group.lower():
if (video.release_group and 'release_group' in guess and
sanitize_release_group(guess['release_group']) == sanitize_release_group(video.release_group)):
matches.add('release_group')
# resolution
if video.resolution and 'screenSize' in guess and guess['screenSize'] == video.resolution:
if video.resolution and 'screen_size' in guess and guess['screen_size'] == video.resolution:
matches.add('resolution')
# format
if video.format and 'format' in guess and guess['format'].lower() == video.format.lower():
matches.add('format')
# video_codec
if video.video_codec and 'videoCodec' in guess and guess['videoCodec'] == video.video_codec:
if video.video_codec and 'video_codec' in guess and guess['video_codec'] == video.video_codec:
matches.add('video_codec')
# audio_codec
if video.audio_codec and 'audioCodec' in guess and guess['audioCodec'] == video.audio_codec:
if video.audio_codec and 'audio_codec' in guess and guess['audio_codec'] == video.audio_codec:
matches.add('audio_codec')
return matches
def guess_properties(string):
"""Extract properties from `string` using guessit's `guess_properties` transformer.
:param str string: the string potentially containing properties.
:return: the guessed properties.
:rtype: dict
"""
mtree = MatchTree(string)
get_transformer('guess_properties').process(mtree)
return mtree.matched()
def fix_line_ending(content):
"""Fix line ending of `content` by changing it to \n.
+152
View File
@@ -0,0 +1,152 @@
# -*- coding: utf-8 -*-
from datetime import datetime
import hashlib
import os
import re
import struct
def hash_opensubtitles(video_path):
"""Compute a hash using OpenSubtitles' algorithm.
:param str video_path: path of the video.
:return: the hash.
:rtype: str
"""
bytesize = struct.calcsize(b'<q')
with open(video_path, 'rb') as f:
filesize = os.path.getsize(video_path)
filehash = filesize
if filesize < 65536 * 2:
return
for _ in range(65536 // bytesize):
filebuffer = f.read(bytesize)
(l_value,) = struct.unpack(b'<q', filebuffer)
filehash += l_value
filehash &= 0xFFFFFFFFFFFFFFFF # to remain as 64bit number
f.seek(max(0, filesize - 65536), 0)
for _ in range(65536 // bytesize):
filebuffer = f.read(bytesize)
(l_value,) = struct.unpack(b'<q', filebuffer)
filehash += l_value
filehash &= 0xFFFFFFFFFFFFFFFF
returnedhash = '%016x' % filehash
return returnedhash
def hash_thesubdb(video_path):
"""Compute a hash using TheSubDB's algorithm.
:param str video_path: path of the video.
:return: the hash.
:rtype: str
"""
readsize = 64 * 1024
if os.path.getsize(video_path) < readsize:
return
with open(video_path, 'rb') as f:
data = f.read(readsize)
f.seek(-readsize, os.SEEK_END)
data += f.read(readsize)
return hashlib.md5(data).hexdigest()
def hash_napiprojekt(video_path):
"""Compute a hash using NapiProjekt's algorithm.
:param str video_path: path of the video.
:return: the hash.
:rtype: str
"""
readsize = 1024 * 1024 * 10
with open(video_path, 'rb') as f:
data = f.read(readsize)
return hashlib.md5(data).hexdigest()
def hash_shooter(video_path):
"""Compute a hash using Shooter's algorithm
:param string video_path: path of the video
:return: the hash
:rtype: string
"""
filesize = os.path.getsize(video_path)
readsize = 4096
if os.path.getsize(video_path) < readsize * 2:
return None
offsets = (readsize, filesize // 3 * 2, filesize // 3, filesize - readsize * 2)
filehash = []
with open(video_path, 'rb') as f:
for offset in offsets:
f.seek(offset)
filehash.append(hashlib.md5(f.read(readsize)).hexdigest())
return ';'.join(filehash)
def sanitize(string, ignore_characters=None):
"""Sanitize a string to strip special characters.
:param str string: the string to sanitize.
:param set ignore_characters: characters to ignore.
:return: the sanitized string.
:rtype: str
"""
# only deal with strings
if string is None:
return
ignore_characters = ignore_characters or set()
# replace some characters with one space
characters = {'-', ':', '(', ')', '.'} - ignore_characters
if characters:
string = re.sub(r'[%s]' % re.escape(''.join(characters)), ' ', string)
# remove some characters
characters = {'\''} - ignore_characters
if characters:
string = re.sub(r'[%s]' % re.escape(''.join(characters)), '', string)
# replace multiple spaces with one
string = re.sub(r'\s+', ' ', string)
# strip and lower case
return string.strip().lower()
def sanitize_release_group(string):
"""Sanitize a `release_group` string to remove content in square brackets.
:param str string: the release group to sanitize.
:return: the sanitized release group.
:rtype: str
"""
# only deal with strings
if string is None:
return
# remove content in square brackets
string = re.sub(r'\[\w+\]', '', string)
# strip and lower case
return string.strip().lower()
def timestamp(date):
"""Get the timestamp of the `date`, python2/3 compatible
:param datetime.datetime date: the utc date.
:return: the timestamp of the date.
:rtype: float
"""
return (date - datetime(1970, 1, 1)).total_seconds()
+39 -335
View File
@@ -1,14 +1,10 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals, division
from __future__ import division
from datetime import datetime, timedelta
import hashlib
import logging
import os
import struct
from babelfish import Error as BabelfishError, Language
from enzyme import Error as EnzymeError, MKV
from guessit import guess_episode_info, guess_file_info, guess_movie_info
from guessit import guessit
logger = logging.getLogger(__name__)
@@ -21,15 +17,11 @@ VIDEO_EXTENSIONS = ('.3g2', '.3gp', '.3gp2', '.3gpp', '.60d', '.ajp', '.asf', '.
'.qt', '.ram', '.rm', '.rmvb', '.swf', '.ts', '.vfw', '.vid', '.video', '.viv', '.vivo', '.vob',
'.vro', '.wm', '.wmv', '.wmx', '.wrap', '.wvx', '.wx', '.x264', '.xvid')
#: Subtitle extensions
SUBTITLE_EXTENSIONS = ('.srt', '.sub', '.smi', '.txt', '.ssa', '.ass', '.mpl')
class Video(object):
"""Base class for videos.
Represent a video, existing or not. Attributes have an associated score based on equations defined in
:mod:`~subliminal.score`.
Represent a video, existing or not.
:param str name: name or path of the video.
:param str format: format of the video (HDTV, WEB-DL, BluRay, ...).
@@ -37,15 +29,12 @@ class Video(object):
:param str resolution: resolution of the video stream (480p, 720p, 1080p or 1080i).
:param str video_codec: codec of the video stream.
:param str audio_codec: codec of the main audio stream.
:param int imdb_id: IMDb id of the video.
:param str imdb_id: IMDb id of the video.
:param dict hashes: hashes of the video file by provider names.
:param int size: size of the video file in bytes.
:param set subtitle_languages: existing subtitle languages
:param set subtitle_languages: existing subtitle languages.
"""
#: Score by match property
scores = {}
def __init__(self, name, format=None, release_group=None, resolution=None, video_codec=None, audio_codec=None,
imdb_id=None, hashes=None, size=None, subtitle_languages=None):
#: Name or path of the video
@@ -80,12 +69,12 @@ class Video(object):
@property
def exists(self):
"""Test whether the video exists."""
"""Test whether the video exists"""
return os.path.exists(self.name)
@property
def age(self):
"""Age of the video."""
"""Age of the video"""
if self.exists:
return datetime.utcnow() - datetime.utcfromtimestamp(os.path.getmtime(self.name))
@@ -96,7 +85,7 @@ class Video(object):
"""Create an :class:`Episode` or a :class:`Movie` with the given `name` based on the `guess`.
:param str name: name of the video.
:param dict guess: guessed data, like a :class:`~guessit.guess.Guess` instance.
:param dict guess: guessed data.
:raise: :class:`ValueError` if the `type` of the `guess` is invalid
"""
@@ -115,7 +104,7 @@ class Video(object):
:param str name: name of the video.
"""
return cls.fromguess(name, guess_file_info(name))
return cls.fromguess(name, guessit(name))
def __repr__(self):
return '<%s [%r]>' % (self.__class__.__name__, self.name)
@@ -127,26 +116,20 @@ class Video(object):
class Episode(Video):
"""Episode :class:`Video`.
Scores are defined by a set of equations, see :func:`~subliminal.score.solve_episode_equations`
:param str series: series of the episode.
:param int season: season number of the episode.
:param int episode: episode number of the episode.
:param str title: title of the episode.
:param int year: year of series.
:param int tvdb_id: TVDB id of the episode
:param int year: year of the series.
:param bool original_series: whether the series is the first with this name.
:param int tvdb_id: TVDB id of the episode.
:param \*\*kwargs: additional parameters for the :class:`Video` constructor.
"""
#: Score by match property
scores = {'hash': 137, 'imdb_id': 110, 'tvdb_id': 88, 'series': 44, 'year': 44, 'title': 22, 'season': 11,
'episode': 11, 'release_group': 11, 'format': 6, 'video_codec': 4, 'resolution': 4, 'audio_codec': 2,
'hearing_impaired': 1}
def __init__(self, name, series, season, episode, title=None, year=None, original_series=True, tvdb_id=None,
series_tvdb_id=None, series_imdb_id=None, **kwargs):
super(Episode, self).__init__(name, **kwargs)
def __init__(self, name, series, season, episode, format=None, release_group=None, resolution=None,
video_codec=None, audio_codec=None, imdb_id=None, hashes=None, size=None, subtitle_languages=None,
title=None, year=None, tvdb_id=None):
super(Episode, self).__init__(name, format, release_group, resolution, video_codec, audio_codec, imdb_id,
hashes, size, subtitle_languages)
#: Series of the episode
self.series = series
@@ -162,25 +145,34 @@ class Episode(Video):
#: Year of series
self.year = year
#: The series is the first with this name
self.original_series = original_series
#: TVDB id of the episode
self.tvdb_id = tvdb_id
#: TVDB id of the series
self.series_tvdb_id = series_tvdb_id
#: IMDb id of the series
self.series_imdb_id = series_imdb_id
@classmethod
def fromguess(cls, name, guess):
if guess['type'] != 'episode':
raise ValueError('The guess must be an episode guess')
if 'series' not in guess or 'season' not in guess or 'episodeNumber' not in guess:
if 'title' not in guess or 'episode' not in guess:
raise ValueError('Insufficient data to process the guess')
return cls(name, guess['series'], guess['season'], guess['episodeNumber'], format=guess.get('format'),
release_group=guess.get('releaseGroup'), resolution=guess.get('screenSize'),
video_codec=guess.get('videoCodec'), audio_codec=guess.get('audioCodec'),
title=guess.get('title'), year=guess.get('year'))
return cls(name, guess['title'], guess.get('season', 1), guess['episode'], title=guess.get('episode_title'),
year=guess.get('year'), format=guess.get('format'), original_series='year' not in guess,
release_group=guess.get('release_group'), resolution=guess.get('screen_size'),
video_codec=guess.get('video_codec'), audio_codec=guess.get('audio_codec'))
@classmethod
def fromname(cls, name):
return cls.fromguess(name, guess_episode_info(name))
return cls.fromguess(name, guessit(name, {'type': 'episode'}))
def __repr__(self):
if self.year is None:
@@ -192,20 +184,14 @@ class Episode(Video):
class Movie(Video):
"""Movie :class:`Video`.
Scores are defined by a set of equations, see :func:`~subliminal.score.solve_movie_equations`
:param str title: title of the movie.
:param int year: year of the movie
:param int year: year of the movie.
:param \*\*kwargs: additional parameters for the :class:`Video` constructor.
"""
#: Score by match property
scores = {'hash': 62, 'imdb_id': 62, 'title': 23, 'year': 12, 'release_group': 11, 'format': 6, 'video_codec': 4,
'resolution': 4, 'audio_codec': 2, 'hearing_impaired': 1}
def __init__(self, name, title, year=None, **kwargs):
super(Movie, self).__init__(name, **kwargs)
def __init__(self, name, title, format=None, release_group=None, resolution=None, video_codec=None,
audio_codec=None, imdb_id=None, hashes=None, size=None, subtitle_languages=None, year=None):
super(Movie, self).__init__(name, format, release_group, resolution, video_codec, audio_codec, imdb_id, hashes,
size, subtitle_languages)
#: Title of the movie
self.title = title
@@ -220,298 +206,16 @@ class Movie(Video):
if 'title' not in guess:
raise ValueError('Insufficient data to process the guess')
return cls(name, guess['title'], format=guess.get('format'), release_group=guess.get('releaseGroup'),
resolution=guess.get('screenSize'), video_codec=guess.get('videoCodec'),
audio_codec=guess.get('audioCodec'), year=guess.get('year'))
return cls(name, guess['title'], format=guess.get('format'), release_group=guess.get('release_group'),
resolution=guess.get('screen_size'), video_codec=guess.get('video_codec'),
audio_codec=guess.get('audio_codec'), year=guess.get('year'))
@classmethod
def fromname(cls, name):
return cls.fromguess(name, guess_movie_info(name))
return cls.fromguess(name, guessit(name, {'type': 'movie'}))
def __repr__(self):
if self.year is None:
return '<%s [%r]>' % (self.__class__.__name__, self.title)
return '<%s [%r, %d]>' % (self.__class__.__name__, self.title, self.year)
def search_external_subtitles(path):
"""Search for external subtitles from a video `path` and their associated language.
:param str path: path to the video.
:return: found subtitles with their languages.
:rtype: dict
"""
dirpath, filename = os.path.split(path)
dirpath = dirpath or '.'
fileroot, fileext = os.path.splitext(filename)
subtitles = {}
for p in os.listdir(dirpath):
# skip badly encoded filenames
if isinstance(p, bytes): # pragma: no cover
logger.error('Skipping badly encoded filename %r in %r', p.decode('utf-8', errors='replace'), dirpath)
continue
# keep only valid subtitle filenames
if not p.startswith(fileroot) or not p.endswith(SUBTITLE_EXTENSIONS):
continue
# extract the potential language code
language_code = p[len(fileroot):-len(os.path.splitext(p)[1])].replace(fileext, '').replace('_', '-')[1:]
# default language is undefined
language = Language('und')
# attempt to parse
if language_code:
try:
language = Language.fromietf(language_code)
except ValueError:
logger.error('Cannot parse language code %r', language_code)
subtitles[p] = language
logger.debug('Found subtitles %r', subtitles)
return subtitles
def scan_video(path, subtitles=True, embedded_subtitles=True):
"""Scan a video and its subtitle languages from a video `path`.
:param str path: existing path to the video.
:param bool subtitles: scan for subtitles with the same name.
:param bool embedded_subtitles: scan for embedded subtitles.
:return: the scanned video.
:rtype: :class:`Video`
"""
# check for non-existing path
if not os.path.exists(path):
raise ValueError('Path does not exist')
# check video extension
if not path.endswith(VIDEO_EXTENSIONS):
raise ValueError('%s is not a valid video extension' % os.path.splitext(path)[1])
dirpath, filename = os.path.split(path)
logger.info('Scanning video %r in %r', filename, dirpath)
# guess
video = Video.fromguess(path, guess_file_info(path))
# size and hashes
video.size = os.path.getsize(path)
if video.size > 10485760:
logger.debug('Size is %d', video.size)
video.hashes['opensubtitles'] = hash_opensubtitles(path)
video.hashes['thesubdb'] = hash_thesubdb(path)
logger.debug('Computed hashes %r', video.hashes)
else:
logger.warning('Size is lower than 10MB: hashes not computed')
# external subtitles
if subtitles:
video.subtitle_languages |= set(search_external_subtitles(path).values())
# video metadata with enzyme
try:
if filename.endswith('.mkv'):
with open(path, 'rb') as f:
mkv = MKV(f)
# main video track
if mkv.video_tracks:
video_track = mkv.video_tracks[0]
# resolution
if video_track.height in (480, 720, 1080):
if video_track.interlaced:
video.resolution = '%di' % video_track.height
else:
video.resolution = '%dp' % video_track.height
logger.debug('Found resolution %s with enzyme', video.resolution)
# video codec
if video_track.codec_id == 'V_MPEG4/ISO/AVC':
video.video_codec = 'h264'
logger.debug('Found video_codec %s with enzyme', video.video_codec)
elif video_track.codec_id == 'V_MPEG4/ISO/SP':
video.video_codec = 'DivX'
logger.debug('Found video_codec %s with enzyme', video.video_codec)
elif video_track.codec_id == 'V_MPEG4/ISO/ASP':
video.video_codec = 'XviD'
logger.debug('Found video_codec %s with enzyme', video.video_codec)
else:
logger.warning('MKV has no video track')
# main audio track
if mkv.audio_tracks:
audio_track = mkv.audio_tracks[0]
# audio codec
if audio_track.codec_id == 'A_AC3':
video.audio_codec = 'AC3'
logger.debug('Found audio_codec %s with enzyme', video.audio_codec)
elif audio_track.codec_id == 'A_DTS':
video.audio_codec = 'DTS'
logger.debug('Found audio_codec %s with enzyme', video.audio_codec)
elif audio_track.codec_id == 'A_AAC':
video.audio_codec = 'AAC'
logger.debug('Found audio_codec %s with enzyme', video.audio_codec)
else:
logger.warning('MKV has no audio track')
# subtitle tracks
if mkv.subtitle_tracks:
if embedded_subtitles:
embedded_subtitle_languages = set()
for st in mkv.subtitle_tracks:
if st.language:
try:
embedded_subtitle_languages.add(Language.fromalpha3b(st.language))
except BabelfishError:
logger.error('Embedded subtitle track language %r is not a valid language', st.language)
embedded_subtitle_languages.add(Language('und'))
elif st.name:
try:
embedded_subtitle_languages.add(Language.fromname(st.name))
except BabelfishError:
logger.debug('Embedded subtitle track name %r is not a valid language', st.name)
embedded_subtitle_languages.add(Language('und'))
else:
embedded_subtitle_languages.add(Language('und'))
logger.debug('Found embedded subtitle %r with enzyme', embedded_subtitle_languages)
video.subtitle_languages |= embedded_subtitle_languages
else:
logger.debug('MKV has no subtitle track')
except EnzymeError:
logger.exception('Parsing video metadata with enzyme failed')
return video
def scan_videos(path, subtitles=True, embedded_subtitles=True):
"""Scan `path` for videos and their subtitles.
:params path: existing directory path to scan.
:type path: str
:param bool subtitles: scan for subtitles with the same name.
:param bool embedded_subtitles: scan for embedded subtitles.
:return: the scanned videos.
:rtype: list of :class:`Video`
"""
# check for non-existing path
if not os.path.exists(path):
raise ValueError('Path does not exist')
# check for non-directory path
if not os.path.isdir(path):
raise ValueError('Path is not a directory')
# walk the path
videos = []
for dirpath, dirnames, filenames in os.walk(path):
# skip badly encoded directory names
if isinstance(dirpath, bytes): # pragma: no cover
logger.error('Skipping badly encoded directory %r', dirpath.decode('utf-8', errors='replace'))
continue
logger.debug('Walking directory %s', dirpath)
# remove badly encoded and hidden dirnames
for dirname in list(dirnames):
if isinstance(dirname, bytes): # pragma: no cover
logger.error('Skipping badly encoded dirname %r in %r', dirname.decode('utf-8', errors='replace'),
dirpath)
dirnames.remove(dirname)
elif dirname.startswith('.'):
logger.debug('Skipping hidden dirname %r in %r', dirname, dirpath)
dirnames.remove(dirname)
# scan for videos
for filename in filenames:
# skip badly encoded filenames
if isinstance(filename, bytes): # pragma: no cover
logger.error('Skipping badly encoded filename %r in %r', filename.decode('utf-8', errors='replace'),
dirpath)
continue
# filter on videos
if not filename.endswith(VIDEO_EXTENSIONS):
continue
# skip hidden files
if filename.startswith('.'):
logger.debug('Skipping hidden filename %r in %r', filename, dirpath)
continue
# reconstruct the file path
filepath = os.path.join(dirpath, filename)
# skip links
if os.path.islink(filepath):
logger.debug('Skipping link %r in %r', filename, dirpath)
continue
# scan video
try:
video = scan_video(filepath, subtitles=subtitles, embedded_subtitles=embedded_subtitles)
except ValueError: # pragma: no cover
logger.exception('Error scanning video')
continue
videos.append(video)
return videos
def hash_opensubtitles(video_path):
"""Compute a hash using OpenSubtitles' algorithm.
:param str video_path: path of the video.
:return: the hash.
:rtype: str
"""
bytesize = struct.calcsize(b'<q')
with open(video_path, 'rb') as f:
filesize = os.path.getsize(video_path)
filehash = filesize
if filesize < 65536 * 2:
return
for _ in range(65536 // bytesize):
filebuffer = f.read(bytesize)
(l_value,) = struct.unpack(b'<q', filebuffer)
filehash += l_value
filehash &= 0xFFFFFFFFFFFFFFFF # to remain as 64bit number
f.seek(max(0, filesize - 65536), 0)
for _ in range(65536 // bytesize):
filebuffer = f.read(bytesize)
(l_value,) = struct.unpack(b'<q', filebuffer)
filehash += l_value
filehash &= 0xFFFFFFFFFFFFFFFF
returnedhash = '%016x' % filehash
return returnedhash
def hash_thesubdb(video_path):
"""Compute a hash using TheSubDB's algorithm.
:param str video_path: path of the video.
:return: the hash.
:rtype: str
"""
readsize = 64 * 1024
if os.path.getsize(video_path) < readsize:
return
with open(video_path, 'rb') as f:
data = f.read(readsize)
f.seek(-readsize, os.SEEK_END)
data += f.read(readsize)
return hashlib.md5(data).hexdigest()
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+221 -314
View File
@@ -1,333 +1,240 @@
interactions:
- request:
body: password=subliminal&username=subliminal&Submit=Log+in
body: username=subliminal&password=subliminal&Submit=Log+in
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Length: ['53']
Content-Type: [application/x-www-form-urlencoded]
User-Agent: [Subliminal/0.8.0]
User-Agent: [Subliminal/2.0]
method: POST
uri: http://www.addic7ed.com/dologin.php
response:
body: {string: "\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta
http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<title>Addic7ed.com
- For all those TV Series Addic7s: Subtitles, Tv Series and Movies Talk, Forum
and more -</title>\n<link href=\"css/wikisubtitles.css\" rel=\"stylesheet\"
title=\"default\" type=\"text/css\" media=\"screen\"/>\n</head>\n\n<body>\n<center><br
/>\n<table border=\"0\">\n<tr>\n <td rowspan=\"9\"><a href=\"/\"><img height=\"200\"
width=\"350\" src=\"http://www.addic7ed.com/images/addic7edheader.jpg\" border=\"0\"
\ title=\"Addic7ed.com - Quality Subtitles for TV Shows and movies\" alt=\"Addic7ed.com
- Quality Subtitles for TV Shows and movies\" /></a></td>\n</tr>\n<tr><td
align=\"center\" colspan=\"2\">\n<h1><small>Download free subtitles for TV
Shows and Movies.</small>&nbsp; \n<select name=\"applang\" class=\"inputCool\"
onchange=\"changeAppLang();\" id=\"comboLang\"><option value=\"ar\">Arabic</option><option
value=\"ca\">Catala</option><option selected=\"selected\" value=\"en\">English</option><option
value=\"eu\">Euskera</option><option value=\"fr\">French</option><option value=\"ga\">Galician</option><option
value=\"de\">German</option><option value=\"gr\">Greek</option><option value=\"hu\">Hungarian</option><option
value=\"it\">Italian</option><option value=\"fa\">Persian</option><option
value=\"pl\">Polish</option><option value=\"pt\">Portuguese</option><option
value=\"br\">Portuguese (Brazilian)</option><option value=\"ro\">Romanian</option><option
value=\"ru\">Russian</option><option value=\"es\">Spanish</option><option
value=\"se\">Swedish</option></select></h1>\n</td></tr>\n<tr><td align=\"center\"
colspan=\"2\">\n\n<script language=\"javascript\">\nvar url=\"/msgspopup.php?count=1\";\t\teditwin
= window.open(url, \"msgswin\", 'height=200,width=350,toolbar=0,location=0,statusbar=0,menubar=0');
\n\t\tif (editwin.focus) {editwin.focus()}\n</script>\n<div id=\"hBar\">\n\t\t\t
\ <ul>\n\t\t\t\t<li><a class=\"button white\" href=\"/panel.php\">My Panel</a></li><li><a
class=\"button white\" href=\"/newsub.php\">Upload</a></li>\t\t\t<li><a class=\"button
white\" href=\"/shows.php\">Shows</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/allshows/a\">Air dates</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"http://www.sub-talk.net\">Forum</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/logout.php\">Logout</a></li>\n\t\t\t </ul>\n\t\t\t </div>\n</td></tr>
\n<tr>\n <td>\n</td><td>\n\t<g:plusone size=\"medium\"></g:plusone>\n <a
href=\"http://twitter.com/addic7ed\" target=\"_blank\"><img width=\"32\" height=\"32\"
src=\"http://www.addic7ed.com/images/twitter_right.png\" alt=\"Twitter\" border=\"0\"
/></a>\n\t<a href=\"irc://irc.efnet.net:6667/addic7ed\"><img width=\"32\"
height=\"32\" src=\"http://www.addic7ed.com/images/irc-right.png\" alt=\"IRC\"
border=\"0\" /></a>\n<div style=\"float: right; padding-right:10%;\">\n\n
\ </td>\n </tr>\n <tr>\n <td colspan=2><iframe src=\"http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2FAddic7ed&amp;send=false&amp;layout=button_count&amp;width=450&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=tahoma&amp;height=21&amp;appId=121322186712\"
scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; width:80px;
height:21px;\" allowTransparency=\"true\"></iframe>\n </td>\n </tr>\n</table>\n</center>\n\n<center>\n\n<!--[if
lt IE 7]>\n <style type=\"text/css\">\n div, img { behavior: url(http://www.addic7ed.com/js/iepngfix.htc)
}\n </style>\n<![endif]-->\n\n<center><table border=\"0\" width=\"90%\">\n<tr>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Addic7ed</td>\n<td class=\"NewsTitle\"><img width=\"20\" height=\"20\"
src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\"
alt=\" \" />Popular Shows</td>\n<td class=\"NewsTitle\"><img width=\"20\"
height=\"20\" src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\"
/><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\" \" />Useful</td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Forums</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/shows.php\">Browse
By Shows</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/4906\">12
Monkeys</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/shows-schedule\">TV
Shows Schedule</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/1031-changelog/\">Site
Changelog</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/movie-subtitles\">Browse
By Movies</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1812\">Homeland</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/2784-frequently-asked-questions/\">Frequently
Asked Questions</a></div></td>\n<td><div id=\"footermenu\">Support Us</div></td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/top-uploaders\">Top Uploaders</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/620\">Modern Family</a></div></td>\n<td><div
id=\"footermenu\">RSS Feeds</div></td>\n<td><div id=\"footermenu\">Premium
Accounts</div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=downloaded\">Top
Downloads</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/466\">Glee</a></div></td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\"/>Tutorials</td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/thread-6-1-1.html\">Video
Formats</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=news\">All
News</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/450\">Parks
and Recreation</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/338-guide-to-syncing-with-subtitleedit/page__p__1485__hl__%2B+%2Bsync__fromsearch__1#entry1485\">How
to Synchronize Subtitles</a></div></td>\n<td><div id=\"footermenu\">Frequently
Asked Questions</div></td>\n</tr> \n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net\">Sub-Talk
Forums</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1277\">Shameless
(US)</a></div></td>\n<td><div id=\"footermenu\">What Are Subtitles</div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=7\">TV Shows
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/latest_comments.php\">Latest
Comments</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/126\">The
Big Bang Theory</a></div></td>\n<td><div id=\"footermenu\">New Translation
Tutorial</div></td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=22\">Movies
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.vreaubagaj.ro/troler/\"
title=\"Trolere ieftine\" alt=\"Trolere ieftine\">Troler ieftin</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/130\">Family Guy</a></div></td>\n<td><div
id=\"footermenu\">Upload a New Subtitle Tutorial</div></td>\n<td class=\"NewsTitle\"><img
width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Stats</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\">Terms of Service</div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/1799\">American Horror Story</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/viewthread.php?tid=294\">How
to have an Avatar</a></div></td>\n<td align=\"left\">.\n\t\t\t\t</td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/contact.php\">Contact</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/15\">House</a></div></td>\n<td><div id=\"footermenu\"><a
href=\"http://www.vreaubagaj.ro/\" alt=\"Trolere\" title=\"Trolere\">Trolere</a></div></td>\n<td>\n</td>\n</tr>\n</table></center>\n</center>\n\n<script
type=\"text/javascript\">\nvar gaJsHost = ((\"https:\" == document.location.protocol)
? \"https://ssl.\" : \"http://www.\");\ndocument.write(unescape(\"%3Cscript
src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));\n</script>\n<script
type=\"text/javascript\">\ntry {\nvar pageTracker = _gat._getTracker(\"UA-10775680-1\");\npageTracker._trackPageview();\n}
catch(err) {}</script>\n\n\n<script type=\"text/javascript\" src=\"http://apis.google.com/js/plusone.js\"></script>\n
\ \n</body>\n</html>\n"}
body: {string: !!python/unicode "\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0\
\ Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"\
>\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta http-equiv=\"\
Content-Type\" content=\"text/html; charset=utf-8\" />\n<title>Addic7ed.com\
\ - For all those TV Series Addic7s: Subtitles, Tv Series and Movies Talk,\
\ Forum and more -</title>\n<link href=\"css/wikisubtitles.css\" rel=\"stylesheet\"\
\ title=\"default\" type=\"text/css\" media=\"screen\"/>\n</head>\n\n<body>\n\
<center><br />\n<table border=\"0\">\n<tr>\n <td rowspan=\"9\"><a href=\"\
/\"><img height=\"200\" width=\"350\" src=\"http://www.addic7ed.com/images/addic7edheader.jpg\"\
\ border=\"0\" title=\"Addic7ed.com - Quality Subtitles for TV Shows and\
\ movies\" alt=\"Addic7ed.com - Quality Subtitles for TV Shows and movies\"\
\ /></a></td>\n</tr>\n<tr><td align=\"center\" colspan=\"2\">\n<h1><small>Download\
\ free subtitles for TV Shows and Movies.</small>&nbsp; \n<select name=\"\
applang\" class=\"inputCool\" onchange=\"changeAppLang();\" id=\"comboLang\"\
><option value=\"ar\">Arabic</option><option value=\"ca\">Catala</option><option\
\ selected=\"selected\" value=\"en\">English</option><option value=\"eu\"\
>Euskera</option><option value=\"fr\">French</option><option value=\"ga\"\
>Galician</option><option value=\"de\">German</option><option value=\"gr\"\
>Greek</option><option value=\"hu\">Hungarian</option><option value=\"it\"\
>Italian</option><option value=\"fa\">Persian</option><option value=\"pl\"\
>Polish</option><option value=\"pt\">Portuguese</option><option value=\"br\"\
>Portuguese (Brazilian)</option><option value=\"ro\">Romanian</option><option\
\ value=\"ru\">Russian</option><option value=\"es\">Spanish</option><option\
\ value=\"se\">Swedish</option></select></h1>\n</td></tr>\n<tr><td align=\"\
center\" colspan=\"2\">\n\n<script language=\"javascript\">\nvar url=\"/msgspopup.php?count=1\"\
;\t\teditwin = window.open(url, \"msgswin\", 'height=200,width=350,toolbar=0,location=0,statusbar=0,menubar=0');\
\ \n\t\tif (editwin.focus) {editwin.focus()}\n</script>\n<div id=\"hBar\"\
>\n\t\t\t <ul>\n\t\t\t\t<li><a class=\"button white\" href=\"/panel.php\"\
>My Panel</a></li><li><a class=\"button white\" href=\"/newsub.php\">Upload</a></li>\t\
\t\t<li><a class=\"button white\" href=\"/shows.php\">Shows</a></li>\n\t\t\
\t\t<li><a class=\"button white\" href=\"/allshows/a\">Air dates</a></li>\n\
\t\t\t\t<li><a class=\"button white\" href=\"http://www.sub-talk.net\">Forum</a></li>\n\
\t\t\t\t<li><a class=\"button white\" href=\"/logout.php\">Logout</a></li>\n\
\t\t\t </ul>\n\t\t\t </div>\n</td></tr> \n<tr>\n <td>\n</td><td>\n\t<g:plusone\
\ size=\"medium\"></g:plusone>\n <a href=\"http://twitter.com/addic7ed\"\
\ target=\"_blank\"><img width=\"32\" height=\"32\" src=\"http://www.addic7ed.com/images/twitter_right.png\"\
\ alt=\"Twitter\" border=\"0\" /></a>\n\t<a href=\"irc://irc.efnet.net:6667/addic7ed\"\
><img width=\"32\" height=\"32\" src=\"http://www.addic7ed.com/images/irc-right.png\"\
\ alt=\"IRC\" border=\"0\" /></a>\n<div style=\"float: right; padding-right:10%;\"\
>\n\n </td>\n </tr>\n <tr>\n <td colspan=2><iframe src=\"http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2FAddic7ed&amp;send=false&amp;layout=button_count&amp;width=450&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=tahoma&amp;height=21&amp;appId=121322186712\"\
\ scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden;\
\ width:80px; height:21px;\" allowTransparency=\"true\"></iframe>\n </td>\n\
\ </tr>\n</table>\n</center>\n\n<center>\n\n<!--[if lt IE 7]>\n <style type=\"\
text/css\">\n div, img { behavior: url(http://www.addic7ed.com/js/iepngfix.htc)\
\ }\n </style>\n<![endif]-->\n\n<center><table border=\"0\" width=\"90%\"\
>\n<tr>\n<td class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"\
\ alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"\
\ \" />Addic7ed</td>\n<td class=\"NewsTitle\"><img width=\"20\" height=\"\
20\" src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\" /><img\
\ src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\" \" />Popular\
\ Shows</td>\n<td class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"\
http://www.addic7ed.com/images/television.png\" alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\"\
\ alt=\" \" />Useful</td>\n<td class=\"NewsTitle\"><img width=\"20\" height=\"\
20\" src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\" /><img\
\ src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\" \" />Forums</td>\n\
</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/shows.php\">Browse By Shows</a></div></td>\n\
<td><div id=\"footermenu\"><a href=\"/show/4906\">12 Monkeys</a></div></td>\n\
<td><div id=\"footermenu\"><a href=\"/shows-schedule\">TV Shows Schedule</a></div></td>\n\
<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/1031-changelog/\"\
>Site Changelog</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a\
\ href=\"/movie-subtitles\">Browse By Movies</a></div></td>\n<td><div id=\"\
footermenu\"><a href=\"/show/1812\">Homeland</a></div></td>\n<td><div id=\"\
footermenu\"><a href=\"http://www.sub-talk.net/topic/2784-frequently-asked-questions/\"\
>Frequently Asked Questions</a></div></td>\n<td><div id=\"footermenu\">Support\
\ Us</div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/top-uploaders\"\
>Top Uploaders</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/620\"\
>Modern Family</a></div></td>\n<td><div id=\"footermenu\">RSS Feeds</div></td>\n\
<td><div id=\"footermenu\">Premium Accounts</div></td>\n</tr>\n<tr>\n<td><div\
\ id=\"footermenu\"><a href=\"/log.php?mode=downloaded\">Top Downloads</a></div></td>\n\
<td><div id=\"footermenu\"><a href=\"/show/466\">Glee</a></div></td>\n<td\
\ class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"\
\ alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"\
\ \"/>Tutorials</td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/thread-6-1-1.html\"\
>Video Formats</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a\
\ href=\"/log.php?mode=news\">All News</a></div></td>\n<td><div id=\"footermenu\"\
><a href=\"/show/450\">Parks and Recreation</a></div></td>\n<td><div id=\"\
footermenu\"><a href=\"http://www.sub-talk.net/topic/338-guide-to-syncing-with-subtitleedit/page__p__1485__hl__%2B+%2Bsync__fromsearch__1#entry1485\"\
>How to Synchronize Subtitles</a></div></td>\n<td><div id=\"footermenu\">Frequently\
\ Asked Questions</div></td>\n</tr> \n<tr>\n<td><div id=\"footermenu\"><a\
\ href=\"http://www.sub-talk.net\">Sub-Talk Forums</a></div></td>\n<td><div\
\ id=\"footermenu\"><a href=\"/show/1277\">Shameless (US)</a></div></td>\n\
<td><div id=\"footermenu\">What Are Subtitles</div></td>\n<td><div id=\"footermenu\"\
><a href=\"http://sub-talk.net/index.php?gid=7\">TV Shows Talk</a></div></td>\n\
</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/latest_comments.php\">Latest\
\ Comments</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/126\"\
>The Big Bang Theory</a></div></td>\n<td><div id=\"footermenu\">New Translation\
\ Tutorial</div></td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=22\"\
>Movies Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"\
http://www.vreaubagaj.ro/troler/\" title=\"Trolere ieftine\" alt=\"Trolere\
\ ieftine\">Trolere ieftine</a></div></td>\n<td><div id=\"footermenu\"><a\
\ href=\"/show/130\">Family Guy</a></div></td>\n<td><div id=\"footermenu\"\
>Upload a New Subtitle Tutorial</div></td>\n<td class=\"NewsTitle\"><img width=\"\
20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\" alt=\"\
TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\" \"\
\ />Stats</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\">Terms of Service</div></td>\n\
<td><div id=\"footermenu\"><a href=\"/show/1799\">American Horror Story</a></div></td>\n\
<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/viewthread.php?tid=294\"\
>How to have an Avatar</a></div></td>\n<td align=\"left\">.\n\t\t\t\t</td>\n\
</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/contact.php\">Contact</a></div></td>\n\
<td><div id=\"footermenu\"><a href=\"/show/15\">House</a></div></td>\n<td><div\
\ id=\"footermenu\"><a href=\"http://www.vreaubagaj.ro/\" alt=\"Trolere\"\
\ title=\"Trolere\">Trolere</a></div></td>\n<td>\n</td>\n</tr>\n</table></center>\n\
</center>\n\n<script type=\"text/javascript\">\nvar gaJsHost = ((\"https:\"\
\ == document.location.protocol) ? \"https://ssl.\" : \"http://www.\");\n\
document.write(unescape(\"%3Cscript src='\" + gaJsHost + \"google-analytics.com/ga.js'\
\ type='text/javascript'%3E%3C/script%3E\"));\n</script>\n<script type=\"\
text/javascript\">\ntry {\nvar pageTracker = _gat._getTracker(\"UA-10775680-1\"\
);\npageTracker._trackPageview();\n} catch(err) {}</script>\n\n\n<script type=\"\
text/javascript\" src=\"http://apis.google.com/js/plusone.js\"></script>\n\
\ \
\ \n</body>\n</html>\n"}
headers:
Cache-Control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
Connection: [keep-alive]
Content-Type: [text/html]
Date: ['Sat, 04 Jul 2015 17:11:36 GMT']
Expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
Location: [/]
Pragma: [no-cache]
Server: [nginx]
Set-Cookie: [PHPSESSID=sji8d1inpflpb64eg1ahge4f74; path=/]
X-Powered-By: [PHP/5.3.3]
cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
connection: [keep-alive]
content-type: [text/html]
date: ['Tue, 09 Feb 2016 15:57:53 GMT']
expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
location: [/]
pragma: [no-cache]
server: [nginx]
set-cookie: [PHPSESSID=rk916i9m3r5gl5hmvs37l6m5p0; path=/]
x-powered-by: [PHP/5.3.3]
status: {code: 302, message: Moved Temporarily}
- request:
body: null
headers:
Cookie: [PHPSESSID=sji8d1inpflpb64eg1ahge4f74]
User-Agent: [Subliminal/0.8.0]
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [PHPSESSID=rk916i9m3r5gl5hmvs37l6m5p0]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://www.addic7ed.com/panel.php
response:
body: {string: " \n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n\n<meta
http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<title>Addic7ed.com
- For all those TV Series Addic7s: Subtitles, Tv Series and Movies Talk, Forum
and more -</title>\n<link href=\"css/wikisubtitles.css\" rel=\"stylesheet\"
title=\"default\" type=\"text/css\" />\n<link rel=\"SHORTCUT ICON\" href=\"favicon.ico\"
/> \n<link rel=\"stylesheet\" type=\"text/css\" href=\"css/panel.css\" >\n</head>\n<body>\n\n<center><br
/>\n<table border=\"0\">\n<tr>\n <td rowspan=\"9\"><a href=\"/\"><img height=\"200\"
width=\"350\" src=\"http://www.addic7ed.com/images/addic7edheader.jpg\" border=\"0\"
\ title=\"Addic7ed.com - Quality Subtitles for TV Shows and movies\" alt=\"Addic7ed.com
- Quality Subtitles for TV Shows and movies\" /></a></td>\n</tr>\n<tr><td
align=\"center\" colspan=\"2\">\n<h1><small>Download free subtitles for TV
Shows and Movies.</small>&nbsp; \n<select name=\"applang\" class=\"inputCool\"
onchange=\"changeAppLang();\" id=\"comboLang\"><option value=\"ar\">Arabic</option><option
value=\"ca\">Catala</option><option selected=\"selected\" value=\"en\">English</option><option
value=\"eu\">Euskera</option><option value=\"fr\">French</option><option value=\"ga\">Galician</option><option
value=\"de\">German</option><option value=\"gr\">Greek</option><option value=\"hu\">Hungarian</option><option
value=\"it\">Italian</option><option value=\"fa\">Persian</option><option
value=\"pl\">Polish</option><option value=\"pt\">Portuguese</option><option
value=\"br\">Portuguese (Brazilian)</option><option value=\"ro\">Romanian</option><option
value=\"ru\">Russian</option><option value=\"es\">Spanish</option><option
value=\"se\">Swedish</option></select></h1>\n</td></tr>\n<tr><td align=\"center\"
colspan=\"2\">\n\n<script language=\"javascript\">\nvar url=\"/msgspopup.php?count=1\";\t\teditwin
= window.open(url, \"msgswin\", 'height=200,width=350,toolbar=0,location=0,statusbar=0,menubar=0');
\n\t\tif (editwin.focus) {editwin.focus()}\n</script>\n<div id=\"hBar\">\n\t\t\t
\ <ul>\n\t\t\t\t<li><a class=\"button white\" href=\"/panel.php\">My Panel</a></li><li><a
class=\"button white\" href=\"/newsub.php\">Upload</a></li>\t\t\t<li><a class=\"button
white\" href=\"/shows.php\">Shows</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/allshows/a\">Air dates</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"http://www.sub-talk.net\">Forum</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/logout.php\">Logout</a></li>\n\t\t\t </ul>\n\t\t\t </div>\n</td></tr>
\n<tr>\n <td>\n</td><td>\n\t<g:plusone size=\"medium\"></g:plusone>\n <a
href=\"http://twitter.com/addic7ed\" target=\"_blank\"><img width=\"32\" height=\"32\"
src=\"http://www.addic7ed.com/images/twitter_right.png\" alt=\"Twitter\" border=\"0\"
/></a>\n\t<a href=\"irc://irc.efnet.net:6667/addic7ed\"><img width=\"32\"
height=\"32\" src=\"http://www.addic7ed.com/images/irc-right.png\" alt=\"IRC\"
border=\"0\" /></a>\n<div style=\"float: right; padding-right:10%;\">\n\n
\ </td>\n </tr>\n <tr>\n <td colspan=2><iframe src=\"http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2FAddic7ed&amp;send=false&amp;layout=button_count&amp;width=450&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=tahoma&amp;height=21&amp;appId=121322186712\"
scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; width:80px;
height:21px;\" allowTransparency=\"true\"></iframe>\n </td>\n </tr>\n</table>\n</center>\n\n<center>\n\n<!--[if
lt IE 7]>\n <style type=\"text/css\">\n div, img { behavior: url(http://www.addic7ed.com/js/iepngfix.htc)
}\n </style>\n<![endif]-->\n\n\n<table width=\"94%\" border=\"0\" cellpadding=\"0\"
cellspacing=\"0\">\n <tr bgcolor=\"#FFFFFF\">\n <th width=\"14%\" height=\"37\"
bgcolor=\"#009BCA\" scope=\"row\"></th>\n \n <td width=\"83%\" height=\"37\"><center>\n<div
id=\"container\"> \n \t<table class=\"tabel\" border=\"0\">\n \t<tr>
<!-- table header -->\n \t<td class=\"tablecorner\"><img src=\"images/tl.gif\"
/></td>\n <td></td>\n <td class=\"tablecorner\"><img
src=\"images/tr.gif\" /></td>\n </tr>\n <tr>\n \t<td></td>\n
\ <td><div class=\"subItem\"><big><center>subliminal - </center></div>\n</td>\n
\ <td></td>\n </tr>\n <tr> <!-- table
footer -->\n \t<td class=\"tablecorner\"><img src=\"images/bl.gif\"
/></td>\n <td></td>\n <td class=\"tablecorner\"><img
src=\"images/br.gif\" /></td>\n </tr>\n </table>\n </div></td>\n
\ </tr>\n<tr><td><img src=\"images/invisible.gif\"></td></tr>\n <tr>\n<th
height=\"58\" bgcolor=\"#009BCA\" scope=\"row\"><div class=\"navbar\">\r\n<!--
*********************************Start Menu******************************
-->\r\n<div class=\"mainDiv\" >\r\n<div class=\"topItem\" >Personal</div>\r\n<div
class=\"dropMenu\" ><!-- -->\r\n <div class=\"subMenu\" style=\"display:inline;\">\r\n
\ <div class=\"subItem\"><a href=\"/panel_edit_profile.php\">Edit
Profile</a></div>\r\n <div class=\"subItem\"><a href=\"/mydownloads.php\">My
Downloads</a></div>\r\n <div class=\"subItem\"><a href=\"/following.php\">I'm
Following</a></div>\r\n <div class=\"subItem\"><a href=\"/myviews.php\">I've
Viewed</a></div>\r\n </div>\r\n</div>\r\n</div>\r\n<!-- *********************************End
Menu****************************** --></th>\r\n <td bgcolor=\"#009BCA\"
align=\"center\">\n<div id=\"container\"> \n \t<table class=\"tabel70\"
border=0\">\n \t<tr> <!-- table header -->\n \t<td class=\"tablecorner\"><img
src=\"/images/tl.gif\" /></td>\n <td></td>\n <td
class=\"tablecorner\"><img src=\"/images/tr.gif\" /></td>\n </tr>\n
\ <tr>\n \t<td></td>\n <td>\n<table class=\"tabel\"
border=\"0\" align=\"center\">\n <tr>\n <td align=\"center\" rowspan=\"10\"><img
src=\"http://www.gravatar.com/avatar.php?gravatar_id=db74435d70e361342a19ce6de59db4ff&size=100&rating=X&border=FF0000\"
width=\"100\" height=\"100\" /></td>\n <td></td>\n </tr>\n <tr>\n
\ <td class=\"topItem\">Addict Since</td>\n <td>2015-06-30 16:35:35</td>\n
\ <td></td>\n </tr>\n <tr>\n <td class=\"topItem\">Web
site</td>\n <td></td>\n <td></td>\n </tr>\n <tr>\n
\ <td class=\"topItem\">Signature</td>\n <td></td>\n <td></td>\n
\ </tr>\n <tr>\n <td class=\"topItem\">Gender</td>\n <td>Male</td>\n
\ <td></td>\n </tr>\n <tr>\n <td class=\"topItem\">Downloads
by User Today</td>\n <td><a href='mydownloads.php'>0 of 40</a></td>\n
\ <td></td>\n </tr>\n <tr>\n <td class=\"topItem\">Downloads
from IP Today</td>\n <td><a href='log.php?mode=ip&ip=5.51.3.145'>5</a></td>\n
\ <td></td>\n </tr>\n <tr>\n <td class=\"topItem\">Class</td>\n
\ \t<td>Regular</td>\n <td></td>\n </tr>\n <tr>\n <td
class=\"topItem\">Last Seen</td>\n <td>2015-07-04 19:11:36</td>\n <td></td>\n
\ </tr>\n <tr>\n <td class=\"topItem\">Last IP</td>\n <td><a
href='log.php?mode=ip&ip=5.51.3.145'>5.51.3.145</a></td>\n <td></td>\n
\ </tr>\n <tr>\n <td class=\"topItem\">Episodes created</td>\n
\ <td>0</td>\n <td></td>\n </tr>\n </table>\n</td>\n
\ <td></td>\n </tr>\n <tr> <!-- table
footer -->\n \t<td class=\"tablecorner\"><img src=\"/images/bl.gif\"
/></td>\n <td></td>\n <td class=\"tablecorner\"><img
src=\"/images/br.gif\" /></td>\n </tr>\n </table>\n </div>\n</td>\n
\ \n<tr bgcolor=\"#009BCA\">\n <th height=\"80\" scope=\"row\"><div
class=\"navbar\">\n<!-- *********************************Start Menu******************************
-->\n<div class=\"mainDiv\" >\n<div class=\"topItem\" >Messages</div> \n<div
class=\"dropMenu\" ><!-- -->\n\t<div class=\"subMenu\" style=\"display:inline;\">\n\t\t<div
class=\"subItem\"><a href=\"msginbox.php\">Inbox</a></div>\n\t <div
class=\"subItem\"><a href=\"msgoutbox.php\">Outbox</a></div>\n\t\t<div class=\"subItem\"><a
href=\"msgcreate.php\">Compose</a></div>\n\t</div>\n</div>\n</div>\n<!-- *********************************End
Menu****************************** --></th>\n <td colspan=\"2\" bgcolor=\"#009BCA\"></td>\n
\ </tr>\n <tr bgcolor=\"#009BCA\">\n <th height=\"74\" bgcolor=\"#009BCA\"
scope=\"row\"><div class=\"navbar\">\n<!-- *********************************Start
Menu****************************** -->\n<div class=\"mainDiv\" >\n<div class=\"topItem\"
>RSS Feeds</div> \n<div class=\"dropMenu\" ><!-- -->\n\t<div class=\"subMenu\"
style=\"display:inline;\">\n\t\t<div class=\"subItem\"><a href=\"/log.php?mode=news\">Latest
News</a></div>\n\t\t<div class=\"subItem\"><a href=\"/rss.php?mode=hotspot\">New
Releases</a></div>\n\t <div class=\"subItem\"><a href=\"/rss.php?mode=completed\">Latest
Files</a></div>\n\t\t<div class=\"subItem\"><a href=\"/rss.php?mode=edited\">Latest
Edited Files</a></div>\n\t\t<div class=\"subItem\"><a href=\"/rss.php?mode=translated\">Latest
Started Translations</a></div>\n\t\t<div class=\"subItem\"><a href=\"/rss.php?mode=versions\">Latest
New Versions</a></div>\n\t</div>\n</div>\n</div>\n<!-- *********************************End
Menu****************************** --></th>\n <td colspan=\"2\" rowspan=\"5\"></td>\n
\ </tr>\n <tr bgcolor=\"#FFFFFF\">\n <th height=\"75\" bgcolor=\"#009BCA\"
scope=\"row\"><div class=\"navbar\">\n <!-- *********************************Start
Menu****************************** -->\n <div class=\"mainDiv\" >\n <div
class=\"topItem\" >Support Addic7ed</div> \n <div class=\"dropMenu\"
><!-- -->\n <div class=\"subMenu\" style=\"display:inline;\">\n <div
class=\"subItem\"><a href=\"/contact.php\">Donations</a></div>\n </div>\n
\ </div>\n </div>\n <!-- *********************************End Menu******************************
--></th>\n </tr>\n <tr bgcolor=\"#009BCA\">\n <th height=\"70\" scope=\"row\"><div
class=\"navbar\">\n <!-- *********************************Start Menu******************************
-->\n <div class=\"mainDiv\" >\n <div class=\"topItem\" >Help & Contact</div>
\ \n <div class=\"dropMenu\" ><!-- -->\n <div class=\"subMenu\"
style=\"display:inline;\">\n <div class=\"subItem\"><a href=\"http://www.sub-talk.net/\">Forums</a></div>\n
\ <div class=\"subItem\"><a href=\"/contact.php\">Contact</a></div> \n
\ </div>\n </div>\n </div>\n <!-- *********************************End
Menu****************************** --></th>\n </tr>\n <tr bgcolor=\"#009BCA\">\n
\ <th height=\"98\" scope=\"row\"><div class=\"navbar\">\n <!-- *********************************Start
Menu****************************** -->\n <div class=\"mainDiv\" >\n <div
class=\"topItem\" >Miscellaneous</div> \n <div class=\"dropMenu\"
><!-- -->\n <div class=\"subMenu\" style=\"display:inline;\">\n <div
class=\"subItem\"><a href=\"/shows-schedule\">Shows Schedule</a></div>\n <div
class=\"subItem\"><a href=\"http://www.twitter.com/addic7ed\">Addic7ed@Twitter</a></div>\n
\ <div class=\"subItem\"><a href=\"irc://irc.efnet.net/addic7ed\">Addic7ed
on IRC</a></div>\n <div class=\"subItem\"><a href=\"http://chat.mibbit.com/?server=irc.umich.edu&channel=%23addic7ed\">Addic7ed
- IRC (WebChat)</a></div>\n <div class=\"subItem\"><a href=\"http://www.facebook.com/pages/Addic7ed-Subtitles/103460216722?ref=nf\">Addic7ed
on Facebook</a></div>\n </div>\n </div>\n </div>\n <!-- *********************************End
Menu****************************** --></th>\n </tr>\n \n\n</table>\n<script
type=\"text/javascript\" src=\"/xpmenuv21.js\"></script>\n</div>\n\n<center><table
border=\"0\" width=\"90%\">\n<tr>\n<td class=\"NewsTitle\"><img width=\"20\"
height=\"20\" src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\"
/><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\" \" />Addic7ed</td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Popular Shows</td>\n<td class=\"NewsTitle\"><img width=\"20\" height=\"20\"
src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\"
alt=\" \" />Useful</td>\n<td class=\"NewsTitle\"><img width=\"20\" height=\"20\"
src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\"
alt=\" \" />Forums</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/shows.php\">Browse
By Shows</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/4906\">12
Monkeys</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/shows-schedule\">TV
Shows Schedule</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/1031-changelog/\">Site
Changelog</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/movie-subtitles\">Browse
By Movies</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1812\">Homeland</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/2784-frequently-asked-questions/\">Frequently
Asked Questions</a></div></td>\n<td><div id=\"footermenu\">Support Us</div></td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/top-uploaders\">Top Uploaders</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/620\">Modern Family</a></div></td>\n<td><div
id=\"footermenu\">RSS Feeds</div></td>\n<td><div id=\"footermenu\">Premium
Accounts</div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=downloaded\">Top
Downloads</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/466\">Glee</a></div></td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\"/>Tutorials</td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/thread-6-1-1.html\">Video
Formats</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=news\">All
News</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/450\">Parks
and Recreation</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/338-guide-to-syncing-with-subtitleedit/page__p__1485__hl__%2B+%2Bsync__fromsearch__1#entry1485\">How
to Synchronize Subtitles</a></div></td>\n<td><div id=\"footermenu\">Frequently
Asked Questions</div></td>\n</tr> \n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net\">Sub-Talk
Forums</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1277\">Shameless
(US)</a></div></td>\n<td><div id=\"footermenu\">What Are Subtitles</div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=7\">TV Shows
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/latest_comments.php\">Latest
Comments</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/126\">The
Big Bang Theory</a></div></td>\n<td><div id=\"footermenu\">New Translation
Tutorial</div></td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=22\">Movies
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.vreaubagaj.ro/troler/\"
title=\"Trolere ieftine\" alt=\"Trolere ieftine\">Troler ieftin</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/130\">Family Guy</a></div></td>\n<td><div
id=\"footermenu\">Upload a New Subtitle Tutorial</div></td>\n<td class=\"NewsTitle\"><img
width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Stats</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\">Terms of Service</div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/1799\">American Horror Story</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/viewthread.php?tid=294\">How
to have an Avatar</a></div></td>\n<td align=\"left\">.\n\t\t\t\t</td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/contact.php\">Contact</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/15\">House</a></div></td>\n<td><div id=\"footermenu\"><a
href=\"http://www.vreaubagaj.ro/\" alt=\"Trolere\" title=\"Trolere\">Trolere</a></div></td>\n<td>\n</td>\n</tr>\n</table></center>\n</center>\n\n<script
type=\"text/javascript\">\nvar gaJsHost = ((\"https:\" == document.location.protocol)
? \"https://ssl.\" : \"http://www.\");\ndocument.write(unescape(\"%3Cscript
src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));\n</script>\n<script
type=\"text/javascript\">\ntry {\nvar pageTracker = _gat._getTracker(\"UA-10775680-1\");\npageTracker._trackPageview();\n}
catch(err) {}</script>\n\n\n<script type=\"text/javascript\" src=\"http://apis.google.com/js/plusone.js\"></script>\n
\ \n</body>\n</html>\n"}
body:
string: !!binary |
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
headers:
Cache-Control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
Connection: [keep-alive]
Content-Type: [text/html]
Date: ['Sat, 04 Jul 2015 17:11:36 GMT']
Expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
Pragma: [no-cache]
Server: [nginx]
X-Powered-By: [PHP/5.3.3]
cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
connection: [keep-alive]
content-encoding: [gzip]
content-type: [text/html]
date: ['Tue, 09 Feb 2016 15:57:53 GMT']
expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
pragma: [no-cache]
server: [nginx]
x-powered-by: [PHP/5.3.3]
status: {code: 200, message: OK}
version: 1
@@ -1,116 +1,75 @@
interactions:
- request:
body: password=lanimilbus&username=subliminal&Submit=Log+in
body: username=subliminal&password=lanimilbus&Submit=Log+in
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Length: ['53']
Content-Type: [application/x-www-form-urlencoded]
User-Agent: [Subliminal/0.8.0]
User-Agent: [Subliminal/2.0]
method: POST
uri: http://www.addic7ed.com/dologin.php
response:
body: {string: "\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta
http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<title>Addic7ed.com
- For all those TV Series Addic7s: Subtitles, Tv Series and Movies Talk, Forum
and more -</title>\n<link href=\"css/wikisubtitles.css\" rel=\"stylesheet\"
title=\"default\" type=\"text/css\" media=\"screen\"/>\n</head>\n\n<body>\n<center><br
/>\n<table border=\"0\">\n<tr>\n <td rowspan=\"9\"><a href=\"/\"><img height=\"200\"
width=\"350\" src=\"http://www.addic7ed.com/images/addic7edheader.jpg\" border=\"0\"
\ title=\"Addic7ed.com - Quality Subtitles for TV Shows and movies\" alt=\"Addic7ed.com
- Quality Subtitles for TV Shows and movies\" /></a></td>\n</tr>\n<tr><td
align=\"center\" colspan=\"2\">\n<h1><small>Download free subtitles for TV
Shows and Movies.</small>&nbsp; \n<select name=\"applang\" class=\"inputCool\"
onchange=\"changeAppLang();\" id=\"comboLang\"><option value=\"ar\">Arabic</option><option
value=\"ca\">Catala</option><option selected=\"selected\" value=\"en\">English</option><option
value=\"eu\">Euskera</option><option value=\"fr\">French</option><option value=\"ga\">Galician</option><option
value=\"de\">German</option><option value=\"gr\">Greek</option><option value=\"hu\">Hungarian</option><option
value=\"it\">Italian</option><option value=\"fa\">Persian</option><option
value=\"pl\">Polish</option><option value=\"pt\">Portuguese</option><option
value=\"br\">Portuguese (Brazilian)</option><option value=\"ro\">Romanian</option><option
value=\"ru\">Russian</option><option value=\"es\">Spanish</option><option
value=\"se\">Swedish</option></select></h1>\n</td></tr>\n<tr><td align=\"center\"
colspan=\"2\">\n<div id=\"hBar\">\n\t\t\t <ul>\n\t\t\t\t<li><a class=\"button
white\" href=\"/newaccount.php\">Signup</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/login.php\">Login</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/shows.php\">Shows</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/allshows/a\">Air dates</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"http://www.sub-talk.net\">Forum</a></li>\n\t\t\t </ul>\n\t\t\t
\ </div>\n</td></tr> \n<tr>\n <td>\n</td><td>\n\t<g:plusone size=\"medium\"></g:plusone>\n
\ <a href=\"http://twitter.com/addic7ed\" target=\"_blank\"><img width=\"32\"
height=\"32\" src=\"http://www.addic7ed.com/images/twitter_right.png\" alt=\"Twitter\"
border=\"0\" /></a>\n\t<a href=\"irc://irc.efnet.net:6667/addic7ed\"><img
width=\"32\" height=\"32\" src=\"http://www.addic7ed.com/images/irc-right.png\"
alt=\"IRC\" border=\"0\" /></a>\n<div style=\"float: right; padding-right:10%;\">\n\n
\ </td>\n </tr>\n <tr>\n <td colspan=2><iframe src=\"http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2FAddic7ed&amp;send=false&amp;layout=button_count&amp;width=450&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=tahoma&amp;height=21&amp;appId=121322186712\"
scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; width:80px;
height:21px;\" allowTransparency=\"true\"></iframe>\n </td>\n </tr>\n</table>\n</center>\n\n<center>\n\n<!--[if
lt IE 7]>\n <style type=\"text/css\">\n div, img { behavior: url(http://www.addic7ed.com/js/iepngfix.htc)
}\n </style>\n<![endif]-->\n<p align=\"center\">Wrong password </p>\n<center><table
border=\"0\" width=\"90%\">\n<tr>\n<td class=\"NewsTitle\"><img width=\"20\"
height=\"20\" src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\"
/><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\" \" />Addic7ed</td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Popular Shows</td>\n<td class=\"NewsTitle\"><img width=\"20\" height=\"20\"
src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\"
alt=\" \" />Useful</td>\n<td class=\"NewsTitle\"><img width=\"20\" height=\"20\"
src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\"
alt=\" \" />Forums</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/shows.php\">Browse
By Shows</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/4906\">12
Monkeys</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/shows-schedule\">TV
Shows Schedule</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/1031-changelog/\">Site
Changelog</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/movie-subtitles\">Browse
By Movies</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1812\">Homeland</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/2784-frequently-asked-questions/\">Frequently
Asked Questions</a></div></td>\n<td><div id=\"footermenu\">Support Us</div></td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/top-uploaders\">Top Uploaders</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/620\">Modern Family</a></div></td>\n<td><div
id=\"footermenu\">RSS Feeds</div></td>\n<td><div id=\"footermenu\">Premium
Accounts</div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=downloaded\">Top
Downloads</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/466\">Glee</a></div></td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\"/>Tutorials</td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/thread-6-1-1.html\">Video
Formats</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=news\">All
News</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/450\">Parks
and Recreation</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/338-guide-to-syncing-with-subtitleedit/page__p__1485__hl__%2B+%2Bsync__fromsearch__1#entry1485\">How
to Synchronize Subtitles</a></div></td>\n<td><div id=\"footermenu\">Frequently
Asked Questions</div></td>\n</tr> \n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net\">Sub-Talk
Forums</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1277\">Shameless
(US)</a></div></td>\n<td><div id=\"footermenu\">What Are Subtitles</div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=7\">TV Shows
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/latest_comments.php\">Latest
Comments</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/126\">The
Big Bang Theory</a></div></td>\n<td><div id=\"footermenu\">New Translation
Tutorial</div></td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=22\">Movies
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.vreaubagaj.ro/troler/\"
title=\"Trolere ieftine\" alt=\"Trolere ieftine\">Troler ieftin</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/130\">Family Guy</a></div></td>\n<td><div
id=\"footermenu\">Upload a New Subtitle Tutorial</div></td>\n<td class=\"NewsTitle\"><img
width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Stats</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\">Terms of Service</div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/1799\">American Horror Story</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/viewthread.php?tid=294\">How
to have an Avatar</a></div></td>\n<td align=\"left\">.\n\t\t\t\t</td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/contact.php\">Contact</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/15\">House</a></div></td>\n<td><div id=\"footermenu\"><a
href=\"http://www.vreaubagaj.ro/\" alt=\"Trolere\" title=\"Trolere\">Trolere</a></div></td>\n<td>\n</td>\n</tr>\n</table></center>\n</center>\n\n<script
type=\"text/javascript\">\nvar gaJsHost = ((\"https:\" == document.location.protocol)
? \"https://ssl.\" : \"http://www.\");\ndocument.write(unescape(\"%3Cscript
src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));\n</script>\n<script
type=\"text/javascript\">\ntry {\nvar pageTracker = _gat._getTracker(\"UA-10775680-1\");\npageTracker._trackPageview();\n}
catch(err) {}</script>\n\n\n<script type=\"text/javascript\" src=\"http://apis.google.com/js/plusone.js\"></script>\n
\ \n</body>\n</html>\n"}
body:
string: !!binary |
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
headers:
Cache-Control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
Connection: [keep-alive]
Content-Type: [text/html]
Date: ['Sat, 04 Jul 2015 17:11:36 GMT']
Expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
Pragma: [no-cache]
Server: [nginx]
Set-Cookie: [PHPSESSID=d3o4eeisg08alu7niut1m3oh04; path=/]
X-Powered-By: [PHP/5.3.3]
cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
connection: [keep-alive]
content-encoding: [gzip]
content-type: [text/html]
date: ['Tue, 09 Feb 2016 15:57:53 GMT']
expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
pragma: [no-cache]
server: [nginx]
set-cookie: [PHPSESSID=4ep7cufhhkte78hs23ijqj12u4; path=/]
x-powered-by: [PHP/5.3.3]
status: {code: 200, message: OK}
version: 1
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+221 -520
View File
@@ -2,526 +2,227 @@ interactions:
- request:
body: null
headers:
User-Agent: [Subliminal/0.8.0]
method: GET
uri: http://www.addic7ed.com/search.php?Submit=Search&search=The+Big+Bang+Theory
response:
body: {string: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta
http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<title>\nSearch
\"The Big Bang Theory\" Subtitle Download - Addic7ed.com - For all those TV
Series Addic7s: Subtitles, Tv Series and Movies Talk, Forum and more -</title>\n<link
href=\"http://www.addic7ed.com/css/wikisubtitles.css\" rel=\"stylesheet\"
title=\"default\" type=\"text/css\" />\n<link rel=\"SHORTCUT ICON\" href=\"favicon.ico\"
/> \n<script type=\"text/javascript\" src=\"http://www.addic7ed.com/js/mootools.v1.11.js\"></script>\n\n</head>\n<body>\n<center><br
/>\n<table border=\"0\">\n<tr>\n <td rowspan=\"9\"><a href=\"/\"><img height=\"200\"
width=\"350\" src=\"http://www.addic7ed.com/images/addic7edheader.jpg\" border=\"0\"
\ title=\"Addic7ed.com - Quality Subtitles for TV Shows and movies\" alt=\"Addic7ed.com
- Quality Subtitles for TV Shows and movies\" /></a></td>\n</tr>\n<tr><td
align=\"center\" colspan=\"2\">\n<h1><small>Download free subtitles for TV
Shows and Movies.</small>&nbsp; \n<select name=\"applang\" class=\"inputCool\"
onchange=\"changeAppLang();\" id=\"comboLang\"><option value=\"ar\">Arabic</option><option
value=\"ca\">Catala</option><option selected=\"selected\" value=\"en\">English</option><option
value=\"eu\">Euskera</option><option value=\"fr\">French</option><option value=\"ga\">Galician</option><option
value=\"de\">German</option><option value=\"gr\">Greek</option><option value=\"hu\">Hungarian</option><option
value=\"it\">Italian</option><option value=\"fa\">Persian</option><option
value=\"pl\">Polish</option><option value=\"pt\">Portuguese</option><option
value=\"br\">Portuguese (Brazilian)</option><option value=\"ro\">Romanian</option><option
value=\"ru\">Russian</option><option value=\"es\">Spanish</option><option
value=\"se\">Swedish</option></select></h1>\n</td></tr>\n<tr><td align=\"center\"
colspan=\"2\">\n<div id=\"hBar\">\n\t\t\t <ul>\n\t\t\t\t<li><a class=\"button
white\" href=\"/newaccount.php\">Signup</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/login.php\">Login</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/shows.php\">Shows</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/allshows/a\">Air dates</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"http://www.sub-talk.net\">Forum</a></li>\n\t\t\t </ul>\n\t\t\t
\ </div>\n</td></tr> \n<tr>\n <td>\n</td><td>\n\t<g:plusone size=\"medium\"></g:plusone>\n
\ <a href=\"http://twitter.com/addic7ed\" target=\"_blank\"><img width=\"32\"
height=\"32\" src=\"http://www.addic7ed.com/images/twitter_right.png\" alt=\"Twitter\"
border=\"0\" /></a>\n\t<a href=\"irc://irc.efnet.net:6667/addic7ed\"><img
width=\"32\" height=\"32\" src=\"http://www.addic7ed.com/images/irc-right.png\"
alt=\"IRC\" border=\"0\" /></a>\n<div style=\"float: right; padding-right:10%;\">\n\n
\ </td>\n </tr>\n <tr>\n <td colspan=2><iframe src=\"http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2FAddic7ed&amp;send=false&amp;layout=button_count&amp;width=450&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=tahoma&amp;height=21&amp;appId=121322186712\"
scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; width:80px;
height:21px;\" allowTransparency=\"true\"></iframe>\n </td>\n </tr>\n</table>\n</center>\n\n<center>\n\n<!--[if
lt IE 7]>\n <style type=\"text/css\">\n div, img { behavior: url(http://www.addic7ed.com/js/iepngfix.htc)
}\n </style>\n<![endif]-->\n<br />\n<center>\n<!-- MarketGidComposite Start
-->\n<div id=\"MarketGidScriptRootC13385\">\n <div id=\"MarketGidPreloadC13385\">\n
\ <a id=\"mg_add13385\" href=\"http://mgid.com/advertisers/?utm_source=widget&utm_medium=text&utm_campaign=add\"
target=\"_blank\">Place your ad here</a><br> <a href=\"http://mgid.com/\"
target=\"_blank\">Loading...</a> \n </div>\n <script>\n
\ window.MGWidgetTitle13385 = \"Promoted
Content\"; (function(){\n var
D=new Date(),d=document,b='body',ce='createElement',ac='appendChild',st='style',ds='display',n='none',gi='getElementById';\n
\ var i=d[ce]('iframe');i[st][ds]=n;d[gi](\"MarketGidScriptRootC13385\")[ac](i);try{var
iw=i.contentWindow.document;iw.open();iw.writeln(\"<ht\"+\"ml><bo\"+\"dy></bo\"+\"dy></ht\"+\"ml>\");iw.close();var
c=iw[b];}\n catch(e){var
iw=d;var c=d[gi](\"MarketGidScriptRootC13385\");}var dv=iw[ce]('div');dv.id=\"MG_ID\";dv[st][ds]=n;dv.innerHTML=13385;c[ac](dv);\n
\ var
s=iw[ce]('script');s.async='async';s.defer='defer';s.charset='utf-8';s.src=\"//jsc.mgid.com/a/d/addic7ed.com.13385.js?t=\"+D.getYear()+D.getMonth()+D.getDate()+D.getHours();c[ac](s);})();\n
\ </script>\n
\ </div>\n
\ <!--
MarketGidComposite End -->\n<script type=\"text/javascript\" src=\"//eclkspsa.com/adServe/banners?tid=ADTPOP&tagid=2\"></script>\n</center><br
/>\n\n<div id=\"container\"> \n \t<table class=\"tabel70\" border=\"0\">\n
\ \t<tr> <!-- table header -->\n \t<td class=\"tablecorner\"><img
src=\"http://www.addic7ed.com/images/tl.gif\" /></td>\n <td></td>\n
\ <td class=\"tablecorner\"><img src=\"http://www.addic7ed.com/images/tr.gif\"
/></td>\n </tr>\n <tr>\n \t<td></td>\n <td>\n<form
action=\"/search.php\" method=\"get\">\n<div align=\"center\">\n<input name=\"search\"
type=\"text\" id=\"search\" size=\"50\" value=\"The Big Bang Theory\" class=\"inputCool\"/>&nbsp;\n
<input name=\"Submit\" type=\"submit\" class=\"coolBoton\" value=\"Search\"
/></form><br />\n\n<b>187 results found</b> </div><br />\n\n<br />\n\t<center>\n\n</center>\n<br
/>\n<center>&nbsp;&nbsp;<img src=\"http://www.addic7ed.com/images/database.png\"
/> <span class=\"titulo\">\nAre you looking for <a href=\"/show/126\" >Show
<i>The Big Bang Theory</i></a>&nbsp;?</span></center><br /><br />\n\n<table
class=\"tabel\" align=\"center\" width=\"80%\" border=\"0\">\n<tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/0/Unaired_Pilot\"
debug=\"27979\">The Big Bang Theory - 01x00 - Unaired Pilot</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/1/Pilot\"
debug=\"2354\">The Big Bang Theory - 01x01 - Pilot</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/2/The_big_bran_hypothesis\"
debug=\"2420\">The Big Bang Theory - 01x02 - The big bran hypothesis</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/3/The_fuzzy_boots_collorary\"
debug=\"2563\">The Big Bang Theory - 01x03 - The fuzzy boots collorary</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/4/The_luminous_fish_effect\"
debug=\"2795\">The Big Bang Theory - 01x04 - The luminous fish effect</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/5/The_hamburger_postulate\"
debug=\"2937\">The Big Bang Theory - 01x05 - The hamburger postulate</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/6/The_middle_earth_paradigm\"
debug=\"3025\">The Big Bang Theory - 01x06 - The middle earth paradigm</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/7/The_dumpling_paradox\"
debug=\"3161\">The Big Bang Theory - 01x07 - The dumpling paradox</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/8/The_grasshopper_experiment\"
debug=\"3365\">The Big Bang Theory - 01x08 - The grasshopper experiment</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/9/The_Cooper_Hofstadter_polarization\"
debug=\"7863\">The Big Bang Theory - 01x09 - The Cooper Hofstadter polarization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/10/The_Loobenfeld_decay\"
debug=\"7943\">The Big Bang Theory - 01x10 - The Loobenfeld decay</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/11/The_pancake_batter_anomaly\"
debug=\"8069\">The Big Bang Theory - 01x11 - The pancake batter anomaly</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/12/The_Jerusalem_duality\"
debug=\"8415\">The Big Bang Theory - 01x12 - The Jerusalem duality</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/13/The_Bat_Jar_Conjceture\"
debug=\"8561\">The Big Bang Theory - 01x13 - The Bat Jar Conjceture</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/14/The_Nerdvana_Annihilation\"
debug=\"8672\">The Big Bang Theory - 01x14 - The Nerdvana Annihilation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/15/The_Shiksa_Indeterminacy\"
debug=\"8792\">The Big Bang Theory - 01x15 - The Shiksa Indeterminacy</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/16/The_Peanut_Reaction\"
debug=\"8979\">The Big Bang Theory - 01x16 - The Peanut Reaction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/17/The_Tangerine_Factor\"
debug=\"11375\">The Big Bang Theory - 01x17 - The Tangerine Factor</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/1/The_Bad_Fish_Paradigm\"
debug=\"9593\">The Big Bang Theory - 02x01 - The Bad Fish Paradigm</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/2/The_Codpiece_Topology\"
debug=\"9596\">The Big Bang Theory - 02x02 - The Codpiece Topology</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/3/The_Barbarian_Sublimation\"
debug=\"10093\">The Big Bang Theory - 02x03 - The Barbarian Sublimation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/4/The_Griffin_Equivalency\"
debug=\"10094\">The Big Bang Theory - 02x04 - The Griffin Equivalency</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/5/The_Euclid_Alternative\"
debug=\"10095\">The Big Bang Theory - 02x05 - The Euclid Alternative</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/6/The_Cooper-Nowitzki_Theorem\"
debug=\"10096\">The Big Bang Theory - 02x06 - The Cooper-Nowitzki Theorem</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/7/The_Panty_Pi%C3%B1ata_Polarization\"
debug=\"9600\">The Big Bang Theory - 02x07 - The Panty Pi\xF1ata Polarization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/8/The_Lizard-Spock_Expansion\"
debug=\"10099\">The Big Bang Theory - 02x08 - The Lizard-Spock Expansion</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/9/The_White_Asparagus_Triangulation\"
debug=\"9602\">The Big Bang Theory - 02x09 - The White Asparagus Triangulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/10/The_Vartabedian_Conundrum\"
debug=\"9605\">The Big Bang Theory - 02x10 - The Vartabedian Conundrum</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/11/The_Bath_Item_Gift_Hypothesis\"
debug=\"9608\">The Big Bang Theory - 02x11 - The Bath Item Gift Hypothesis</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/12/The_Killer_Robot_Instability\"
debug=\"10100\">The Big Bang Theory - 02x12 - The Killer Robot Instability</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/13/The_Friendship_Algorithm\"
debug=\"10102\">The Big Bang Theory - 02x13 - The Friendship Algorithm</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/14/The_Financial_Permeability\"
debug=\"10552\">The Big Bang Theory - 02x14 - The Financial Permeability</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/15/The_Maternal_Capacitance\"
debug=\"10631\">The Big Bang Theory - 02x15 - The Maternal Capacitance</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/16/The_Cushion_Saturation\"
debug=\"11144\">The Big Bang Theory - 02x16 - The Cushion Saturation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/17/The_Terminator_Decoupling\"
debug=\"11339\">The Big Bang Theory - 02x17 - The Terminator Decoupling</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/18/The_Work_Song_Nanocluster\"
debug=\"11418\">The Big Bang Theory - 02x18 - The Work Song Nanocluster</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/19/The_Dead_Hooker_Juxtaposition\"
debug=\"11809\">The Big Bang Theory - 02x19 - The Dead Hooker Juxtaposition</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/20/The_Hofstadter_Isotope\"
debug=\"11989\">The Big Bang Theory - 02x20 - The Hofstadter Isotope</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/21/The_Vegas_Renormalization\"
debug=\"12156\">The Big Bang Theory - 02x21 - The Vegas Renormalization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/22/The_Classified_Materials_Turbulence\"
debug=\"12320\">The Big Bang Theory - 02x22 - The Classified Materials Turbulence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/23/The_Monopolar_Expedition\"
debug=\"12769\">The Big Bang Theory - 02x23 - The Monopolar Expedition</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/1/The_Electric_Can_Opener_Fluctuation\"
debug=\"20679\">The Big Bang Theory - 03x01 - The Electric Can Opener Fluctuation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/2/The_Jiminy_Conjecture\"
debug=\"20792\">The Big Bang Theory - 03x02 - The Jiminy Conjecture</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/3/The_Gothowitz_Deviation\"
debug=\"21229\">The Big Bang Theory - 03x03 - The Gothowitz Deviation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/4/The_Pirate_Solution\"
debug=\"21404\">The Big Bang Theory - 03x04 - The Pirate Solution</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/5/The_Creepy_Candy_Coating_Corollary\"
debug=\"22031\">The Big Bang Theory - 03x05 - The Creepy Candy Coating Corollary</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/6/The_Cornhusker_Vortex\"
debug=\"22315\">The Big Bang Theory - 03x06 - The Cornhusker Vortex</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/7/The_Guitarist_Amplification\"
debug=\"22479\">The Big Bang Theory - 03x07 - The Guitarist Amplification</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/8/The_Adhesive_Duck_Deficiency\"
debug=\"22733\">The Big Bang Theory - 03x08 - The Adhesive Duck Deficiency</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/9/The_Vengeance_Formulation\"
debug=\"23240\">The Big Bang Theory - 03x09 - The Vengeance Formulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/10/The_Gorilla_Experiment\"
debug=\"23507\">The Big Bang Theory - 03x10 - The Gorilla Experiment</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/11/The_Maternal_Congruence\"
debug=\"23645\">The Big Bang Theory - 03x11 - The Maternal Congruence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/12/The_Psychic_Vortex\"
debug=\"23974\">The Big Bang Theory - 03x12 - The Psychic Vortex</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/13/The_Bozeman_Reaction\"
debug=\"24082\">The Big Bang Theory - 03x13 - The Bozeman Reaction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/14/The_Einstein_Approximation\"
debug=\"24334\">The Big Bang Theory - 03x14 - The Einstein Approximation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/15/The_Large_Hadron_Collision\"
debug=\"24335\">The Big Bang Theory - 03x15 - The Large Hadron Collision</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/16/The_Excelsior_Acquisition\"
debug=\"24337\">The Big Bang Theory - 03x16 - The Excelsior Acquisition</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/17/The_Precious_Fragmentation\"
debug=\"24352\">The Big Bang Theory - 03x17 - The Precious Fragmentation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/18/The_Pants_Alternative\"
debug=\"24339\">The Big Bang Theory - 03x18 - The Pants Alternative</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/19/The_Wheaton_Recurrence\"
debug=\"25230\">The Big Bang Theory - 03x19 - The Wheaton Recurrence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/20/The_Spaghetti_Catalyst\"
debug=\"26996\">The Big Bang Theory - 03x20 - The Spaghetti Catalyst</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/21/The_Plimpton_Stimulation\"
debug=\"27303\">The Big Bang Theory - 03x21 - The Plimpton Stimulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/22/The_Staircase_Implementation\"
debug=\"27531\">The Big Bang Theory - 03x22 - The Staircase Implementation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/23/The_Lunar_Excitation\"
debug=\"27712\">The Big Bang Theory - 03x23 - The Lunar Excitation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/1/The_Robotic_Manipulation\"
debug=\"32678\">The Big Bang Theory - 04x01 - The Robotic Manipulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/2/The_Cruciferous_Vegetable_Amplification\"
debug=\"33395\">The Big Bang Theory - 04x02 - The Cruciferous Vegetable Amplification</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/3/The_Zazzy_Substitution\"
debug=\"33712\">The Big Bang Theory - 04x03 - The Zazzy Substitution</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/4/The_Hot_Troll_Deviation\"
debug=\"33944\">The Big Bang Theory - 04x04 - The Hot Troll Deviation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/5/The_Desperation_Emanation\"
debug=\"34325\">The Big Bang Theory - 04x05 - The Desperation Emanation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/6/The_Irish_Pub_Formulation\"
debug=\"34542\">The Big Bang Theory - 04x06 - The Irish Pub Formulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/7/The_Apology_Insufficiency\"
debug=\"34799\">The Big Bang Theory - 04x07 - The Apology Insufficiency</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/8/The_21_Second_Excitation\"
debug=\"35076\">The Big Bang Theory - 04x08 - The 21 Second Excitation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/9/The_Boyfriend_Complexity\"
debug=\"35418\">The Big Bang Theory - 04x09 - The Boyfriend Complexity</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/10/The_Alien_Parasite_Hypothesis\"
debug=\"36421\">The Big Bang Theory - 04x10 - The Alien Parasite Hypothesis</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/11/The_Justice_League_Recombination\"
debug=\"36591\">The Big Bang Theory - 04x11 - The Justice League Recombination</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/12/The_Bus_Pants_Utilization\"
debug=\"37789\">The Big Bang Theory - 04x12 - The Bus Pants Utilization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/13/The_Love_Car_Displacement\"
debug=\"38686\">The Big Bang Theory - 04x13 - The Love Car Displacement</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/14/The_Thespian_Catalyst\"
debug=\"39279\">The Big Bang Theory - 04x14 - The Thespian Catalyst</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/15/The_Benefactor_Factor\"
debug=\"39696\">The Big Bang Theory - 04x15 - The Benefactor Factor</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/16/The_Cohabitation_Formulation\"
debug=\"40060\">The Big Bang Theory - 04x16 - The Cohabitation Formulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/17/The_Toast_Derivation\"
debug=\"40369\">The Big Bang Theory - 04x17 - The Toast Derivation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/17/The_toast_derivation\"
debug=\"70619\">The Big Bang Theory - 04x17 - The toast derivation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/18/The_Prestidigitation_Approximation\"
debug=\"41307\">The Big Bang Theory - 04x18 - The Prestidigitation Approximation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/19/The_Zarnecki_Incursion\"
debug=\"42144\">The Big Bang Theory - 04x19 - The Zarnecki Incursion</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/20/The_Herb_Garden_Germination\"
debug=\"42506\">The Big Bang Theory - 04x20 - The Herb Garden Germination</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/21/The_Agreement_Dissection\"
debug=\"43453\">The Big Bang Theory - 04x21 - The Agreement Dissection</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/22/The_Wildebeest_Implementation\"
debug=\"43963\">The Big Bang Theory - 04x22 - The Wildebeest Implementation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/23/The_Engagement_Reaction\"
debug=\"44298\">The Big Bang Theory - 04x23 - The Engagement Reaction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/24/The_Roommate_Transmogrification\"
debug=\"45211\">The Big Bang Theory - 04x24 - The Roommate Transmogrification</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/99/It_All_Started_With_A_Big_Bang\"
debug=\"61471\">The Big Bang Theory - 04x99 - It All Started With A Big Bang</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/0/Access_All_Areas\"
debug=\"61470\">The Big Bang Theory - 05x00 - Access All Areas</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/1/The_Skank_Reflex_Analysis\"
debug=\"50098\">The Big Bang Theory - 05x01 - The Skank Reflex Analysis</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/2/The_Infestation_Hypothesis\"
debug=\"50100\">The Big Bang Theory - 05x02 - The Infestation Hypothesis</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/3/The_Pulled_Groin_Extrapolation\"
debug=\"50464\">The Big Bang Theory - 05x03 - The Pulled Groin Extrapolation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/4/The_Wiggly_Finger_Catalyst\"
debug=\"50787\">The Big Bang Theory - 05x04 - The Wiggly Finger Catalyst</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/5/The_Russian_Rocket_Reaction\"
debug=\"51286\">The Big Bang Theory - 05x05 - The Russian Rocket Reaction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/6/The_Rhinitis_Revelation\"
debug=\"52502\">The Big Bang Theory - 05x06 - The Rhinitis Revelation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/7/The_Good_Guy_Fluctuation\"
debug=\"53602\">The Big Bang Theory - 05x07 - The Good Guy Fluctuation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/8/The_Isolation_Permutation\"
debug=\"54479\">The Big Bang Theory - 05x08 - The Isolation Permutation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/9/The_Ornithophobia_Diffusion\"
debug=\"54953\">The Big Bang Theory - 05x09 - The Ornithophobia Diffusion</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/10/The_Flaming_Spittoon_Acquisition\"
debug=\"55214\">The Big Bang Theory - 05x10 - The Flaming Spittoon Acquisition</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/11/The_Speckerman_Recurrence\"
debug=\"56382\">The Big Bang Theory - 05x11 - The Speckerman Recurrence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/12/The_Shiny_Trinket_Maneuver\"
debug=\"58784\">The Big Bang Theory - 05x12 - The Shiny Trinket Maneuver</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/13/The_Recombination_Hypothesis\"
debug=\"59003\">The Big Bang Theory - 05x13 - The Recombination Hypothesis</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/14/The_Beta_Test_Initiation\"
debug=\"59196\">The Big Bang Theory - 05x14 - The Beta Test Initiation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/15/The_Friendship_Contraction\"
debug=\"59388\">The Big Bang Theory - 05x15 - The Friendship Contraction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/16/The_Vacation_Solution\"
debug=\"59650\">The Big Bang Theory - 05x16 - The Vacation Solution</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/17/The_Rothman_Disintegration\"
debug=\"59867\">The Big Bang Theory - 05x17 - The Rothman Disintegration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/18/The_Werewolf_Transformation\"
debug=\"60147\">The Big Bang Theory - 05x18 - The Werewolf Transformation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/19/The_Weekend_Vortex\"
debug=\"60580\">The Big Bang Theory - 05x19 - The Weekend Vortex</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/20/The_Transporter_Malfunction\"
debug=\"61153\">The Big Bang Theory - 05x20 - The Transporter Malfunction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/21/The_Hawking_Excitation\"
debug=\"61378\">The Big Bang Theory - 05x21 - The Hawking Excitation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/22/The_Stag_Convergence\"
debug=\"61967\">The Big Bang Theory - 05x22 - The Stag Convergence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/23/The_Launch_Acceleration\"
debug=\"62208\">The Big Bang Theory - 05x23 - The Launch Acceleration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/24/The_Countdown_Reflection\"
debug=\"62389\">The Big Bang Theory - 05x24 - The Countdown Reflection</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/1/The_Date_Night_Variable\"
debug=\"67050\">The Big Bang Theory - 06x01 - The Date Night Variable</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/2/The_Decoupling_Fluctuation\"
debug=\"67274\">The Big Bang Theory - 06x02 - The Decoupling Fluctuation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/3/The_Higgs_Boson_Observation\"
debug=\"67718\">The Big Bang Theory - 06x03 - The Higgs Boson Observation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/4/The_Re_Entry_Minimization\"
debug=\"67942\">The Big Bang Theory - 06x04 - The Re Entry Minimization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/5/The_Holographic_Excitation\"
debug=\"68166\">The Big Bang Theory - 06x05 - The Holographic Excitation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/6/The_Extract_Obliteration\"
debug=\"68409\">The Big Bang Theory - 06x06 - The Extract Obliteration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/7/The_Habitation_Configuration\"
debug=\"68645\">The Big Bang Theory - 06x07 - The Habitation Configuration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/8/The_43_Peculiarity\"
debug=\"68891\">The Big Bang Theory - 06x08 - The 43 Peculiarity</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/9/The_Parking_Spot_Escalation\"
debug=\"69291\">The Big Bang Theory - 06x09 - The Parking Spot Escalation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/10/The_Fish_Guts_Displacement\"
debug=\"69486\">The Big Bang Theory - 06x10 - The Fish Guts Displacement</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/11/The_Santa_Simulation\"
debug=\"69725\">The Big Bang Theory - 06x11 - The Santa Simulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/12/The_Egg_Salad_Equivalency\"
debug=\"70156\">The Big Bang Theory - 06x12 - The Egg Salad Equivalency</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/13/The_Bakersfield_Expedition\"
debug=\"70438\">The Big Bang Theory - 06x13 - The Bakersfield Expedition</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/14/The_Cooper_Kripke_Inversion\"
debug=\"71175\">The Big Bang Theory - 06x14 - The Cooper Kripke Inversion</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/15/The_Spoiler_Alert_Segmentation\"
debug=\"71445\">The Big Bang Theory - 06x15 - The Spoiler Alert Segmentation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/16/The_Tangible_Affection_Proof\"
debug=\"71783\">The Big Bang Theory - 06x16 - The Tangible Affection Proof</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/17/The_Monster_Isolation\"
debug=\"72089\">The Big Bang Theory - 06x17 - The Monster Isolation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/18/The_Contractual_Obligation_Implementation\"
debug=\"72726\">The Big Bang Theory - 06x18 - The Contractual Obligation Implementation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/19/The_Closet_Reconfiguration\"
debug=\"73084\">The Big Bang Theory - 06x19 - The Closet Reconfiguration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/20/The_Tenure_Turbulence\"
debug=\"73969\">The Big Bang Theory - 06x20 - The Tenure Turbulence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/21/The_Closure_Alternative\"
debug=\"74818\">The Big Bang Theory - 06x21 - The Closure Alternative</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/22/The_Proton_Resurgence\"
debug=\"75066\">The Big Bang Theory - 06x22 - The Proton Resurgence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/23/The_Love_Spell_Potential\"
debug=\"75335\">The Big Bang Theory - 06x23 - The Love Spell Potential</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/24/The_Bon_Voyage_Reaction\"
debug=\"75567\">The Big Bang Theory - 06x24 - The Bon Voyage Reaction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/1/The_Hofstadter_Insufficiency\"
debug=\"79523\">The Big Bang Theory - 07x01 - The Hofstadter Insufficiency</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/2/The_Deception_Verification\"
debug=\"79524\">The Big Bang Theory - 07x02 - The Deception Verification</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/3/The_Scavenger_Vortex\"
debug=\"79722\">The Big Bang Theory - 07x03 - The Scavenger Vortex</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/4/The_Raiders_Minimization\"
debug=\"80031\">The Big Bang Theory - 07x04 - The Raiders Minimization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/5/The_Workplace_Proximity\"
debug=\"80254\">The Big Bang Theory - 07x05 - The Workplace Proximity</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/6/The_Romance_Resonance\"
debug=\"80518\">The Big Bang Theory - 07x06 - The Romance Resonance</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/7/The_Proton_Displacement\"
debug=\"81067\">The Big Bang Theory - 07x07 - The Proton Displacement</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/8/The_Itchy_Brain_Simulation\"
debug=\"81272\">The Big Bang Theory - 07x08 - The Itchy Brain Simulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/9/The_Thanksgiving_Decoupling\"
debug=\"81525\">The Big Bang Theory - 07x09 - The Thanksgiving Decoupling</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/10/The_Discovery_Dissipation\"
debug=\"82096\">The Big Bang Theory - 07x10 - The Discovery Dissipation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/11/The_Cooper_Extraction\"
debug=\"82274\">The Big Bang Theory - 07x11 - The Cooper Extraction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/12/The_Hesitation_Ramification\"
debug=\"82674\">The Big Bang Theory - 07x12 - The Hesitation Ramification</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/13/The_Occupation_Recalibration\"
debug=\"82916\">The Big Bang Theory - 07x13 - The Occupation Recalibration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/14/The_Convention_Conundrum\"
debug=\"83752\">The Big Bang Theory - 07x14 - The Convention Conundrum</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/15/The_Locomotive_Manipulation\"
debug=\"83978\">The Big Bang Theory - 07x15 - The Locomotive Manipulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/16/The_Table_Polarization\"
debug=\"84736\">The Big Bang Theory - 07x16 - The Table Polarization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/17/The_Friendship_Turbulence\"
debug=\"85106\">The Big Bang Theory - 07x17 - The Friendship Turbulence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/18/The_Mommy_Observation\"
debug=\"85542\">The Big Bang Theory - 07x18 - The Mommy Observation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/19/The_Indecision_Amalgamation\"
debug=\"86494\">The Big Bang Theory - 07x19 - The Indecision Amalgamation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/20/The_Relationship_Diremption\"
debug=\"86744\">The Big Bang Theory - 07x20 - The Relationship Diremption</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/21/The_Anything_Can_Happen_Recurrence\"
debug=\"87403\">The Big Bang Theory - 07x21 - The Anything Can Happen Recurrence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/22/The_Proton_Transmogrification\"
debug=\"87725\">The Big Bang Theory - 07x22 - The Proton Transmogrification</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/23/The_Gorilla_Dissolution\"
debug=\"87935\">The Big Bang Theory - 07x23 - The Gorilla Dissolution</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/24/The_Status_Quo_Combustion\"
debug=\"88184\">The Big Bang Theory - 07x24 - The Status Quo Combustion</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/1/The_Locomotion_Interruption\"
debug=\"92140\">The Big Bang Theory - 08x01 - The Locomotion Interruption</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/2/The_Junior_Professor_Solution\"
debug=\"92142\">The Big Bang Theory - 08x02 - The Junior Professor Solution</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/3/The_First_Pitch_Insufficiency\"
debug=\"92307\">The Big Bang Theory - 08x03 - The First Pitch Insufficiency</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/4/The_Hook-up_Reverberation\"
debug=\"92545\">The Big Bang Theory - 08x04 - The Hook-up Reverberation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/5/The_Focus_Attenuation\"
debug=\"92757\">The Big Bang Theory - 08x05 - The Focus Attenuation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/6/The_Expedition_Approximation\"
debug=\"93043\">The Big Bang Theory - 08x06 - The Expedition Approximation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/7/The_Misinterpretation_Agitation\"
debug=\"93361\">The Big Bang Theory - 08x07 - The Misinterpretation Agitation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/8/The_Prom_Equivalency\"
debug=\"93612\">The Big Bang Theory - 08x08 - The Prom Equivalency</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/9/The_Septum_Deviation\"
debug=\"93873\">The Big Bang Theory - 08x09 - The Septum Deviation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/10/The_Champagne_Reflection\"
debug=\"94116\">The Big Bang Theory - 08x10 - The Champagne Reflection</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/11/The_Clean_Room_Infiltration\"
debug=\"94911\">The Big Bang Theory - 08x11 - The Clean Room Infiltration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/12/The_Space_Probe_Disintegration\"
debug=\"95594\">The Big Bang Theory - 08x12 - The Space Probe Disintegration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/13/The_Anxiety_Optimization\"
debug=\"96388\">The Big Bang Theory - 08x13 - The Anxiety Optimization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/14/The_Troll_Manifestation\"
debug=\"96654\">The Big Bang Theory - 08x14 - The Troll Manifestation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/15/The_Comic_Book_Store_Regeneration\"
debug=\"97289\">The Big Bang Theory - 08x15 - The Comic Book Store Regeneration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/16/The_Intimacy_Acceleration\"
debug=\"97610\">The Big Bang Theory - 08x16 - The Intimacy Acceleration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/17/The_Colonization_Application\"
debug=\"97863\">The Big Bang Theory - 08x17 - The Colonization Application</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/18/The_Leftover_Thermalization\"
debug=\"98196\">The Big Bang Theory - 08x18 - The Leftover Thermalization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/19/The_Skywalker_Incursion\"
debug=\"99011\">The Big Bang Theory - 08x19 - The Skywalker Incursion</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/20/The_Fortification_Implementation\"
debug=\"99310\">The Big Bang Theory - 08x20 - The Fortification Implementation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/21/The_Communication_Deterioration\"
debug=\"99595\">The Big Bang Theory - 08x21 - The Communication Deterioration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/22/The_Graduation_Transmission\"
debug=\"99816\">The Big Bang Theory - 08x22 - The Graduation Transmission</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/23/The_Maternal_Combustion\"
debug=\"100083\">The Big Bang Theory - 08x23 - The Maternal Combustion</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/24/The_Commitment_Determination\"
debug=\"100419\">The Big Bang Theory - 08x24 - The Commitment Determination</a></td></tr><tr><p>\n<p>\n</table>\n</td>\n
\ <td></td>\n </tr>\n <tr> <!-- table
footer -->\n \t<td class=\"tablecorner\"><img src=\"http://www.addic7ed.com/images/bl.gif\"
/></td>\n <td></td>\n <td class=\"tablecorner\"><img
src=\"http://www.addic7ed.com/images/br.gif\" /></td>\n </tr>\n
\ </table>\n </div>\n<iframe src=\"//s.ato.mx/p.html#id=7869&size=728x90\"
width=\"728\" height=\"90\" frameborder=\"0\" scrolling=\"no\" marginwidth=\"0\"
marginheight=\"0\"></iframe>\n\n\n<center><table border=\"0\" width=\"90%\">\n<tr>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Addic7ed</td>\n<td class=\"NewsTitle\"><img width=\"20\" height=\"20\"
src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\"
alt=\" \" />Popular Shows</td>\n<td class=\"NewsTitle\"><img width=\"20\"
height=\"20\" src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\"
/><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\" \" />Useful</td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Forums</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/shows.php\">Browse
By Shows</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/4906\">12
Monkeys</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/shows-schedule\">TV
Shows Schedule</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/1031-changelog/\">Site
Changelog</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/movie-subtitles\">Browse
By Movies</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1812\">Homeland</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/2784-frequently-asked-questions/\">Frequently
Asked Questions</a></div></td>\n<td><div id=\"footermenu\">Support Us</div></td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/top-uploaders\">Top Uploaders</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/620\">Modern Family</a></div></td>\n<td><div
id=\"footermenu\">RSS Feeds</div></td>\n<td><div id=\"footermenu\">Premium
Accounts</div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=downloaded\">Top
Downloads</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/466\">Glee</a></div></td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\"/>Tutorials</td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/thread-6-1-1.html\">Video
Formats</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=news\">All
News</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/450\">Parks
and Recreation</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/338-guide-to-syncing-with-subtitleedit/page__p__1485__hl__%2B+%2Bsync__fromsearch__1#entry1485\">How
to Synchronize Subtitles</a></div></td>\n<td><div id=\"footermenu\">Frequently
Asked Questions</div></td>\n</tr> \n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net\">Sub-Talk
Forums</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1277\">Shameless
(US)</a></div></td>\n<td><div id=\"footermenu\">What Are Subtitles</div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=7\">TV Shows
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/latest_comments.php\">Latest
Comments</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/126\">The
Big Bang Theory</a></div></td>\n<td><div id=\"footermenu\">New Translation
Tutorial</div></td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=22\">Movies
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.vreaubagaj.ro/troler/\"
title=\"Trolere ieftine\" alt=\"Trolere ieftine\">Troler ieftin</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/130\">Family Guy</a></div></td>\n<td><div
id=\"footermenu\">Upload a New Subtitle Tutorial</div></td>\n<td class=\"NewsTitle\"><img
width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Stats</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\">Terms of Service</div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/1799\">American Horror Story</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/viewthread.php?tid=294\">How
to have an Avatar</a></div></td>\n<td align=\"left\">.\n\t\t\t\t</td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/contact.php\">Contact</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/15\">House</a></div></td>\n<td><div id=\"footermenu\"><a
href=\"http://www.vreaubagaj.ro/\" alt=\"Trolere\" title=\"Trolere\">Trolere</a></div></td>\n<td>\n</td>\n</tr>\n</table></center>\n</center>\n\n<script
type=\"text/javascript\">\nvar gaJsHost = ((\"https:\" == document.location.protocol)
? \"https://ssl.\" : \"http://www.\");\ndocument.write(unescape(\"%3Cscript
src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));\n</script>\n<script
type=\"text/javascript\">\ntry {\nvar pageTracker = _gat._getTracker(\"UA-10775680-1\");\npageTracker._trackPageview();\n}
catch(err) {}</script>\n\n\n<script type=\"text/javascript\" src=\"http://apis.google.com/js/plusone.js\"></script>\n
\ \n</body></html>\n"}
headers:
Cache-Control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Type: [text/html]
Date: ['Sat, 04 Jul 2015 17:11:36 GMT']
Expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
Pragma: [no-cache]
Server: [nginx]
Set-Cookie: [PHPSESSID=j0e42neln9hhc3oi0um9k4mkr6; path=/]
X-Powered-By: [PHP/5.3.3]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://www.addic7ed.com/search.php?search=The+Big+Bang+Theory&Submit=Search
response:
body:
string: !!binary |
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
headers:
cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
connection: [keep-alive]
content-encoding: [gzip]
content-type: [text/html]
date: ['Tue, 09 Feb 2016 15:57:54 GMT']
expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
pragma: [no-cache]
server: [nginx]
set-cookie: [PHPSESSID=vtudob3ke7abdfsgve42bidls4; path=/]
x-powered-by: [PHP/5.3.3]
status: {code: 200, message: OK}
version: 1
@@ -2,152 +2,96 @@ interactions:
- request:
body: null
headers:
User-Agent: [Subliminal/0.8.0]
method: GET
uri: http://www.addic7ed.com/search.php?Submit=Search&search=The+Big+How+I+Met+Your+Mother
response:
body: {string: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta
http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<title>\nSearch
\"The Big How I Met Your Mother\" Subtitle Download - Addic7ed.com - For all
those TV Series Addic7s: Subtitles, Tv Series and Movies Talk, Forum and more
-</title>\n<link href=\"http://www.addic7ed.com/css/wikisubtitles.css\" rel=\"stylesheet\"
title=\"default\" type=\"text/css\" />\n<link rel=\"SHORTCUT ICON\" href=\"favicon.ico\"
/> \n<script type=\"text/javascript\" src=\"http://www.addic7ed.com/js/mootools.v1.11.js\"></script>\n\n</head>\n<body>\n<center><br
/>\n<table border=\"0\">\n<tr>\n <td rowspan=\"9\"><a href=\"/\"><img height=\"200\"
width=\"350\" src=\"http://www.addic7ed.com/images/addic7edheader.jpg\" border=\"0\"
\ title=\"Addic7ed.com - Quality Subtitles for TV Shows and movies\" alt=\"Addic7ed.com
- Quality Subtitles for TV Shows and movies\" /></a></td>\n</tr>\n<tr><td
align=\"center\" colspan=\"2\">\n<h1><small>Download free subtitles for TV
Shows and Movies.</small>&nbsp; \n<select name=\"applang\" class=\"inputCool\"
onchange=\"changeAppLang();\" id=\"comboLang\"><option value=\"ar\">Arabic</option><option
value=\"ca\">Catala</option><option selected=\"selected\" value=\"en\">English</option><option
value=\"eu\">Euskera</option><option value=\"fr\">French</option><option value=\"ga\">Galician</option><option
value=\"de\">German</option><option value=\"gr\">Greek</option><option value=\"hu\">Hungarian</option><option
value=\"it\">Italian</option><option value=\"fa\">Persian</option><option
value=\"pl\">Polish</option><option value=\"pt\">Portuguese</option><option
value=\"br\">Portuguese (Brazilian)</option><option value=\"ro\">Romanian</option><option
value=\"ru\">Russian</option><option value=\"es\">Spanish</option><option
value=\"se\">Swedish</option></select></h1>\n</td></tr>\n<tr><td align=\"center\"
colspan=\"2\">\n<div id=\"hBar\">\n\t\t\t <ul>\n\t\t\t\t<li><a class=\"button
white\" href=\"/newaccount.php\">Signup</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/login.php\">Login</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/shows.php\">Shows</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/allshows/a\">Air dates</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"http://www.sub-talk.net\">Forum</a></li>\n\t\t\t </ul>\n\t\t\t
\ </div>\n</td></tr> \n<tr>\n <td>\n</td><td>\n\t<g:plusone size=\"medium\"></g:plusone>\n
\ <a href=\"http://twitter.com/addic7ed\" target=\"_blank\"><img width=\"32\"
height=\"32\" src=\"http://www.addic7ed.com/images/twitter_right.png\" alt=\"Twitter\"
border=\"0\" /></a>\n\t<a href=\"irc://irc.efnet.net:6667/addic7ed\"><img
width=\"32\" height=\"32\" src=\"http://www.addic7ed.com/images/irc-right.png\"
alt=\"IRC\" border=\"0\" /></a>\n<div style=\"float: right; padding-right:10%;\">\n\n
\ </td>\n </tr>\n <tr>\n <td colspan=2><iframe src=\"http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2FAddic7ed&amp;send=false&amp;layout=button_count&amp;width=450&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=tahoma&amp;height=21&amp;appId=121322186712\"
scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; width:80px;
height:21px;\" allowTransparency=\"true\"></iframe>\n </td>\n </tr>\n</table>\n</center>\n\n<center>\n\n<!--[if
lt IE 7]>\n <style type=\"text/css\">\n div, img { behavior: url(http://www.addic7ed.com/js/iepngfix.htc)
}\n </style>\n<![endif]-->\n<br />\n<center>\n<!-- MarketGidComposite Start
-->\n<div id=\"MarketGidScriptRootC13385\">\n <div id=\"MarketGidPreloadC13385\">\n
\ <a id=\"mg_add13385\" href=\"http://mgid.com/advertisers/?utm_source=widget&utm_medium=text&utm_campaign=add\"
target=\"_blank\">Place your ad here</a><br> <a href=\"http://mgid.com/\"
target=\"_blank\">Loading...</a> \n </div>\n <script>\n
\ window.MGWidgetTitle13385 = \"Promoted
Content\"; (function(){\n var
D=new Date(),d=document,b='body',ce='createElement',ac='appendChild',st='style',ds='display',n='none',gi='getElementById';\n
\ var i=d[ce]('iframe');i[st][ds]=n;d[gi](\"MarketGidScriptRootC13385\")[ac](i);try{var
iw=i.contentWindow.document;iw.open();iw.writeln(\"<ht\"+\"ml><bo\"+\"dy></bo\"+\"dy></ht\"+\"ml>\");iw.close();var
c=iw[b];}\n catch(e){var
iw=d;var c=d[gi](\"MarketGidScriptRootC13385\");}var dv=iw[ce]('div');dv.id=\"MG_ID\";dv[st][ds]=n;dv.innerHTML=13385;c[ac](dv);\n
\ var
s=iw[ce]('script');s.async='async';s.defer='defer';s.charset='utf-8';s.src=\"//jsc.mgid.com/a/d/addic7ed.com.13385.js?t=\"+D.getYear()+D.getMonth()+D.getDate()+D.getHours();c[ac](s);})();\n
\ </script>\n
\ </div>\n
\ <!--
MarketGidComposite End -->\n<script type=\"text/javascript\" src=\"//eclkspsa.com/adServe/banners?tid=ADTPOP&tagid=2\"></script>\n</center><br
/>\n\n<div id=\"container\"> \n \t<table class=\"tabel70\" border=\"0\">\n
\ \t<tr> <!-- table header -->\n \t<td class=\"tablecorner\"><img
src=\"http://www.addic7ed.com/images/tl.gif\" /></td>\n <td></td>\n
\ <td class=\"tablecorner\"><img src=\"http://www.addic7ed.com/images/tr.gif\"
/></td>\n </tr>\n <tr>\n \t<td></td>\n <td>\n<form
action=\"/search.php\" method=\"get\">\n<div align=\"center\">\n<input name=\"search\"
type=\"text\" id=\"search\" size=\"50\" value=\"The Big How I Met Your Mother\"
class=\"inputCool\"/>&nbsp;\n <input name=\"Submit\" type=\"submit\" class=\"coolBoton\"
value=\"Search\" /></form><br />\n\n<b>1 results found</b> </div><br />\n\n<br
/>\n\t<center>\n\n</center>\n<br />\n\n<table class=\"tabel\" align=\"center\"
width=\"80%\" border=\"0\">\n<tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/The_Big_Bang_Theory/3/3/The_Gothowitz_Deviation\"
debug=\"21229\">The Big Bang Theory - 03x03 - The Gothowitz Deviation</a></td></tr><tr><p>\n<p>\n</table>\n</td>\n
\ <td></td>\n </tr>\n <tr> <!-- table
footer -->\n \t<td class=\"tablecorner\"><img src=\"http://www.addic7ed.com/images/bl.gif\"
/></td>\n <td></td>\n <td class=\"tablecorner\"><img
src=\"http://www.addic7ed.com/images/br.gif\" /></td>\n </tr>\n
\ </table>\n </div>\n<iframe src=\"//s.ato.mx/p.html#id=7869&size=728x90\"
width=\"728\" height=\"90\" frameborder=\"0\" scrolling=\"no\" marginwidth=\"0\"
marginheight=\"0\"></iframe>\n\n\n<center><table border=\"0\" width=\"90%\">\n<tr>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Addic7ed</td>\n<td class=\"NewsTitle\"><img width=\"20\" height=\"20\"
src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\"
alt=\" \" />Popular Shows</td>\n<td class=\"NewsTitle\"><img width=\"20\"
height=\"20\" src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\"
/><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\" \" />Useful</td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Forums</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/shows.php\">Browse
By Shows</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/4906\">12
Monkeys</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/shows-schedule\">TV
Shows Schedule</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/1031-changelog/\">Site
Changelog</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/movie-subtitles\">Browse
By Movies</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1812\">Homeland</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/2784-frequently-asked-questions/\">Frequently
Asked Questions</a></div></td>\n<td><div id=\"footermenu\">Support Us</div></td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/top-uploaders\">Top Uploaders</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/620\">Modern Family</a></div></td>\n<td><div
id=\"footermenu\">RSS Feeds</div></td>\n<td><div id=\"footermenu\">Premium
Accounts</div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=downloaded\">Top
Downloads</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/466\">Glee</a></div></td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\"/>Tutorials</td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/thread-6-1-1.html\">Video
Formats</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=news\">All
News</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/450\">Parks
and Recreation</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/338-guide-to-syncing-with-subtitleedit/page__p__1485__hl__%2B+%2Bsync__fromsearch__1#entry1485\">How
to Synchronize Subtitles</a></div></td>\n<td><div id=\"footermenu\">Frequently
Asked Questions</div></td>\n</tr> \n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net\">Sub-Talk
Forums</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1277\">Shameless
(US)</a></div></td>\n<td><div id=\"footermenu\">What Are Subtitles</div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=7\">TV Shows
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/latest_comments.php\">Latest
Comments</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/126\">The
Big Bang Theory</a></div></td>\n<td><div id=\"footermenu\">New Translation
Tutorial</div></td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=22\">Movies
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.vreaubagaj.ro/troler/\"
title=\"Trolere ieftine\" alt=\"Trolere ieftine\">Troler ieftin</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/130\">Family Guy</a></div></td>\n<td><div
id=\"footermenu\">Upload a New Subtitle Tutorial</div></td>\n<td class=\"NewsTitle\"><img
width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Stats</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\">Terms of Service</div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/1799\">American Horror Story</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/viewthread.php?tid=294\">How
to have an Avatar</a></div></td>\n<td align=\"left\">.\n\t\t\t\t</td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/contact.php\">Contact</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/15\">House</a></div></td>\n<td><div id=\"footermenu\"><a
href=\"http://www.vreaubagaj.ro/\" alt=\"Trolere\" title=\"Trolere\">Trolere</a></div></td>\n<td>\n</td>\n</tr>\n</table></center>\n</center>\n\n<script
type=\"text/javascript\">\nvar gaJsHost = ((\"https:\" == document.location.protocol)
? \"https://ssl.\" : \"http://www.\");\ndocument.write(unescape(\"%3Cscript
src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));\n</script>\n<script
type=\"text/javascript\">\ntry {\nvar pageTracker = _gat._getTracker(\"UA-10775680-1\");\npageTracker._trackPageview();\n}
catch(err) {}</script>\n\n\n<script type=\"text/javascript\" src=\"http://apis.google.com/js/plusone.js\"></script>\n
\ \n</body></html>\n"}
headers:
Cache-Control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Type: [text/html]
Date: ['Sat, 04 Jul 2015 17:11:40 GMT']
Expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
Pragma: [no-cache]
Server: [nginx]
Set-Cookie: [PHPSESSID=2mcc47dmkf0qb4ffmvushb3pl0; path=/]
X-Powered-By: [PHP/5.3.3]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://www.addic7ed.com/search.php?search=The+Big+How+I+Met+Your+Mother&Submit=Search
response:
body:
string: !!binary |
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
//Y3/gsAd1cq8jQAAA==
headers:
cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
connection: [keep-alive]
content-encoding: [gzip]
content-type: [text/html]
date: ['Tue, 09 Feb 2016 15:57:58 GMT']
expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
pragma: [no-cache]
server: [nginx]
set-cookie: [PHPSESSID=nrofdh6anqhelau1gujne69cs4; path=/]
x-powered-by: [PHP/5.3.3]
status: {code: 200, message: OK}
version: 1
@@ -2,532 +2,227 @@ interactions:
- request:
body: null
headers:
User-Agent: [Subliminal/0.8.0]
method: GET
uri: http://www.addic7ed.com/search.php?Submit=Search&search=The+Big+Bang
response:
body: {string: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta
http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<title>\nSearch
\"The Big Bang\" Subtitle Download - Addic7ed.com - For all those TV Series
Addic7s: Subtitles, Tv Series and Movies Talk, Forum and more -</title>\n<link
href=\"http://www.addic7ed.com/css/wikisubtitles.css\" rel=\"stylesheet\"
title=\"default\" type=\"text/css\" />\n<link rel=\"SHORTCUT ICON\" href=\"favicon.ico\"
/> \n<script type=\"text/javascript\" src=\"http://www.addic7ed.com/js/mootools.v1.11.js\"></script>\n\n</head>\n<body>\n<center><br
/>\n<table border=\"0\">\n<tr>\n <td rowspan=\"9\"><a href=\"/\"><img height=\"200\"
width=\"350\" src=\"http://www.addic7ed.com/images/addic7edheader.jpg\" border=\"0\"
\ title=\"Addic7ed.com - Quality Subtitles for TV Shows and movies\" alt=\"Addic7ed.com
- Quality Subtitles for TV Shows and movies\" /></a></td>\n</tr>\n<tr><td
align=\"center\" colspan=\"2\">\n<h1><small>Download free subtitles for TV
Shows and Movies.</small>&nbsp; \n<select name=\"applang\" class=\"inputCool\"
onchange=\"changeAppLang();\" id=\"comboLang\"><option value=\"ar\">Arabic</option><option
value=\"ca\">Catala</option><option selected=\"selected\" value=\"en\">English</option><option
value=\"eu\">Euskera</option><option value=\"fr\">French</option><option value=\"ga\">Galician</option><option
value=\"de\">German</option><option value=\"gr\">Greek</option><option value=\"hu\">Hungarian</option><option
value=\"it\">Italian</option><option value=\"fa\">Persian</option><option
value=\"pl\">Polish</option><option value=\"pt\">Portuguese</option><option
value=\"br\">Portuguese (Brazilian)</option><option value=\"ro\">Romanian</option><option
value=\"ru\">Russian</option><option value=\"es\">Spanish</option><option
value=\"se\">Swedish</option></select></h1>\n</td></tr>\n<tr><td align=\"center\"
colspan=\"2\">\n<div id=\"hBar\">\n\t\t\t <ul>\n\t\t\t\t<li><a class=\"button
white\" href=\"/newaccount.php\">Signup</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/login.php\">Login</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/shows.php\">Shows</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/allshows/a\">Air dates</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"http://www.sub-talk.net\">Forum</a></li>\n\t\t\t </ul>\n\t\t\t
\ </div>\n</td></tr> \n<tr>\n <td>\n</td><td>\n\t<g:plusone size=\"medium\"></g:plusone>\n
\ <a href=\"http://twitter.com/addic7ed\" target=\"_blank\"><img width=\"32\"
height=\"32\" src=\"http://www.addic7ed.com/images/twitter_right.png\" alt=\"Twitter\"
border=\"0\" /></a>\n\t<a href=\"irc://irc.efnet.net:6667/addic7ed\"><img
width=\"32\" height=\"32\" src=\"http://www.addic7ed.com/images/irc-right.png\"
alt=\"IRC\" border=\"0\" /></a>\n<div style=\"float: right; padding-right:10%;\">\n\n
\ </td>\n </tr>\n <tr>\n <td colspan=2><iframe src=\"http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2FAddic7ed&amp;send=false&amp;layout=button_count&amp;width=450&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=tahoma&amp;height=21&amp;appId=121322186712\"
scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; width:80px;
height:21px;\" allowTransparency=\"true\"></iframe>\n </td>\n </tr>\n</table>\n</center>\n\n<center>\n\n<!--[if
lt IE 7]>\n <style type=\"text/css\">\n div, img { behavior: url(http://www.addic7ed.com/js/iepngfix.htc)
}\n </style>\n<![endif]-->\n<br />\n<center>\n<!-- MarketGidComposite Start
-->\n<div id=\"MarketGidScriptRootC13385\">\n <div id=\"MarketGidPreloadC13385\">\n
\ <a id=\"mg_add13385\" href=\"http://mgid.com/advertisers/?utm_source=widget&utm_medium=text&utm_campaign=add\"
target=\"_blank\">Place your ad here</a><br> <a href=\"http://mgid.com/\"
target=\"_blank\">Loading...</a> \n </div>\n <script>\n
\ window.MGWidgetTitle13385 = \"Promoted
Content\"; (function(){\n var
D=new Date(),d=document,b='body',ce='createElement',ac='appendChild',st='style',ds='display',n='none',gi='getElementById';\n
\ var i=d[ce]('iframe');i[st][ds]=n;d[gi](\"MarketGidScriptRootC13385\")[ac](i);try{var
iw=i.contentWindow.document;iw.open();iw.writeln(\"<ht\"+\"ml><bo\"+\"dy></bo\"+\"dy></ht\"+\"ml>\");iw.close();var
c=iw[b];}\n catch(e){var
iw=d;var c=d[gi](\"MarketGidScriptRootC13385\");}var dv=iw[ce]('div');dv.id=\"MG_ID\";dv[st][ds]=n;dv.innerHTML=13385;c[ac](dv);\n
\ var
s=iw[ce]('script');s.async='async';s.defer='defer';s.charset='utf-8';s.src=\"//jsc.mgid.com/a/d/addic7ed.com.13385.js?t=\"+D.getYear()+D.getMonth()+D.getDate()+D.getHours();c[ac](s);})();\n
\ </script>\n
\ </div>\n
\ <!--
MarketGidComposite End -->\n<script type=\"text/javascript\" src=\"//eclkspsa.com/adServe/banners?tid=ADTPOP&tagid=2\"></script>\n</center><br
/>\n\n<div id=\"container\"> \n \t<table class=\"tabel70\" border=\"0\">\n
\ \t<tr> <!-- table header -->\n \t<td class=\"tablecorner\"><img
src=\"http://www.addic7ed.com/images/tl.gif\" /></td>\n <td></td>\n
\ <td class=\"tablecorner\"><img src=\"http://www.addic7ed.com/images/tr.gif\"
/></td>\n </tr>\n <tr>\n \t<td></td>\n <td>\n<form
action=\"/search.php\" method=\"get\">\n<div align=\"center\">\n<input name=\"search\"
type=\"text\" id=\"search\" size=\"50\" value=\"The Big Bang\" class=\"inputCool\"/>&nbsp;\n
<input name=\"Submit\" type=\"submit\" class=\"coolBoton\" value=\"Search\"
/></form><br />\n\n<b>190 results found</b> </div><br />\n\n<br />\n\t<center>\n\n</center>\n<br
/>\n<center>&nbsp;&nbsp;<img src=\"http://www.addic7ed.com/images/database.png\"
/> <span class=\"titulo\">\nAre you looking for <a href=\"/show/126\" >Show
<i>The Big Bang Theory</i></a>&nbsp;?</span></center><br /><br />\n\n<table
class=\"tabel\" align=\"center\" width=\"80%\" border=\"0\">\n<tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/0/Unaired_Pilot\"
debug=\"27979\">The Big Bang Theory - 01x00 - Unaired Pilot</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/1/Pilot\"
debug=\"2354\">The Big Bang Theory - 01x01 - Pilot</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/2/The_big_bran_hypothesis\"
debug=\"2420\">The Big Bang Theory - 01x02 - The big bran hypothesis</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/3/The_fuzzy_boots_collorary\"
debug=\"2563\">The Big Bang Theory - 01x03 - The fuzzy boots collorary</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/4/The_luminous_fish_effect\"
debug=\"2795\">The Big Bang Theory - 01x04 - The luminous fish effect</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/5/The_hamburger_postulate\"
debug=\"2937\">The Big Bang Theory - 01x05 - The hamburger postulate</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/6/The_middle_earth_paradigm\"
debug=\"3025\">The Big Bang Theory - 01x06 - The middle earth paradigm</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/7/The_dumpling_paradox\"
debug=\"3161\">The Big Bang Theory - 01x07 - The dumpling paradox</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/8/The_grasshopper_experiment\"
debug=\"3365\">The Big Bang Theory - 01x08 - The grasshopper experiment</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/9/The_Cooper_Hofstadter_polarization\"
debug=\"7863\">The Big Bang Theory - 01x09 - The Cooper Hofstadter polarization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/10/The_Loobenfeld_decay\"
debug=\"7943\">The Big Bang Theory - 01x10 - The Loobenfeld decay</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/11/The_pancake_batter_anomaly\"
debug=\"8069\">The Big Bang Theory - 01x11 - The pancake batter anomaly</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/12/The_Jerusalem_duality\"
debug=\"8415\">The Big Bang Theory - 01x12 - The Jerusalem duality</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/13/The_Bat_Jar_Conjceture\"
debug=\"8561\">The Big Bang Theory - 01x13 - The Bat Jar Conjceture</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/14/The_Nerdvana_Annihilation\"
debug=\"8672\">The Big Bang Theory - 01x14 - The Nerdvana Annihilation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/15/The_Shiksa_Indeterminacy\"
debug=\"8792\">The Big Bang Theory - 01x15 - The Shiksa Indeterminacy</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/16/The_Peanut_Reaction\"
debug=\"8979\">The Big Bang Theory - 01x16 - The Peanut Reaction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/1/17/The_Tangerine_Factor\"
debug=\"11375\">The Big Bang Theory - 01x17 - The Tangerine Factor</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/1/The_Bad_Fish_Paradigm\"
debug=\"9593\">The Big Bang Theory - 02x01 - The Bad Fish Paradigm</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/2/The_Codpiece_Topology\"
debug=\"9596\">The Big Bang Theory - 02x02 - The Codpiece Topology</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/3/The_Barbarian_Sublimation\"
debug=\"10093\">The Big Bang Theory - 02x03 - The Barbarian Sublimation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/4/The_Griffin_Equivalency\"
debug=\"10094\">The Big Bang Theory - 02x04 - The Griffin Equivalency</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/5/The_Euclid_Alternative\"
debug=\"10095\">The Big Bang Theory - 02x05 - The Euclid Alternative</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/6/The_Cooper-Nowitzki_Theorem\"
debug=\"10096\">The Big Bang Theory - 02x06 - The Cooper-Nowitzki Theorem</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/7/The_Panty_Pi%C3%B1ata_Polarization\"
debug=\"9600\">The Big Bang Theory - 02x07 - The Panty Pi\xF1ata Polarization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/8/The_Lizard-Spock_Expansion\"
debug=\"10099\">The Big Bang Theory - 02x08 - The Lizard-Spock Expansion</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/9/The_White_Asparagus_Triangulation\"
debug=\"9602\">The Big Bang Theory - 02x09 - The White Asparagus Triangulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/10/The_Vartabedian_Conundrum\"
debug=\"9605\">The Big Bang Theory - 02x10 - The Vartabedian Conundrum</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/11/The_Bath_Item_Gift_Hypothesis\"
debug=\"9608\">The Big Bang Theory - 02x11 - The Bath Item Gift Hypothesis</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/12/The_Killer_Robot_Instability\"
debug=\"10100\">The Big Bang Theory - 02x12 - The Killer Robot Instability</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/13/The_Friendship_Algorithm\"
debug=\"10102\">The Big Bang Theory - 02x13 - The Friendship Algorithm</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/14/The_Financial_Permeability\"
debug=\"10552\">The Big Bang Theory - 02x14 - The Financial Permeability</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/15/The_Maternal_Capacitance\"
debug=\"10631\">The Big Bang Theory - 02x15 - The Maternal Capacitance</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/16/The_Cushion_Saturation\"
debug=\"11144\">The Big Bang Theory - 02x16 - The Cushion Saturation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/17/The_Terminator_Decoupling\"
debug=\"11339\">The Big Bang Theory - 02x17 - The Terminator Decoupling</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/18/The_Work_Song_Nanocluster\"
debug=\"11418\">The Big Bang Theory - 02x18 - The Work Song Nanocluster</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/19/The_Dead_Hooker_Juxtaposition\"
debug=\"11809\">The Big Bang Theory - 02x19 - The Dead Hooker Juxtaposition</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/20/The_Hofstadter_Isotope\"
debug=\"11989\">The Big Bang Theory - 02x20 - The Hofstadter Isotope</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/21/The_Vegas_Renormalization\"
debug=\"12156\">The Big Bang Theory - 02x21 - The Vegas Renormalization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/22/The_Classified_Materials_Turbulence\"
debug=\"12320\">The Big Bang Theory - 02x22 - The Classified Materials Turbulence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/2/23/The_Monopolar_Expedition\"
debug=\"12769\">The Big Bang Theory - 02x23 - The Monopolar Expedition</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/1/The_Electric_Can_Opener_Fluctuation\"
debug=\"20679\">The Big Bang Theory - 03x01 - The Electric Can Opener Fluctuation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/2/The_Jiminy_Conjecture\"
debug=\"20792\">The Big Bang Theory - 03x02 - The Jiminy Conjecture</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/3/The_Gothowitz_Deviation\"
debug=\"21229\">The Big Bang Theory - 03x03 - The Gothowitz Deviation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/4/The_Pirate_Solution\"
debug=\"21404\">The Big Bang Theory - 03x04 - The Pirate Solution</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/5/The_Creepy_Candy_Coating_Corollary\"
debug=\"22031\">The Big Bang Theory - 03x05 - The Creepy Candy Coating Corollary</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/6/The_Cornhusker_Vortex\"
debug=\"22315\">The Big Bang Theory - 03x06 - The Cornhusker Vortex</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/7/The_Guitarist_Amplification\"
debug=\"22479\">The Big Bang Theory - 03x07 - The Guitarist Amplification</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/8/The_Adhesive_Duck_Deficiency\"
debug=\"22733\">The Big Bang Theory - 03x08 - The Adhesive Duck Deficiency</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/9/The_Vengeance_Formulation\"
debug=\"23240\">The Big Bang Theory - 03x09 - The Vengeance Formulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/10/The_Gorilla_Experiment\"
debug=\"23507\">The Big Bang Theory - 03x10 - The Gorilla Experiment</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/11/The_Maternal_Congruence\"
debug=\"23645\">The Big Bang Theory - 03x11 - The Maternal Congruence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/12/The_Psychic_Vortex\"
debug=\"23974\">The Big Bang Theory - 03x12 - The Psychic Vortex</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/13/The_Bozeman_Reaction\"
debug=\"24082\">The Big Bang Theory - 03x13 - The Bozeman Reaction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/14/The_Einstein_Approximation\"
debug=\"24334\">The Big Bang Theory - 03x14 - The Einstein Approximation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/15/The_Large_Hadron_Collision\"
debug=\"24335\">The Big Bang Theory - 03x15 - The Large Hadron Collision</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/16/The_Excelsior_Acquisition\"
debug=\"24337\">The Big Bang Theory - 03x16 - The Excelsior Acquisition</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/17/The_Precious_Fragmentation\"
debug=\"24352\">The Big Bang Theory - 03x17 - The Precious Fragmentation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/18/The_Pants_Alternative\"
debug=\"24339\">The Big Bang Theory - 03x18 - The Pants Alternative</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/19/The_Wheaton_Recurrence\"
debug=\"25230\">The Big Bang Theory - 03x19 - The Wheaton Recurrence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/20/The_Spaghetti_Catalyst\"
debug=\"26996\">The Big Bang Theory - 03x20 - The Spaghetti Catalyst</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/21/The_Plimpton_Stimulation\"
debug=\"27303\">The Big Bang Theory - 03x21 - The Plimpton Stimulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/22/The_Staircase_Implementation\"
debug=\"27531\">The Big Bang Theory - 03x22 - The Staircase Implementation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/3/23/The_Lunar_Excitation\"
debug=\"27712\">The Big Bang Theory - 03x23 - The Lunar Excitation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/1/The_Robotic_Manipulation\"
debug=\"32678\">The Big Bang Theory - 04x01 - The Robotic Manipulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/2/The_Cruciferous_Vegetable_Amplification\"
debug=\"33395\">The Big Bang Theory - 04x02 - The Cruciferous Vegetable Amplification</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/3/The_Zazzy_Substitution\"
debug=\"33712\">The Big Bang Theory - 04x03 - The Zazzy Substitution</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/4/The_Hot_Troll_Deviation\"
debug=\"33944\">The Big Bang Theory - 04x04 - The Hot Troll Deviation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/5/The_Desperation_Emanation\"
debug=\"34325\">The Big Bang Theory - 04x05 - The Desperation Emanation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/6/The_Irish_Pub_Formulation\"
debug=\"34542\">The Big Bang Theory - 04x06 - The Irish Pub Formulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/7/The_Apology_Insufficiency\"
debug=\"34799\">The Big Bang Theory - 04x07 - The Apology Insufficiency</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/8/The_21_Second_Excitation\"
debug=\"35076\">The Big Bang Theory - 04x08 - The 21 Second Excitation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/9/The_Boyfriend_Complexity\"
debug=\"35418\">The Big Bang Theory - 04x09 - The Boyfriend Complexity</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/10/The_Alien_Parasite_Hypothesis\"
debug=\"36421\">The Big Bang Theory - 04x10 - The Alien Parasite Hypothesis</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/11/The_Justice_League_Recombination\"
debug=\"36591\">The Big Bang Theory - 04x11 - The Justice League Recombination</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/12/The_Bus_Pants_Utilization\"
debug=\"37789\">The Big Bang Theory - 04x12 - The Bus Pants Utilization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/13/The_Love_Car_Displacement\"
debug=\"38686\">The Big Bang Theory - 04x13 - The Love Car Displacement</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/14/The_Thespian_Catalyst\"
debug=\"39279\">The Big Bang Theory - 04x14 - The Thespian Catalyst</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/15/The_Benefactor_Factor\"
debug=\"39696\">The Big Bang Theory - 04x15 - The Benefactor Factor</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/16/The_Cohabitation_Formulation\"
debug=\"40060\">The Big Bang Theory - 04x16 - The Cohabitation Formulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/17/The_Toast_Derivation\"
debug=\"40369\">The Big Bang Theory - 04x17 - The Toast Derivation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/17/The_toast_derivation\"
debug=\"70619\">The Big Bang Theory - 04x17 - The toast derivation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/18/The_Prestidigitation_Approximation\"
debug=\"41307\">The Big Bang Theory - 04x18 - The Prestidigitation Approximation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/19/The_Zarnecki_Incursion\"
debug=\"42144\">The Big Bang Theory - 04x19 - The Zarnecki Incursion</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/20/The_Herb_Garden_Germination\"
debug=\"42506\">The Big Bang Theory - 04x20 - The Herb Garden Germination</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/21/The_Agreement_Dissection\"
debug=\"43453\">The Big Bang Theory - 04x21 - The Agreement Dissection</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/22/The_Wildebeest_Implementation\"
debug=\"43963\">The Big Bang Theory - 04x22 - The Wildebeest Implementation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/23/The_Engagement_Reaction\"
debug=\"44298\">The Big Bang Theory - 04x23 - The Engagement Reaction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/24/The_Roommate_Transmogrification\"
debug=\"45211\">The Big Bang Theory - 04x24 - The Roommate Transmogrification</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/4/99/It_All_Started_With_A_Big_Bang\"
debug=\"61471\">The Big Bang Theory - 04x99 - It All Started With A Big Bang</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/0/Access_All_Areas\"
debug=\"61470\">The Big Bang Theory - 05x00 - Access All Areas</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/1/The_Skank_Reflex_Analysis\"
debug=\"50098\">The Big Bang Theory - 05x01 - The Skank Reflex Analysis</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/2/The_Infestation_Hypothesis\"
debug=\"50100\">The Big Bang Theory - 05x02 - The Infestation Hypothesis</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/3/The_Pulled_Groin_Extrapolation\"
debug=\"50464\">The Big Bang Theory - 05x03 - The Pulled Groin Extrapolation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/4/The_Wiggly_Finger_Catalyst\"
debug=\"50787\">The Big Bang Theory - 05x04 - The Wiggly Finger Catalyst</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/5/The_Russian_Rocket_Reaction\"
debug=\"51286\">The Big Bang Theory - 05x05 - The Russian Rocket Reaction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/6/The_Rhinitis_Revelation\"
debug=\"52502\">The Big Bang Theory - 05x06 - The Rhinitis Revelation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/7/The_Good_Guy_Fluctuation\"
debug=\"53602\">The Big Bang Theory - 05x07 - The Good Guy Fluctuation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/8/The_Isolation_Permutation\"
debug=\"54479\">The Big Bang Theory - 05x08 - The Isolation Permutation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/9/The_Ornithophobia_Diffusion\"
debug=\"54953\">The Big Bang Theory - 05x09 - The Ornithophobia Diffusion</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/10/The_Flaming_Spittoon_Acquisition\"
debug=\"55214\">The Big Bang Theory - 05x10 - The Flaming Spittoon Acquisition</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/11/The_Speckerman_Recurrence\"
debug=\"56382\">The Big Bang Theory - 05x11 - The Speckerman Recurrence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/12/The_Shiny_Trinket_Maneuver\"
debug=\"58784\">The Big Bang Theory - 05x12 - The Shiny Trinket Maneuver</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/13/The_Recombination_Hypothesis\"
debug=\"59003\">The Big Bang Theory - 05x13 - The Recombination Hypothesis</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/14/The_Beta_Test_Initiation\"
debug=\"59196\">The Big Bang Theory - 05x14 - The Beta Test Initiation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/15/The_Friendship_Contraction\"
debug=\"59388\">The Big Bang Theory - 05x15 - The Friendship Contraction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/16/The_Vacation_Solution\"
debug=\"59650\">The Big Bang Theory - 05x16 - The Vacation Solution</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/17/The_Rothman_Disintegration\"
debug=\"59867\">The Big Bang Theory - 05x17 - The Rothman Disintegration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/18/The_Werewolf_Transformation\"
debug=\"60147\">The Big Bang Theory - 05x18 - The Werewolf Transformation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/19/The_Weekend_Vortex\"
debug=\"60580\">The Big Bang Theory - 05x19 - The Weekend Vortex</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/20/The_Transporter_Malfunction\"
debug=\"61153\">The Big Bang Theory - 05x20 - The Transporter Malfunction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/21/The_Hawking_Excitation\"
debug=\"61378\">The Big Bang Theory - 05x21 - The Hawking Excitation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/22/The_Stag_Convergence\"
debug=\"61967\">The Big Bang Theory - 05x22 - The Stag Convergence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/23/The_Launch_Acceleration\"
debug=\"62208\">The Big Bang Theory - 05x23 - The Launch Acceleration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/5/24/The_Countdown_Reflection\"
debug=\"62389\">The Big Bang Theory - 05x24 - The Countdown Reflection</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/1/The_Date_Night_Variable\"
debug=\"67050\">The Big Bang Theory - 06x01 - The Date Night Variable</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/2/The_Decoupling_Fluctuation\"
debug=\"67274\">The Big Bang Theory - 06x02 - The Decoupling Fluctuation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/3/The_Higgs_Boson_Observation\"
debug=\"67718\">The Big Bang Theory - 06x03 - The Higgs Boson Observation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/4/The_Re_Entry_Minimization\"
debug=\"67942\">The Big Bang Theory - 06x04 - The Re Entry Minimization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/5/The_Holographic_Excitation\"
debug=\"68166\">The Big Bang Theory - 06x05 - The Holographic Excitation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/6/The_Extract_Obliteration\"
debug=\"68409\">The Big Bang Theory - 06x06 - The Extract Obliteration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/7/The_Habitation_Configuration\"
debug=\"68645\">The Big Bang Theory - 06x07 - The Habitation Configuration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/8/The_43_Peculiarity\"
debug=\"68891\">The Big Bang Theory - 06x08 - The 43 Peculiarity</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/9/The_Parking_Spot_Escalation\"
debug=\"69291\">The Big Bang Theory - 06x09 - The Parking Spot Escalation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/10/The_Fish_Guts_Displacement\"
debug=\"69486\">The Big Bang Theory - 06x10 - The Fish Guts Displacement</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/11/The_Santa_Simulation\"
debug=\"69725\">The Big Bang Theory - 06x11 - The Santa Simulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/12/The_Egg_Salad_Equivalency\"
debug=\"70156\">The Big Bang Theory - 06x12 - The Egg Salad Equivalency</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/13/The_Bakersfield_Expedition\"
debug=\"70438\">The Big Bang Theory - 06x13 - The Bakersfield Expedition</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/14/The_Cooper_Kripke_Inversion\"
debug=\"71175\">The Big Bang Theory - 06x14 - The Cooper Kripke Inversion</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/15/The_Spoiler_Alert_Segmentation\"
debug=\"71445\">The Big Bang Theory - 06x15 - The Spoiler Alert Segmentation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/16/The_Tangible_Affection_Proof\"
debug=\"71783\">The Big Bang Theory - 06x16 - The Tangible Affection Proof</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/17/The_Monster_Isolation\"
debug=\"72089\">The Big Bang Theory - 06x17 - The Monster Isolation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/18/The_Contractual_Obligation_Implementation\"
debug=\"72726\">The Big Bang Theory - 06x18 - The Contractual Obligation Implementation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/19/The_Closet_Reconfiguration\"
debug=\"73084\">The Big Bang Theory - 06x19 - The Closet Reconfiguration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/20/The_Tenure_Turbulence\"
debug=\"73969\">The Big Bang Theory - 06x20 - The Tenure Turbulence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/21/The_Closure_Alternative\"
debug=\"74818\">The Big Bang Theory - 06x21 - The Closure Alternative</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/22/The_Proton_Resurgence\"
debug=\"75066\">The Big Bang Theory - 06x22 - The Proton Resurgence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/23/The_Love_Spell_Potential\"
debug=\"75335\">The Big Bang Theory - 06x23 - The Love Spell Potential</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/6/24/The_Bon_Voyage_Reaction\"
debug=\"75567\">The Big Bang Theory - 06x24 - The Bon Voyage Reaction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/1/The_Hofstadter_Insufficiency\"
debug=\"79523\">The Big Bang Theory - 07x01 - The Hofstadter Insufficiency</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/2/The_Deception_Verification\"
debug=\"79524\">The Big Bang Theory - 07x02 - The Deception Verification</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/3/The_Scavenger_Vortex\"
debug=\"79722\">The Big Bang Theory - 07x03 - The Scavenger Vortex</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/4/The_Raiders_Minimization\"
debug=\"80031\">The Big Bang Theory - 07x04 - The Raiders Minimization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/5/The_Workplace_Proximity\"
debug=\"80254\">The Big Bang Theory - 07x05 - The Workplace Proximity</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/6/The_Romance_Resonance\"
debug=\"80518\">The Big Bang Theory - 07x06 - The Romance Resonance</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/7/The_Proton_Displacement\"
debug=\"81067\">The Big Bang Theory - 07x07 - The Proton Displacement</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/8/The_Itchy_Brain_Simulation\"
debug=\"81272\">The Big Bang Theory - 07x08 - The Itchy Brain Simulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/9/The_Thanksgiving_Decoupling\"
debug=\"81525\">The Big Bang Theory - 07x09 - The Thanksgiving Decoupling</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/10/The_Discovery_Dissipation\"
debug=\"82096\">The Big Bang Theory - 07x10 - The Discovery Dissipation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/11/The_Cooper_Extraction\"
debug=\"82274\">The Big Bang Theory - 07x11 - The Cooper Extraction</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/12/The_Hesitation_Ramification\"
debug=\"82674\">The Big Bang Theory - 07x12 - The Hesitation Ramification</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/13/The_Occupation_Recalibration\"
debug=\"82916\">The Big Bang Theory - 07x13 - The Occupation Recalibration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/14/The_Convention_Conundrum\"
debug=\"83752\">The Big Bang Theory - 07x14 - The Convention Conundrum</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/15/The_Locomotive_Manipulation\"
debug=\"83978\">The Big Bang Theory - 07x15 - The Locomotive Manipulation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/16/The_Table_Polarization\"
debug=\"84736\">The Big Bang Theory - 07x16 - The Table Polarization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/17/The_Friendship_Turbulence\"
debug=\"85106\">The Big Bang Theory - 07x17 - The Friendship Turbulence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/18/The_Mommy_Observation\"
debug=\"85542\">The Big Bang Theory - 07x18 - The Mommy Observation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/19/The_Indecision_Amalgamation\"
debug=\"86494\">The Big Bang Theory - 07x19 - The Indecision Amalgamation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/20/The_Relationship_Diremption\"
debug=\"86744\">The Big Bang Theory - 07x20 - The Relationship Diremption</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/21/The_Anything_Can_Happen_Recurrence\"
debug=\"87403\">The Big Bang Theory - 07x21 - The Anything Can Happen Recurrence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/22/The_Proton_Transmogrification\"
debug=\"87725\">The Big Bang Theory - 07x22 - The Proton Transmogrification</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/23/The_Gorilla_Dissolution\"
debug=\"87935\">The Big Bang Theory - 07x23 - The Gorilla Dissolution</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/7/24/The_Status_Quo_Combustion\"
debug=\"88184\">The Big Bang Theory - 07x24 - The Status Quo Combustion</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/1/The_Locomotion_Interruption\"
debug=\"92140\">The Big Bang Theory - 08x01 - The Locomotion Interruption</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/2/The_Junior_Professor_Solution\"
debug=\"92142\">The Big Bang Theory - 08x02 - The Junior Professor Solution</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/3/The_First_Pitch_Insufficiency\"
debug=\"92307\">The Big Bang Theory - 08x03 - The First Pitch Insufficiency</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/4/The_Hook-up_Reverberation\"
debug=\"92545\">The Big Bang Theory - 08x04 - The Hook-up Reverberation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/5/The_Focus_Attenuation\"
debug=\"92757\">The Big Bang Theory - 08x05 - The Focus Attenuation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/6/The_Expedition_Approximation\"
debug=\"93043\">The Big Bang Theory - 08x06 - The Expedition Approximation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/7/The_Misinterpretation_Agitation\"
debug=\"93361\">The Big Bang Theory - 08x07 - The Misinterpretation Agitation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/8/The_Prom_Equivalency\"
debug=\"93612\">The Big Bang Theory - 08x08 - The Prom Equivalency</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/9/The_Septum_Deviation\"
debug=\"93873\">The Big Bang Theory - 08x09 - The Septum Deviation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/10/The_Champagne_Reflection\"
debug=\"94116\">The Big Bang Theory - 08x10 - The Champagne Reflection</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/11/The_Clean_Room_Infiltration\"
debug=\"94911\">The Big Bang Theory - 08x11 - The Clean Room Infiltration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/12/The_Space_Probe_Disintegration\"
debug=\"95594\">The Big Bang Theory - 08x12 - The Space Probe Disintegration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/13/The_Anxiety_Optimization\"
debug=\"96388\">The Big Bang Theory - 08x13 - The Anxiety Optimization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/14/The_Troll_Manifestation\"
debug=\"96654\">The Big Bang Theory - 08x14 - The Troll Manifestation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/15/The_Comic_Book_Store_Regeneration\"
debug=\"97289\">The Big Bang Theory - 08x15 - The Comic Book Store Regeneration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/16/The_Intimacy_Acceleration\"
debug=\"97610\">The Big Bang Theory - 08x16 - The Intimacy Acceleration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/17/The_Colonization_Application\"
debug=\"97863\">The Big Bang Theory - 08x17 - The Colonization Application</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/18/The_Leftover_Thermalization\"
debug=\"98196\">The Big Bang Theory - 08x18 - The Leftover Thermalization</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/19/The_Skywalker_Incursion\"
debug=\"99011\">The Big Bang Theory - 08x19 - The Skywalker Incursion</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/20/The_Fortification_Implementation\"
debug=\"99310\">The Big Bang Theory - 08x20 - The Fortification Implementation</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/21/The_Communication_Deterioration\"
debug=\"99595\">The Big Bang Theory - 08x21 - The Communication Deterioration</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/22/The_Graduation_Transmission\"
debug=\"99816\">The Big Bang Theory - 08x22 - The Graduation Transmission</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/23/The_Maternal_Combustion\"
debug=\"100083\">The Big Bang Theory - 08x23 - The Maternal Combustion</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Big_Bang_Theory/8/24/The_Commitment_Determination\"
debug=\"100419\">The Big Bang Theory - 08x24 - The Commitment Determination</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Closer/6/1/The_Big_Bang\"
debug=\"28952\">The Closer - 06x01 - The Big Bang</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_New_Adventures_of_Old_Christine/3/1/The_big_bang\"
debug=\"6773\">The New Adventures of Old Christine - 03x01 - The big bang</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/The_Universe/1/14/Beyond_the_Big_Bang\"
debug=\"19618\">The Universe - 01x14 - Beyond the Big Bang</a></td></tr><tr><p>\n<p>\n</table>\n</td>\n
\ <td></td>\n </tr>\n <tr> <!-- table
footer -->\n \t<td class=\"tablecorner\"><img src=\"http://www.addic7ed.com/images/bl.gif\"
/></td>\n <td></td>\n <td class=\"tablecorner\"><img
src=\"http://www.addic7ed.com/images/br.gif\" /></td>\n </tr>\n
\ </table>\n </div>\n<iframe src=\"//s.ato.mx/p.html#id=7869&size=728x90\"
width=\"728\" height=\"90\" frameborder=\"0\" scrolling=\"no\" marginwidth=\"0\"
marginheight=\"0\"></iframe>\n\n\n<center><table border=\"0\" width=\"90%\">\n<tr>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Addic7ed</td>\n<td class=\"NewsTitle\"><img width=\"20\" height=\"20\"
src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\"
alt=\" \" />Popular Shows</td>\n<td class=\"NewsTitle\"><img width=\"20\"
height=\"20\" src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\"
/><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\" \" />Useful</td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Forums</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/shows.php\">Browse
By Shows</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/4906\">12
Monkeys</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/shows-schedule\">TV
Shows Schedule</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/1031-changelog/\">Site
Changelog</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/movie-subtitles\">Browse
By Movies</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1812\">Homeland</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/2784-frequently-asked-questions/\">Frequently
Asked Questions</a></div></td>\n<td><div id=\"footermenu\">Support Us</div></td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/top-uploaders\">Top Uploaders</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/620\">Modern Family</a></div></td>\n<td><div
id=\"footermenu\">RSS Feeds</div></td>\n<td><div id=\"footermenu\">Premium
Accounts</div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=downloaded\">Top
Downloads</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/466\">Glee</a></div></td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\"/>Tutorials</td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/thread-6-1-1.html\">Video
Formats</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=news\">All
News</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/450\">Parks
and Recreation</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/338-guide-to-syncing-with-subtitleedit/page__p__1485__hl__%2B+%2Bsync__fromsearch__1#entry1485\">How
to Synchronize Subtitles</a></div></td>\n<td><div id=\"footermenu\">Frequently
Asked Questions</div></td>\n</tr> \n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net\">Sub-Talk
Forums</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1277\">Shameless
(US)</a></div></td>\n<td><div id=\"footermenu\">What Are Subtitles</div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=7\">TV Shows
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/latest_comments.php\">Latest
Comments</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/126\">The
Big Bang Theory</a></div></td>\n<td><div id=\"footermenu\">New Translation
Tutorial</div></td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=22\">Movies
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.vreaubagaj.ro/troler/\"
title=\"Trolere ieftine\" alt=\"Trolere ieftine\">Troler ieftin</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/130\">Family Guy</a></div></td>\n<td><div
id=\"footermenu\">Upload a New Subtitle Tutorial</div></td>\n<td class=\"NewsTitle\"><img
width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Stats</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\">Terms of Service</div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/1799\">American Horror Story</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/viewthread.php?tid=294\">How
to have an Avatar</a></div></td>\n<td align=\"left\">.\n\t\t\t\t</td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/contact.php\">Contact</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/15\">House</a></div></td>\n<td><div id=\"footermenu\"><a
href=\"http://www.vreaubagaj.ro/\" alt=\"Trolere\" title=\"Trolere\">Trolere</a></div></td>\n<td>\n</td>\n</tr>\n</table></center>\n</center>\n\n<script
type=\"text/javascript\">\nvar gaJsHost = ((\"https:\" == document.location.protocol)
? \"https://ssl.\" : \"http://www.\");\ndocument.write(unescape(\"%3Cscript
src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));\n</script>\n<script
type=\"text/javascript\">\ntry {\nvar pageTracker = _gat._getTracker(\"UA-10775680-1\");\npageTracker._trackPageview();\n}
catch(err) {}</script>\n\n\n<script type=\"text/javascript\" src=\"http://apis.google.com/js/plusone.js\"></script>\n
\ \n</body></html>\n"}
headers:
Cache-Control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Type: [text/html]
Date: ['Sat, 04 Jul 2015 17:11:37 GMT']
Expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
Pragma: [no-cache]
Server: [nginx]
Set-Cookie: [PHPSESSID=ns25ifo5qplrt2o336ogcb9v50; path=/]
X-Powered-By: [PHP/5.3.3]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://www.addic7ed.com/search.php?search=The+Big+Bang&Submit=Search
response:
body:
string: !!binary |
H4sIAAAAAAAAA9V9aXPbxrbt5+hX9OGrHEoVcwBnWqJSmmwp1451LcV+57pcKBAASVggwItBFJPK
j7q/4f2xt3YPAEgJsJzkvfRxJTYHYBG7x7VX79599I/zd2e3/7q+YItk6bPrX07fXJ2xWqPV+tg9
a7XOb8/Z/768ffuGGc02u42sIPYSLwwsv9W6+LnGaoskWb1stdbrdXPdbYbRvHX7vvVAWAbdLF82
ksKdTSdxasd7R/wHH5Z+EE+egDHG47G4m1/rWg5uWbqJhQdNVg33v1PvflI7C4PEDZLG7Wbl1pgt
3k1qifuQtAj/kNkLK4rdZJIms8aoxlpASbzEd4/3blwrshesdrtw2ak3Z6dWMK+xm3TKv2fn4Trw
Q8thDXbiOJ49dJ2mHS7x9lUYMcv3WbIIY5fdfmA3buS5sbwsfplhxC/Y7b361goc9ja8pwtvLf/u
BcGkS0YfL8PIZY2jlnywI98L7tgicmdbBWMVnqJlx3Fr7d15sXzcuIlPaixy/UktTja+Gy9cN6kx
DjmpOe7MSn16j4KS5cNvoPLgP8fvvLl89/727JdbdnX2DrUrHmFm3Xso2Sb+ovJje0exHXmrpIj1
xbq3xKc1Fkd2+XN/iVvLMEzC0I+b90bTMJpf4trxUUvcfLy3d9RaiLqehs4GD2ejet3o+Ggaibqz
pr7LpmHkuNGk1qa2kUTHe4wdJQ6LwnW8soJJbQxINBRegi289pZztnC9+SKZ1Drtdo2tPSdZTGrd
Pl5XPq+3tOZu3FJlT8/mRs0vK7SUwlMwVc47LeU/U8v3kk3eINgMbYdazAKPKuuemkQNDQrP9sdv
b6EMLfyfUDdpUZFQuVCh4AnmKBJRjtRHfFFGHd6vjOOjeInGfJw191nkuixrVo8fWLThJqqM3/fP
YBqvDqlRuL5rJyywlmhg1mrl8+5k+1aM/u0FqzQ5Q63XWBigSwZzXCT+PVmt3uD9/sFhjXkOPg2X
05A+Qb2FKxps2L3lpwQa1Y5PImvq2Uct8c3uFbZVOz6zEsu3Hl0hHs/FD6hXNYXrBrXji2Due/Hi
0W3yp90Ul6TxnRs9RpaXzPB0ryIX1pWBzPF0r1EdtmcFZdc4Lq5xo2X5FXP8zmvU0V0ZxALPepkG
cyuq+B0vqR1foaAqLpnhca/dKK64ZOXjkrCq4Fb4neswStJ56sZu2SNPYVN+Fds/jaxfPXq2g7I7
orB2/D5EMVU8XYSCeJ/GVQag5x3fYMioqPoYNXKzdp2tS1qiEaHDLQze4Rzqe8/tdY53z5v64pSa
9N53332H8Sv1+avvMBzT4CU7zjRNEvSA9cJLMMHJES1w15Zth2mQNFeLFR4PPTxdiQEAdxPgc2D8
cO4FAuENvfxmgJhGMfkI9PKbATDwcIwWmtqJFzHHStxvRilQEAxbDTTqu2aAue+YT7Bbz4Ribsly
ppeoh2LlYRDL5hL1OY2n3x3NX678NA4DDIzerxiJlmgO6ZLmrewbmoOAqWYd+VDJ2kswfRFxyOYQ
TMJWNAclqZlTDJJ3cn5SU1IH1Synqi5eP2d2kr9iRjTDNVdEY/h0cit+vVacqcREAZvUk3qRDQKH
v5vuDMVGRfdyMBgM8+cV8+efeD6AN3af7er92VPPdUR9gxOYSW0G+pW8ZPzOQ7aiOTiYC6CXRvv7
Q3Qdmvj5nEf/EA+QNcjpgJrqOjBgFmFeelSYM8t2p2F4x+sHVYxOELd8786lRv0j721UkfH33ZPv
O6/wH/Hc4k34SM3Z/7SWq8PYDZzJzPJjl7/1rU2YJhPRiU3eY/nnoix7/ba4CX3HJNS4cKtl09Q3
oYfhF8GYMIrthYvpFTP6IuGfzsB4J4m1wEjI38uW0zH4O8zCV87E6BjdTscYDYYGtSc7Cn0wvvmk
FoDP8XLJ6ZQqevHJywBN/pCF926Euli/XHiO4waHgj29HLVXD4eyrb7sGHhDzQ7XcTdhZdFcuAHX
jFKMoEctUQWymxTrDDVHpI56nCR7YIH5q380Gp+8GfMTdnXBhp+pjnn7KNJPorL4Am3nBSOu9xub
ugvQ1jB6ydLI3y8MEdSKFJdvgY16LvrLzHtoLhL7gP0O9BaHx+P84xNq05t9bjTwRvJP9VxHeCz2
1oru3OS155yFy1UIz8hlN+jbCeN3qFE+u+qG0+b3oL9nRrc76tMj05jx6MJrkHF4HltX0ZX0B/2W
WNJybsISAbPtKiznHndU0H9Rb4kXYwpv/ZgmSzMO08h2J2h8GH3+SZ+IcWxC7hJ/b6MNW0QXgf14
mLr20UYZWjTcHwcVH2E+B+ecRsfi0R4Pf9mzPAZ7AwPRCptNMEmLA/DCUEjcVDFAFz9Sr6ULIgpQ
fVj279oLnHDdfPv6I7f8ltw/XnJswmrXUbgME9dh0pWsHSqY/Vka8E64f/Dbo2dTF5X9e29F7HyC
iZqdY07bP3jhTJzQTpfwZl5MJ3VybuovUBl1O3JxwYWPfh0k9ReWPamj26LhnS0836m/iJNJnTfI
+gsnntRBQ8CscW8wqVPvrL+Ye5M66lMinG6unPrhNz9u0Qx6dG/ifLLdz/t10WvrB4fepzj5/MmJ
P0+CQ+fT3Pu8Xytv2AefLPvzvndwmESb3zjeeuJhkOXO+kdRHao4Dr11M4TBcADwah2hF/nBfg3y
QO2H2tJH+wrxAr7gUSt/pb6s8ZtsH4447qdfsife+tP08yF68l/0x7YSe7HvHihDHPk7Xy+Fw9/p
iZx7eiRemujpKErnvkld+O1r8+q8hnfFksVXQeBGJLlMeBs9tHlZOvcHf65WywqDnjDOHlC44XjG
uGnFm4AaI/1Tx3tICHC56/wfeq+ElTpXVugTTlVaGFTtZtbxrZaTEQmaZZvcKDj9P4L//HDeRMv9
F3SY/QPx+i2ayEK9ET1HfHGJUSdGFYvSiA8Ofz/Au7+sjndLJxckdr/5q95L9vlXwe3ilM1PF5Cb
+OxE89d1uGqkAQSN4rQlmkBxdi2IO8d71F7evj47x9iZj26He6o3iw68X6cBur73Q71cJ6JvBSGj
JpNWNJlRf0wyEVoM7qHfzltN/l62nPwD0Xry97IF4VchgkhRsCZUQQwt9Lj8aY/R+EmFEsVALGCr
oLLyU1xFEoO9bBanUc7y0IdrkMqoWr474vxGeXR44/pD6E4568qnMVyL2ZT/prhJCE68yopVjOuc
AiCUlzDiP8mlrmf5DH5z7s1qENUkgS7C4zV+oPybP/nTUflPSxpfeBjF6LOPyPbyR0ONQWODrir4
cw2eOsm83Etl0I8XIYZejDogX7zKtuUxfMilKiljiXuLqqnQqNTnwhskEVGKQNta8iPxq3Us5DKw
zOLPQHNeQpCRfQ5OLH+nCtmGbHYKyTTIfkUo16LuyFiljoKlHr8D6WP4F/9B6YQgHEP3jSHjoaNj
BkXj4qwqa7aC135XINyqZe9yXvHo4u9nNzN49NbUiuFQkVcK9fiI1EdlGtTp1IeSs3cCARzEkvlw
xsAKueqYO9MtEglaRmdQY8eknKL0joslzfAmjDbwMdAuLFnGP6IP46fwieTswuTM8MedktyXLa1U
uryj9vfbvZWaJG+E5Gs8q7NBG733Yjh0qhx4p+MYyg8HT/fcFiwxsRhh0mKEKcxqGa1265fA8iLX
Ma89P0RLcdxpCg+uMxwPoXU/URZYpmgbD2gADSZvZfxWIYeIDkRGqP/Ro/5/GWO0dozo9ntVNhiw
QZdn7/AKmqKCpljRMhebVZgs3NiDgK+qpNfBqkR5jXRgDX0LDEYYLMfQoG663L5Z+uuvGxPCSBJD
tIBLH1nRJrewP+hWWdiVFnIUzHJAoVUHgaKBjT1uo58uvSBMY3MGYdd0ZzMsXuQmDsfwzssrsSdN
VCCMQJgA0cDCPrdwYS2nKYTGyIQ2gXEWbmZu4Lg7rDKwLw3MMFiGoYF9A27fEmqU75qY3pOFCbkJ
esJ8mVnYbXcqq3AgLRQojKNAYxQoGtg45DY66XJFYp2wL3zIzTMGRlUFDqV5CkCYFj5oYNmIWzaP
sDC4CCF1RKb7gL89EkBy+7qDyuobSfsKMCyH0cDKMbcSS55k4GU4ixPLwUoA+qKPhblfLVJ3M2uH
o+ohdSytFXAsh0O3zOE0sNpoc7PfhOHUDWau75iOa1v53DEc96rmDoP4Cg27OQDmVQDoYJrBTQOl
tK0715xatLBjWgGkdz83cNQeVBEyg8gMGShhmIBBJACH0cFMQXF+cqM0tqBKmo6IYcja6qhnVPVM
QxGcDIFJBB2ME/zm1ErMn6zIhOT7xXaTNMonxlG/clw1FLkBBAMEqcYSQgfzBLX52Y2ceyuwzJMg
8KAib481WAfqVMwchuI2CoUVUXQwUrCbm4V3F1vmFeQr9ENwOcsu9MLhuNJGRW8ECNsC0cFEQXCu
XStIE/O9K7SMvAdWO32Gojbifqbu18EwwWpuKf4ngkZmvoJpYZRZZhjdYeXgomhNhsAEwt9uWwde
OsZ1+O2O+Yo8iutdQjruj8unvs5DW80MQGCEwBSCBraJOeEsdFaea7vmbQjaEc7z/gbbBqVjCmxT
c4JCYApBA9vUlBBNecCUCTHOR9TfFj8z2u3qysunBQlDIX8KRgMjxcTwOvJmMy8wLyh4FpM71ufz
rgcTy2UY1KGaFyQIK4BoYKCYFC5S2/cc88THlBCgCu/ziZ2qsHxogX1qThAYrIChgXliQhD0v/Fz
iLieX+88oQ+6uc9LNlb2QzUz7AAJ/dRdamComCCurSDZQOv8/qz7/akBCdlElOFjt2k8QCxvmUyD
KlWzBYeDhvh//gdQWPXKoTSwWLjDb+ASRk7jZhXad+bFA9wDUou3eme5XwFTlT9cxGEZjgZmCn/4
I8UxmicQ5iNrDvHtlmJU56RNFa1FvZbTNxir3GGOxjI07E8ooGlgs/SGP0ChwqKfg4cjlwMLMQj8
z6oWxlaNS5lLXEAhr0Og6GCkIj5Q4a4SOIyvvVliXj5WxmHoqKK3Zq4xXKsFIyRGSCxH0sFYwYT+
w/N9OP/vw2mYwAWBtjNFuHJSnE0xFlcZqxiRQGIcCX5IhqSDrYIZvcKyVODEC2+FeXUeIj5nkTde
o21UdtXMX85RMLNKFB1sFMToFdzHAGH5vomA96X7uDb7/aoBKfOZMxxWxNHBTsGP3mINAMTIN8+s
lWV7CYwuMqRBt1xT7jwYiiEpFFZA0cFGSZJStNUwMG8sCDvb84phGL0qjpt5zmcCg+UYOtgnnWeh
dsBtNs8R9pHy9YFsNoEH3a0iCobiRLcZDMthdLBS8KGPYXRn3oRY+fgZ2qiN6Hu03IKVPaNyLlF0
iGAYwbACjA5WCjp0ju1kWBwIsa/I/Cl9SCweRVykQoYxalfWp+JCBIWFAYJiW1AaWNsRqwL5soV5
FSOghbZsylVzwxiPqszsqIWBHINJDB3sExTogzu3Ysh1AUJyEEmys8aDMPx+lXPWUQIQh4FqtwWj
g5VSBaIdfd7MQzAKnwgwa4LHp9E0JUGhUKWdbkUkROehoyjQWQaIgHr0cgJkOaAOlgsmhBBDEr6w
cADHCnR+y2cxOsOKlR+YqySiDIXcM4nyt9vYlfIlosjtJPJsEITAfIeobAxMr/zUTtLtmbTTHlQE
HnVzNVMBgisETACyAqAGhsv1Lg9LCBu+IoQSKK4IddpViwkwVbXjnzgEXxESEBoYJxruawQpcc0I
jOHe26lJo9MpH3lhnmq3GQj4ggTRwEDB3689MD0XfMFPtzplx+i1ywkfjFOipgAAUxAAGhgmCPsZ
Nvqu0CyRJYAaJ6oOjOgspC1cWyFZnXYFdYediroLPOqMzgYtlePhX4mngdlK6IyCBd9ubX7A5mE3
j3vpdLoVy8+wNJc4FQQTEBoYJwj86xSOV+TFiXlCwT0zDxtMipSv0+lVj62KwmdAbAtIA0MFhz9x
KDTy3jXPU4ia5y4shZRQWHPodIbd8jUxVKai8QqJERLGH4WkgamCyH9wsaJJ3rSJTcfLXT0TTKhX
rgbBTkXiMxhKDqJgNDBSCpmvof5g4OH0Zydeq4NUGuURhd2HTMaUGJz8CAwd7BMEXgkbRAPm2LZa
pLOd7qBXrtPCQEXfFQgRAQmig4WC5lzHG3sBerc7qnbHw6p5MgvqkffrM6Qacvk2/NVFMojHsRLo
eKNy6Q7VpujNqUDQJ1oClFyQmwtsSk9cLNsiU0oUPuyuTXd63W5l3SmOo3DYFo4ObVNwnTeUFcG8
tJwI6t0ZbVLfWgIjOys7oOI4HIcJHHRCiaODnYLcXDzYrg/TIvPExkK8SKiVKSFkZuVAqghOBsMK
MDpYKZdwI9f2KL7+FVb6KLR3h+T0uhWSOvqlIjnYC89x2BaODnYKkkNry/GTEQdUk1WelaHYDYfQ
KuAAY49ar8XudHTH966dRpTQIdd3Ov1Ot4rUGIrUfMQeRsphk2NoUHtSkkTun/nCTRIPLhYSx2zi
PAK9MxhXBFN0HzJJMsOAWyUwdLBPMJprxCCtqAJvEk/xyXyoGXbbVfQ7UyQVCrYJZyg62Cg4DVJu
IMEM9hiaV/CneB6FnbFm2K/0jjMlMkNi20g62Cp4zps04PIjrd1tO41Dyu5SFguD1qp4DkcA+1YI
f7ttPSk98iVwUNO3yMa12vWgup3BsHzBp5frjRIFSnKOooGJUjqPUttDFgWaFqHyI5kl8t6UqABd
TB7ldAcWK9nxLAdlGahmikCvJZrvf1m0sRChkTHt/N1qwGA9FQ0Y9qoGzDEovDLD0KB+BVO/RDTI
LWlpT+isqM6KtWfYp2g6QBDIBBCNdNZeS1D0czfGdiY+8pgX8Le2x6Bur1ux5w4mKoZegGEZjAa1
KPj5FbQ5xG+n0ye1nG6v3ysfaGGk4ucchgFGKy2n1xL0/EREcFPwUoqY4B1hrgsFspy6wkjFziUM
RS7lMBrUpODmHcO8QYhE4ECxUvNdxn5IsCpfj4WNip6DBgkUvWZNQdBPw82MB2jBYyb281CMQsPG
+oowCZioKHqGAn9ZoWhQi1J2PPEhG/MNFZRi7anQQmhznfLQpV6uPnIovrOCZ2vTKLYQNEhQ9p8Q
6uJBSH7jIkLWJc8LCXERn7Y9Ww6QE6eU7sFgpUZKNCbQyAfL0XSoYUGMTkGIhCP9S4JAyp3Iie5w
WBEcAmMVFQIM6hb+OCvA6GClJO9IpAg/E3FbPImbzV2VfDwaDUZV41GmVL4BDFxN5JcrwOhgpSBB
2AUVr3io865H3R0jX0lVo1UUSEHo41CjdwoGdIqQCKTqpOi7nb1r3fGgQi9AK1XsJ4fQZfMarFPr
rgvEvgrX8kn202u3B+WiD4xU7OcszJE0I0CGjKMMLSzBniPe6H57bO21uxWRPLBRkZ9bQgBLVwg6
9EFhW8JtQ2K3XduG7YFR2QWVbRwB0XkKQQfbpOCKlFaJh1wfqp1uLWdkw2nP6FYsSKIWFb2DwLyF
p9nyCPqmYHr/ZSHDm41dX1cBtNitpRGQn0rfMpNiFQb4usTQoF5VdKgbTc3X2AQFrkcZ8HcpT6/T
b1fNj5keewkgJoBYAUgHSwXDO5kjqoeWRIgIxIgVK0Z/9OBglouyvYdMlM1QiAdIFB1sFIzuI5LX
ulMXXatMle1hwqw0VLG6HEo3WbbX6ghmh9MjcEwIr1K12z4fiHqdcZV0mSmzOYg+i9CwULA6ZK1e
LinGjif3XoZzbCXeDVzq9TtGlVPSUfxOgYkDhbbANGjBOHfoCrFZUPGwHoDgM8f8iD1P5kmWly+r
2oHRG1YZPCb/+irB0p4vMqwizTRhsROmDhz62+3tI7ngiY3c87SI6ZsnSEedJ7MjA8vpXl/kFxR3
cyP53RqYJMbZmzucrgAHegZZBLlQaHmvkKivj83S5f0StikXmsOgSxIMkqEIGA2MFAPtFdIsYdcg
zSFPKSN9bNCrrEE1yhZwdNpy2ZcrB9cpdlw65usopPwFDzhPjCLxt2bOfrs3KA+EQYWqFQSBxTgW
NL0Clga1Kobbj9587m+QSYQSpTxem4Z0OSoPEoGpaqQVOMgnQjj6uNN9uZ4gT+fBRlobByk8jt7q
G50KTQR2Kp9aAmEfLQHpM3/2W8Kxfr/wAuwXod1B9+5uuwWxLV9RgJHKp1YgME+BaNBghcf5OgzR
O1M02Sd2i/S7VRv6YaHyOgmFAUWrLSL9lnA8sd9M1BzfJJzuLMD3e1VR27BR+ZsZDN8jLGE0qEfh
Zb6L0E6RlnERTj0L/slslm65mv3euMI9gZlqSWELCC6KBNLAULmq8Mq34GPOzZsVjmgKMXsWwugy
hod930bVnJKFNUs0ptC0Csrrq7WFmxUUBPjWPFL2UUQX8vpWxMr280WFHAZDkYLRoWYFJUJWN2zl
QjKQgCYVRIK4KZKi53U6Go4q61RRIo5DSUUIhyJKOI4Odgqvc2sx50nyN25XBHihQhUj2kLSi/7J
IOhTBMuYt1xOoIl0h/mNjQrpHXYqOkQojFAggCkUHepTrC3kOTJoAwJo6bYyhPxxoyqHJVtgyHFo
D4LC0cFOQYY+WGLH0+P9ekgjh8MUyqLYUJGKCikIfXbsYYwVTOg9NlvSAAtVzsN5R0hQvO2ljJGA
s8pExYUkDql7BRwdalHQoY84/2sd+jOhCNExFNuGDtoQD6oMVYRIAQk1KAPSwVIZBI3DVpECZ3fT
DPI2jSobq6JCH8X9umya6bek4n5Lh3KvaH9lhFnSV8edZRPlwDAquV6muBeAME1mQBrUYEcoQZfW
mo4VeSoMaICUo1Wjaqa3SwydgoBQk5LxJBZtCw5Ac+ZbQfpY7ascbYqhz3OaLRSCDnUnoyYsHMMH
+RUaJXJu7YwxnU5FTrF+IeqZg4CU5yA6WCjEnjM6yRcnFNI2C4iM27P+oNOtCH6BiYrbZChCquQo
f7uNAxncTYdxmT/TsaUm8th5FPecDzPDdsWkP8iFWAJhHIQpEA0MFD0wz6H0pAIyGHYqNljCRuVz
5DhaaSADKcNeQpeMzdMQZyGb76Y4smgndmKAbQjloynsVB4HB2IciBWANKhPud7lmhegzhvzLYS7
5W5EGpKfVAQBw0zVKd+7jMOwIowGRgqH45KyOENJpx3BT0TIDkbGoHzFHVYq9bWAo9P0OJDiK5f4
7QQNFjkaH00ho15Fgi0YqVwOiYLWmqNoUJPC6bjMw7Ywic+8+W7qO8QWVmxfh5nK7ciRiA7kSBqY
KvyOXhf6q536HuaRQsbNwWhUERELA5W70etCeM3u18As4WQg2zunqMgAnJgXsW3trBIMxp1q+5S3
IYGgRGIjSQ6kgaFKeKXtFa9T7JqFa4vDjHfiYAfjXsWazyCP5eZJ8glHr0BYUB65/IxIZMu8yXZM
5oRnPKzYJwMLs5VnQmA5gg51KOjOxRzCOZoodlY8kUt+2K5KdQcDFdsBDHJsAkarbPKoQeF6nOKg
nyhGqjucY5Qna8vqcdjudavITiavFnAwP2qT9A12KgeEn1L1H5G3wslGV+QEbi36DA2j4lgO1Kei
O/J8KgEEjVUC6dBuBePBoOhR5uYT/JVgc9ATmQmGiKUs33gJYxXrkVgIfAEWtgjlWDrYK6RWOifF
45tM+QGHFCRyHYUhzv2ViTeHxnBUHoUHaxX9UUjsRCExjqSDrYIDIbEiJYml3KI7c+cQKkF51DOM
VORHQlBqUQGhg3WC9oCMcSUfp3FxIjvnSkhZcCXcTZyWWyakw2LFhgqwnNkKWN0CLTFSCZZ05ocx
DxSxi9w0b83ddsXSHsxWJEng0OplEUeD2lbSrBsgB+VTaVWHtM+komZzUZZD6JRIddCSciyVPplX
OGMlr8LeqFJByPRYCaJV3hRYKPgRhkaRNgV2biuyQ0SxV/XMTJEVEGiiCkKH1iklWdrIhiAAxIte
hwkC2ZGyN6/AflWepkFBk6V9bByFZSg62Cg40Smmyg/hBmHdj8PShv1+haoOExUfAghWfQgE9SiW
c/92C4dSks0zaZdsAscZyJ1yajDMddkcSbN94MNWJs66Kx4h+wEbmh7FrZOh5QEhMFS5KxBnBQ4S
beQ4GtSo6JY3tnVPeSij3ZVKnBLfKY8whIFKlc0QdFmrHLakHGt52IsWP63GjhDlUh6GD/NUd3wv
UPQSY4cyFpaOKuBqCDF0ZPkrilsjHGZd2UKVT5KBEDkXIBo0TxkDiyNuKUMqZrSQjlvJV4BG7X7F
nI8KVE7IewFBk6KA0MA44XzICf9JRWtkIFt6KWWDecr9kFN+EUQDA2X0a2IvNuZpZCH+Pleksll/
hPz3lUOMcjiuCIdxHJ2UrWFLOBi3C+wZiefePYUL5ItxBTv7Fdod6lJ5GEUg7BFWB7VoUJ9ShkUr
s8HAsMSFV7G32l5ZH3WqjhIc5ipsBsO3IUoYHawUIqxQpMSOke2F9RGyT1eNqZkKK0Utuf4DCUUH
6wSxuUR+bbn35z2imR8xmxHSplXaqJhNDsSKQDpYKrjNO9tORRPF/IHFEW+6EwoywvJIuV+FBqs4
To5E7n+OpIOtSo6FcAqnCh4I5Jmd4wJHOCG5aqAtaLEKhRbyNDkuEM6HEGLfhEhEE9IJrU8n/Bsh
I3W5to7qVIwnB9Ir5x8sVRIs6a/FQ0fzyaQ37Fa2WcV7bilgBl4yDn2QoQg6tFbBfPJo46fkqlEf
5KeC+2TSaw6jk2SFWhT05y22P2+eDHkZ9asSwqGlKubDIbQKdoF1gvVcBQ6yLNOaD7JRWv7c2onl
RfBAxeHQsFGxnhwIGShzIA1aa0ecQfZe7r7j51mee5GL9LgwO++SmDCrZsxMXi0CgfooIB0sFczn
JNgk2AiDuFAEo19aKxzmRFPnbhrn0RD5bio6aKa3KjzsIg2QXZ3waAKVeDrYvSW98pjkrdQCeR0P
q9bfh/nJZNIfewylg7WCF6kjOYjD755+NBqOKzLmw05FidSZHAUQHSwUbAhJGBKkh/vPNKQUh1PK
jlfsr1gtqOyvSvsRMAwwoEMK5m+3ciTFWMViMABfYdNIFKXbw9KYTrIq7aWjXIvNgaDF5kAaGCp6
509pQCcfoGchbUGMVze7rZZMLSe4MFX5LAKKhC4Bpc9eoJGMln3lRch/c+1B8ijR2MfIoV8uDcFY
1UU5FI6wB5RmIvtISrR09mgjXWGOgagw3Q2zHEPALI+qgKGqn0oYTC0FGA2ar9yiF9oYi04SLHrt
nIiI3Ib9yppUDssrgmAFCA2ME55KHppUctTMuIuIp6pRSPkrOZJm2dRGMv3xW7GpLlpF2BHKPe0T
lU8uownjbndQvqyAJqtk20dgLAPToG6F/4JRcvlkrN4YRlYOt8p9IQStwvRGUrK9wZpcunwi5Tr2
yw4rm6vyWgSCRvnWQQuEu3K2sJY4oiSgVZNHW4PGPaNC8hrlGm2GglFVoWjQMmWc7JmPk/OQAgYN
FEmIPB9hTlsUb9wbV6QVg5kqXJYDIQUM2mkRSAdLBfnBSTFY/0JHmuJMxK1tvfmg0+9XeNowVrEf
jkXkZ+rqtkUYrVc4JyfBg+cmkE1AZh/toUH2v4rt7LBUUR+JgtODcxQd6lS4J+K8BySHwMEeMg9X
XpmDQcWyLUxUpEec97AFooOFgvPAXcL+oFPQOyTECxG29R5Hl+Bg6J1eOuxUxFjCVsV/OBx2foV3
yIkHOIxJOZwOVgsyBO8JJ+3Zm6c3no6HA6PKH8vCZhWMXltP0UOFeIvj8cJASspE+vzdnI5Q4Suy
dKJaFQkqIhHpU0g61KigQG/cWUILnibSiyNZwaM08+NRVRYRmKqYkAJi20A6WCrk3Ju7zdrysXcB
EyoEuq1Y/vG4XT2bZqRIgWAylSAaWNgRvAjH4ybZcmdZEPR43K3spJmWu4WmW+zzKIuaxRIE1BOZ
O+XchboDKWVnFB73K06NGuXZgzEK52BgvgUwHWpZ8KXXkeUIN1umnaVAhYL4N0aXLV9cgrWKLOVA
MuWsANLBUsGU1KHBT0mcSODZrtijATMVU1IoeimcMoMwtTgvEWmvqbk9SvANO3sVyelhp6JLOZRo
uQrqb6/PsZRzURE42xozKzZrYNkPi/npMmOFBsys0KzHuZhbgGEKRgMbpTPjriwx+pjvYpvOBd/y
2mBlt6LVwkrVOeF9SyBWANLATtE1Ty174fqkWSMZ9AYdNIrCrVEIlg4q4k9hqeqfCooOIEo26KUS
SgNbhTPTQSRtifYHK6sSV8FK1TsJRDPZbyxjbK8RQ7zyZKvdPuOz0D37VbIKDFWeTBFNN9YwlrkP
Ll3fgzi2dT5b0dSq5EcwVQm6AkazlYexFHOxEdOmPN+7YcVGuz+s7pjKeeEIcER1iSoey5Szb3Eg
MY/QpPQ5hTQpxRqsykSCGlROi4RiPIlOAUqDsUc4LdeYQDBj2k9m10UQEdZXSpceYKdyWxSMVtl1
wQuE33JhRWtkyitZJIOVVUksxrmiK3E0WyWDmSL25B2CQyj0RGR8eiK1jNHGaa/l6/awVIm6Ekrm
fcqhNGi3hiRClu/GiLKhAyNSJIdZ7hKhYX9U1XRzSZeAEF5Dp0XkQDoYKpjQBZYiEmwCKAqxhZEI
WXXLJTHUqGJBEuZreu7qeO+I/m/xU5L5C+d4j+38OUqcY1yy8w0+ibavPcIH7OgfjQbjcGwWYuNi
xBqN7cu+Ax6zfSuOJzV+oR3i1KWodnzkLecsjuxJbZEkq5et1nq9blqO49lD12na4bKFep+7cWvq
N+ce9te3nngsevanH1h+8yd/Oir/6e0SyQqV/27L8e5RvlQ4J05857o44xcu1go0FwnXEDiD9AZU
UEe4jnnOpJZddWMjZUSCFZfkrNPtUOAcr6DHF+KQLT+0nK2r6Lfpz5HFQZdzE+UpYNgicmeTWg2V
he2zyaRmTn3sy6gdY3S3XbYJ04ghaQh0PJd3jykqV/4BmrhZ1pOlLEIlNdO71mPMN3gwDFbNZpOw
COZxKxNFpH6j+O9RzMtguxkVLyi+XnsB8vw1377+6Dmw69ZLfJdbzCasRgusaJQOhWvTptraobp1
X6Xm3D/47dGzqYvK/r2nkyIngbvmU//+wQtn4iAEgZzSF9NJfRo6m/oL253UbRz9krgXPj/HqP7C
sid1HuXnnC1wmFP9RZxM6nGy8d36Cyee1B2evAf3BpN6EAb4dO5N6rBKIpxurpz64Tc/btEMenRv
4nyy3c/7dW8WWUu3fnDofYqTz5+c+PMkOHQ+zb3P+xUN8uCTZX/e9w4OkcvtN463nnhoCryEP4rq
UMVx6K2bSIQS7OM31s010ku5frBfO1oktR9qS//4aBrihbNBz85fqS9r/Cab8hPgfvole+KtP00/
H/7+p8qgWB6Q/uzFvnugDHHk73y9FA5/pydy7umReGmiK6Monfsm9ee3r82r8xreFUsWXwUY+i5v
376Z8DZ6aPOydO4P/lytFi0qvqYnjLMHFN0Kzxg3rXgTUGOkf+p477gzN0IDpH/ovb2wImSFmNTT
ZNYY0Sd8oG61vsQ2xmg5osn+b7WcVnHcbnLbml/iHzHM/HDeRAP+l2tF+wfiNTKCJAv1hrizen2J
MShGTYtCiQ8Ofz/Au7+sqosFQ6+PWt8yzuze/Zz3R+Vj3HNu/9o1ZdPLReDwyWVv78jGkORGx0di
hp6GOAowmtTaNbb2nGQxqY3b32OCoZkcf2XT9M/uOuYDqZyk5cUd3LdwKePopEavnzN3o7+79zwM
vrkK5jVm+bj59gOfzJ87/3sBIWC7hpiLOQQjhBNJFgRb+Tc04DpcpdiAwm4W4Tr+t7Xil9idpf6/
7eNjqSpdqtLnLFf1h+OMdQluiwk+RZdQdKgVU7U1V4tV7fg0wkuXnW5UXVqY0ogEZsXyHLBWb0xb
e+C+YJC8czd4qj+EEzdiKKxOipTAx7cfxCOxG/nRt2MW+HmcThsJFkKbgZu0knDl2fDDu0YDEwbS
JCD3aat2fEMcFwFS4oNHP/dNRbwM7z23gV9NiNjFxYJ+S1/90RLCJiSK0bvESgJosPPoIckHUtz8
ycqvLpMOPLfGLHL/O8UA7G8aFmZMp4F3PNQ+RiG9yr5kJ/Qlwujll89+lpt0Ranm2S8ohEJT+6by
RRUiwpgcCei4aCzhiv2i3j77QbZ7RGuAyeH4bQjEAMdxLz1/82yk9zc37JXrOtsWlVUGXKAlpFgK
BKF839s3fVMxoOFSP/5xiacGl18HvEQcUSDn8v0fbms9Sk/02neFZ1Wsq3+zObd1fJsiwAhrcCgL
Ugi46/2cfrI9bsCdtJzGoGE0jOYiWfq14w9IRhLyU80tqsedUe+P1yWcNDRrOi2USM0j4LKWtdOi
e5RNHStMdzHDYAGJkDt2WDf/dsDqcaPbHTXmKcqikYQNIufwohtrHB+WDYGu4yUtxK+6prkyTaM3
6pvmwjfN7zunP+B/usc0Z/B7Y1BubJIwjf+FISja0JU03q1ZErIbXLWIKEwJYoQaW59tS9XQtTMO
sYxb/rHhFJMJJpxbTDjUNvg0vdM0nlmDyKWBrQQ3iP0FIY1jtv/LzcGzDf64sHDiLOLqCmVVMPSr
jyDrfKsPwE92H/iYM4e/SNsc1DxN1j56tG/rAXCqsEsGEhpJEpKhvOEfUhwD//DRL3zVCk53WkZJ
EsRn46EfiogRsbqNrcliRNmaw776MF8vUkrPJCgC+9MlWui09xi60qk1t740oxC1EiJVKSlgRE/g
2fD3LvMQGOcFSMcj/J2dT493Lnt22e0MS0YXw5KYYemIx2fDiBmeWTQmZm26rCKUgErj57+DU0i7
EtXs9Ixec4uwmZiFM2Sbje49G1P0t/Rs2SeGY+SPPFkiesymnbwUhACnDu36+XWSVe1TLRtEd53w
SZOPGAlGjA7FtMvhfIEkZZiY2AmOjrCiJ5oBmqE3DyY1H82ydtzc+w5/5AT+jCLKHq1FIh9y7gmX
hzRVvHni574y1stC49NRGj9Fir4CUNodt/vbbq/EGCs64lOPTKsiRGhEecgVkqOWFFDwuXq1J+Vp
lmxW6PGJ+5C0vlj3lhCToKaQ6Da3foovQxyKN2H7+3x9I35ZY5MJU8Jo0w9F1GFzRXkt7dA/YD8y
eWWrFcd+s8Zeig/k0gjk0L3sdi6l7qeBi7T2K3e/9n33TDwAV2XqNfZD/gw/sNo8DOe+27DoqO3E
syHwYXllbkGjqws76jt21L/vXgBTSmR4UzvAz+eS2dcKAYyD/caLgrgKtnvTIZkoDRPZcJsmCfXi
o/3aLycNLF0O+4NRu2GQjYUbmiZ2rth314CgLkBq4O9MSrZRdMB++z1/IqhdsgSerpgtucpaeXFT
FAovii9xa+WniFVwUSRw8f+fS4MoSlomwC8R/z3e+7+VgCqrNegAAA==
headers:
cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
connection: [keep-alive]
content-encoding: [gzip]
content-type: [text/html]
date: ['Tue, 09 Feb 2016 15:57:55 GMT']
expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
pragma: [no-cache]
server: [nginx]
set-cookie: [PHPSESSID=5t7377c0qtq8esk06s11u5qvf5; path=/]
x-powered-by: [PHP/5.3.3]
status: {code: 200, message: OK}
version: 1
@@ -2,513 +2,204 @@ interactions:
- request:
body: null
headers:
User-Agent: [Subliminal/0.8.0]
method: GET
uri: http://www.addic7ed.com/search.php?Submit=Search&search=Dallas
response:
body: {string: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta
http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<title>\nSearch
\"Dallas\" Subtitle Download - Addic7ed.com - For all those TV Series Addic7s:
Subtitles, Tv Series and Movies Talk, Forum and more -</title>\n<link href=\"http://www.addic7ed.com/css/wikisubtitles.css\"
rel=\"stylesheet\" title=\"default\" type=\"text/css\" />\n<link rel=\"SHORTCUT
ICON\" href=\"favicon.ico\" /> \n<script type=\"text/javascript\" src=\"http://www.addic7ed.com/js/mootools.v1.11.js\"></script>\n\n</head>\n<body>\n<center><br
/>\n<table border=\"0\">\n<tr>\n <td rowspan=\"9\"><a href=\"/\"><img height=\"200\"
width=\"350\" src=\"http://www.addic7ed.com/images/addic7edheader.jpg\" border=\"0\"
\ title=\"Addic7ed.com - Quality Subtitles for TV Shows and movies\" alt=\"Addic7ed.com
- Quality Subtitles for TV Shows and movies\" /></a></td>\n</tr>\n<tr><td
align=\"center\" colspan=\"2\">\n<h1><small>Download free subtitles for TV
Shows and Movies.</small>&nbsp; \n<select name=\"applang\" class=\"inputCool\"
onchange=\"changeAppLang();\" id=\"comboLang\"><option value=\"ar\">Arabic</option><option
value=\"ca\">Catala</option><option selected=\"selected\" value=\"en\">English</option><option
value=\"eu\">Euskera</option><option value=\"fr\">French</option><option value=\"ga\">Galician</option><option
value=\"de\">German</option><option value=\"gr\">Greek</option><option value=\"hu\">Hungarian</option><option
value=\"it\">Italian</option><option value=\"fa\">Persian</option><option
value=\"pl\">Polish</option><option value=\"pt\">Portuguese</option><option
value=\"br\">Portuguese (Brazilian)</option><option value=\"ro\">Romanian</option><option
value=\"ru\">Russian</option><option value=\"es\">Spanish</option><option
value=\"se\">Swedish</option></select></h1>\n</td></tr>\n<tr><td align=\"center\"
colspan=\"2\">\n<div id=\"hBar\">\n\t\t\t <ul>\n\t\t\t\t<li><a class=\"button
white\" href=\"/newaccount.php\">Signup</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/login.php\">Login</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/shows.php\">Shows</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/allshows/a\">Air dates</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"http://www.sub-talk.net\">Forum</a></li>\n\t\t\t </ul>\n\t\t\t
\ </div>\n</td></tr> \n<tr>\n <td>\n</td><td>\n\t<g:plusone size=\"medium\"></g:plusone>\n
\ <a href=\"http://twitter.com/addic7ed\" target=\"_blank\"><img width=\"32\"
height=\"32\" src=\"http://www.addic7ed.com/images/twitter_right.png\" alt=\"Twitter\"
border=\"0\" /></a>\n\t<a href=\"irc://irc.efnet.net:6667/addic7ed\"><img
width=\"32\" height=\"32\" src=\"http://www.addic7ed.com/images/irc-right.png\"
alt=\"IRC\" border=\"0\" /></a>\n<div style=\"float: right; padding-right:10%;\">\n\n
\ </td>\n </tr>\n <tr>\n <td colspan=2><iframe src=\"http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2FAddic7ed&amp;send=false&amp;layout=button_count&amp;width=450&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=tahoma&amp;height=21&amp;appId=121322186712\"
scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; width:80px;
height:21px;\" allowTransparency=\"true\"></iframe>\n </td>\n </tr>\n</table>\n</center>\n\n<center>\n\n<!--[if
lt IE 7]>\n <style type=\"text/css\">\n div, img { behavior: url(http://www.addic7ed.com/js/iepngfix.htc)
}\n </style>\n<![endif]-->\n<br />\n<center>\n<!-- MarketGidComposite Start
-->\n<div id=\"MarketGidScriptRootC13385\">\n <div id=\"MarketGidPreloadC13385\">\n
\ <a id=\"mg_add13385\" href=\"http://mgid.com/advertisers/?utm_source=widget&utm_medium=text&utm_campaign=add\"
target=\"_blank\">Place your ad here</a><br> <a href=\"http://mgid.com/\"
target=\"_blank\">Loading...</a> \n </div>\n <script>\n
\ window.MGWidgetTitle13385 = \"Promoted
Content\"; (function(){\n var
D=new Date(),d=document,b='body',ce='createElement',ac='appendChild',st='style',ds='display',n='none',gi='getElementById';\n
\ var i=d[ce]('iframe');i[st][ds]=n;d[gi](\"MarketGidScriptRootC13385\")[ac](i);try{var
iw=i.contentWindow.document;iw.open();iw.writeln(\"<ht\"+\"ml><bo\"+\"dy></bo\"+\"dy></ht\"+\"ml>\");iw.close();var
c=iw[b];}\n catch(e){var
iw=d;var c=d[gi](\"MarketGidScriptRootC13385\");}var dv=iw[ce]('div');dv.id=\"MG_ID\";dv[st][ds]=n;dv.innerHTML=13385;c[ac](dv);\n
\ var
s=iw[ce]('script');s.async='async';s.defer='defer';s.charset='utf-8';s.src=\"//jsc.mgid.com/a/d/addic7ed.com.13385.js?t=\"+D.getYear()+D.getMonth()+D.getDate()+D.getHours();c[ac](s);})();\n
\ </script>\n
\ </div>\n
\ <!--
MarketGidComposite End -->\n<script type=\"text/javascript\" src=\"//eclkspsa.com/adServe/banners?tid=ADTPOP&tagid=2\"></script>\n</center><br
/>\n\n<div id=\"container\"> \n \t<table class=\"tabel70\" border=\"0\">\n
\ \t<tr> <!-- table header -->\n \t<td class=\"tablecorner\"><img
src=\"http://www.addic7ed.com/images/tl.gif\" /></td>\n <td></td>\n
\ <td class=\"tablecorner\"><img src=\"http://www.addic7ed.com/images/tr.gif\"
/></td>\n </tr>\n <tr>\n \t<td></td>\n <td>\n<form
action=\"/search.php\" method=\"get\">\n<div align=\"center\">\n<input name=\"search\"
type=\"text\" id=\"search\" size=\"50\" value=\"Dallas\" class=\"inputCool\"/>&nbsp;\n
<input name=\"Submit\" type=\"submit\" class=\"coolBoton\" value=\"Search\"
/></form><br />\n\n<b>181 results found</b> </div><br />\n\n<br />\n\t<center>\n\n</center>\n<br
/>\n<center>&nbsp;&nbsp;<img src=\"http://www.addic7ed.com/images/database.png\"
/> <span class=\"titulo\">\nAre you looking for <a href=\"/show/802\" >Show
<i>Dallas</i></a>&nbsp;?</span></center><br /><br />\n\n<table class=\"tabel\"
align=\"center\" width=\"80%\" border=\"0\">\n<tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/1/1/Digger%27s_Daughter\" debug=\"31856\">Dallas
- 01x01 - Digger's Daughter</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/1/2/Lessons\" debug=\"31855\">Dallas - 01x02
- Lessons</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/1/3/Spy_in_the_House\" debug=\"31854\">Dallas
- 01x03 - Spy in the House</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/1/4/Winds_of_Vengeance\" debug=\"31853\">Dallas
- 01x04 - Winds of Vengeance</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/1/5/Barbecue\" debug=\"31852\">Dallas -
01x05 - Barbecue</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/1/Reunion__%281%29\" debug=\"31906\">Dallas
- 02x01 - Reunion (1)</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/2/Reunion__%282%29\" debug=\"31905\">Dallas
- 02x02 - Reunion (2)</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/3/Old_Acquaintance\" debug=\"31904\">Dallas
- 02x03 - Old Acquaintance</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/4/Bypass\" debug=\"31903\">Dallas - 02x04
- Bypass</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/5/Black_Market_Baby\" debug=\"31901\">Dallas
- 02x05 - Black Market Baby</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/6/Double_Wedding\" debug=\"31900\">Dallas
- 02x06 - Double Wedding</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/7/Runaway\" debug=\"31899\">Dallas - 02x07
- Runaway</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/8/Election\" debug=\"31898\">Dallas -
02x08 - Election</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/9/Survival\" debug=\"31897\">Dallas -
02x09 - Survival</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/10/Act_of_Love\" debug=\"31896\">Dallas
- 02x10 - Act of Love</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/11/Triangle\" debug=\"31895\">Dallas -
02x11 - Triangle</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/12/Fallen_Idol\" debug=\"31894\">Dallas
- 02x12 - Fallen Idol</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/13/Kidnapped\" debug=\"31893\">Dallas
- 02x13 - Kidnapped</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/14/Home_Again\" debug=\"31892\">Dallas
- 02x14 - Home Again</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/15/For_Love_or_Money\" debug=\"31891\">Dallas
- 02x15 - For Love or Money</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/16/Julie%27s_Return\" debug=\"31890\">Dallas
- 02x16 - Julie's Return</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/17/The_Red_File__%281%29\" debug=\"31889\">Dallas
- 02x17 - The Red File (1)</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/18/The_Red_File__%282%29\" debug=\"31888\">Dallas
- 02x18 - The Red File (2)</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/19/Sue_Ellen%27s_Sister\" debug=\"31887\">Dallas
- 02x19 - Sue Ellen's Sister</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/20/Call_Girl\" debug=\"31886\">Dallas
- 02x20 - Call Girl</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/21/Royal_Marriage\" debug=\"31885\">Dallas
- 02x21 - Royal Marriage</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/22/The_Outsiders\" debug=\"31884\">Dallas
- 02x22 - The Outsiders</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/23/John_Ewing_III__%281%29\" debug=\"31883\">Dallas
- 02x23 - John Ewing III (1)</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/2/24/John_Ewing_III_%282%29\" debug=\"31882\">Dallas
- 02x24 - John Ewing III (2)</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/1/Whatever_Happened_to_Baby_John%3F__%281%29\"
debug=\"31858\">Dallas - 03x01 - Whatever Happened to Baby John? (1)</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas/3/2/Whatever_Happened_to_Baby_John%3F__%282%29\"
debug=\"31857\">Dallas - 03x02 - Whatever Happened to Baby John? (2)</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas/3/3/The_Silent_Killer\"
debug=\"31881\">Dallas - 03x03 - The Silent Killer</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas/3/4/Secrets\"
debug=\"31880\">Dallas - 03x04 - Secrets</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/5/The_Kristin_Affair\" debug=\"31879\">Dallas
- 03x05 - The Kristin Affair</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/6/The_Dove_Hunt\" debug=\"31878\">Dallas
- 03x06 - The Dove Hunt</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/7/The_Lost_Child\" debug=\"31877\">Dallas
- 03x07 - The Lost Child</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/8/Rodeo\" debug=\"31876\">Dallas - 03x08
- Rodeo</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/9/Mastectomy__%281%29\" debug=\"31875\">Dallas
- 03x09 - Mastectomy (1)</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/10/Mastectomy__%282%29\" debug=\"31874\">Dallas
- 03x10 - Mastectomy (2)</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/11/The_Heiress\" debug=\"31873\">Dallas
- 03x11 - The Heiress</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/12/Ellie_Saves_the_Day\" debug=\"31872\">Dallas
- 03x12 - Ellie Saves the Day</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/13/Mother_of_the_Year\" debug=\"31871\">Dallas
- 03x13 - Mother of the Year</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/14/Return_Engagements\" debug=\"31870\">Dallas
- 03x14 - Return Engagements</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/15/Love_and_Marriage\" debug=\"31869\">Dallas
- 03x15 - Love and Marriage</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/16/Power_Play\" debug=\"31868\">Dallas
- 03x16 - Power Play</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/17/Paternity_Suit\" debug=\"31867\">Dallas
- 03x17 - Paternity Suit</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/18/Jenna%27s_Return\" debug=\"31866\">Dallas
- 03x18 - Jenna's Return</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/19/Sue_Ellen%27s_Choice\" debug=\"31865\">Dallas
- 03x19 - Sue Ellen's Choice</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/20/Second_Thoughts\" debug=\"31864\">Dallas
- 03x20 - Second Thoughts</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/21/Divorce___Ewing_Style\" debug=\"31863\">Dallas
- 03x21 - Divorce Ewing Style</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/22/Jock%27s_Trial__%281%29\" debug=\"31862\">Dallas
- 03x22 - Jock's Trial (1)</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/23/Jock%27s_Trial__%282%29\" debug=\"31861\">Dallas
- 03x23 - Jock's Trial (2)</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/24/The_Wheeler_Dealer\" debug=\"31860\">Dallas
- 03x24 - The Wheeler Dealer</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/3/25/A_House_Divided\" debug=\"31859\">Dallas
- 03x25 - A House Divided</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/8/1/Killer_at_Large\" debug=\"69652\">Dallas
- 08x01 - Killer at Large</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/1/The_Family_Ewing\" debug=\"31937\">Dallas
- 09x01 - The Family Ewing</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/2/Rock_Bottom\" debug=\"31936\">Dallas
- 09x02 - Rock Bottom</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/3/Those_Eyes\" debug=\"31935\">Dallas
- 09x03 - Those Eyes</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/4/Resurrection\" debug=\"31934\">Dallas
- 09x04 - Resurrection</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/5/Saving_Grace\" debug=\"31933\">Dallas
- 09x05 - Saving Grace</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/6/Mothers\" debug=\"31932\">Dallas - 09x06
- Mothers</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/7/The_Wind_of_Change\" debug=\"31931\">Dallas
- 09x07 - The Wind of Change</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/8/Quandary\" debug=\"31930\">Dallas -
09x08 - Quandary</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/9/Close_Encounters\" debug=\"31929\">Dallas
- 09x09 - Close Encounters</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/10/Suffer_the_Little_Children\" debug=\"31928\">Dallas
- 09x10 - Suffer the Little Children</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/11/The_Prize\" debug=\"31927\">Dallas
- 09x11 - The Prize</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/12/En_Passant\" debug=\"31926\">Dallas
- 09x12 - En Passant</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/13/Goodbye%2C_Farewell%2C_and_Amen\" debug=\"31925\">Dallas
- 09x13 - Goodbye, Farewell, and Amen</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/14/Curiosity_Killed_the_Cat\" debug=\"31924\">Dallas
- 09x14 - Curiosity Killed the Cat</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/15/The_Missing_Link\" debug=\"31923\">Dallas
- 09x15 - The Missing Link</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/16/Twenty_Four_Hours\" debug=\"31922\">Dallas
- 09x16 - Twenty Four Hours</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/17/The_Deadly_Game\" debug=\"31921\">Dallas
- 09x17 - The Deadly Game</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/18/Blame_it_on_Bogota\" debug=\"31920\">Dallas
- 09x18 - Blame it on Bogota</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/19/Shadow_Games\" debug=\"31919\">Dallas
- 09x19 - Shadow Games</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/20/Missing\" debug=\"31918\">Dallas -
09x20 - Missing</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/21/Dire_Straits\" debug=\"31917\">Dallas
- 09x21 - Dire Straits</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/22/Overture\" debug=\"31916\">Dallas -
09x22 - Overture</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/23/Sitting_Ducks\" debug=\"31915\">Dallas
- 09x23 - Sitting Ducks</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/24/Masquerade\" debug=\"31914\">Dallas
- 09x24 - Masquerade</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/25/Just_Desserts\" debug=\"31913\">Dallas
- 09x25 - Just Desserts</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/26/Nothing%27s_Ever_Perfect\" debug=\"31912\">Dallas
- 09x26 - Nothing's Ever Perfect</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/27/J.R._Rising\" debug=\"31911\">Dallas
- 09x27 - J.R. Rising</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/28/Serendipity\" debug=\"31910\">Dallas
- 09x28 - Serendipity</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/29/Thrice_in_a_Lifetime\" debug=\"31909\">Dallas
- 09x29 - Thrice in a Lifetime</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/30/Hello%2C_Goodbye%2C_Hello\" debug=\"31908\">Dallas
- 09x30 - Hello, Goodbye, Hello</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/9/31/Blast_From_the_Past\" debug=\"31907\">Dallas
- 09x31 - Blast From the Past</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/1/Carousel\" debug=\"25485\">Dallas -
12x01 - Carousel</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/2/No_Greater_Love\" debug=\"25486\">Dallas
- 12x02 - No Greater Love</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/3/The_Call_of_the_Wild\" debug=\"25487\">Dallas
- 12x03 - The Call of the Wild</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/4/Out_of_the_Frying_Pan\" debug=\"25488\">Dallas
- 12x04 - Out of the Frying Pan</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/5/Road_Work\" debug=\"25489\">Dallas
- 12x05 - Road Work</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/6/War_and_Love_and_the_Whole_Damned_Thing\"
debug=\"25490\">Dallas - 12x06 - War and Love and the Whole Damned Thing</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas/12/7/Showdown_at_the_Ewing_Corral\"
debug=\"25491\">Dallas - 12x07 - Showdown at the Ewing Corral</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas/12/8/Deception\"
debug=\"25492\">Dallas - 12x08 - Deception</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/9/Counter_Attack\" debug=\"25493\">Dallas
- 12x09 - Counter Attack</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/10/The_Sting\" debug=\"25494\">Dallas
- 12x10 - The Sting</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/11/The_Two_Mrs._Ewings\" debug=\"25495\">Dallas
- 12x11 - The Two Mrs. Ewings</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/12/The_Switch\" debug=\"25496\">Dallas
- 12x12 - The Switch</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/13/Here%27s_Papa%21\" debug=\"25497\">Dallas
- 12x13 - Here's Papa!</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/14/Comings_and_Goings\" debug=\"25498\">Dallas
- 12x14 - Comings and Goings</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/15/Country_Girl\" debug=\"25499\">Dallas
- 12x15 - Country Girl</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/16/Wedding_Bell_Blues\" debug=\"25500\">Dallas
- 12x16 - Wedding Bell Blues</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/17/The_Way_We_Were\" debug=\"25501\">Dallas
- 12x17 - The Way We Were</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/18/The_Serpent%27s_Tooth\" debug=\"25502\">Dallas
- 12x18 - The Serpent's Tooth</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/19/Three_Hundred\" debug=\"25503\">Dallas
- 12x19 - Three Hundred</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/20/April_Showers\" debug=\"25504\">Dallas
- 12x20 - April Showers</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/21/And_Away_We_Go%21\" debug=\"25505\">Dallas
- 12x21 - And Away We Go!</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/22/Yellow_Brick_Road\" debug=\"25506\">Dallas
- 12x22 - Yellow Brick Road</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/23/The_Sound_of_Money\" debug=\"25507\">Dallas
- 12x23 - The Sound of Money</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/24/The_Great_Texas_Waltz\" debug=\"25508\">Dallas
- 12x24 - The Great Texas Waltz</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/25/Mission_to_Moscow\" debug=\"25510\">Dallas
- 12x25 - Mission to Moscow</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/12/26/Reel_Life\" debug=\"25511\">Dallas
- 12x26 - Reel Life</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/1/Phantom_of_the_Oil_Rig\" debug=\"26320\">Dallas
- 13x01 - Phantom of the Oil Rig</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/2/The_Leopard%27s_Spots\" debug=\"26321\">Dallas
- 13x02 - The Leopard's Spots</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/3/Cry_Me_a_River_of_Oil\" debug=\"26322\">Dallas
- 13x03 - Cry Me a River of Oil</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/4/Ka-Booooom%21\" debug=\"26323\">Dallas
- 13x04 - Ka-Booooom!</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/5/Sunrise%2C_Sunset\" debug=\"26324\">Dallas
- 13x05 - Sunrise, Sunset</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/6/Pride_and_Prejudice\" debug=\"26325\">Dallas
- 13x06 - Pride and Prejudice</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/7/Fathers_and_Other_Strangers\" debug=\"26326\">Dallas
- 13x07 - Fathers and Other Strangers</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/8/Black_Tide\" debug=\"26327\">Dallas
- 13x08 - Black Tide</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/9/Daddy_Dearest\" debug=\"26328\">Dallas
- 13x09 - Daddy Dearest</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/10/Hell%27s_Fury\" debug=\"26329\">Dallas
- 13x10 - Hell's Fury</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/11/Cally_on_a_Hot_Tin_Roof\" debug=\"26330\">Dallas
- 13x11 - Cally on a Hot Tin Roof</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/12/Sex%2C_Lies_and_Videotape\" debug=\"26331\">Dallas
- 13x12 - Sex, Lies and Videotape</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/13/Tale_of_Two_Cities\" debug=\"26332\">Dallas
- 13x13 - Tale of Two Cities</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/14/Judgment_Day\" debug=\"26333\">Dallas
- 13x14 - Judgment Day</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/15/Unchain_My_Heart\" debug=\"26334\">Dallas
- 13x15 - Unchain My Heart</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/16/I_Dream_of_Jeannie\" debug=\"26335\">Dallas
- 13x16 - I Dream of Jeannie</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/17/After_Midnight\" debug=\"26336\">Dallas
- 13x17 - After Midnight</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/18/The_Crucible\" debug=\"26337\">Dallas
- 13x18 - The Crucible</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/19/Dear_Hearts_and_Gentle_People\" debug=\"26338\">Dallas
- 13x19 - Dear Hearts and Gentle People</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/20/Paradise_Lost\" debug=\"26339\">Dallas
- 13x20 - Paradise Lost</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/21/Will_Power\" debug=\"26340\">Dallas
- 13x21 - Will Power</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/22/The_Smiling_Cobra\" debug=\"26341\">Dallas
- 13x22 - The Smiling Cobra</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/23/Jessica_Redux\" debug=\"26346\">Dallas
- 13x23 - Jessica Redux</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/24/Family_Plot\" debug=\"26342\">Dallas
- 13x24 - Family Plot</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/25/The_Southfork_Wedding_Jinx\" debug=\"26343\">Dallas
- 13x25 - The Southfork Wedding Jinx</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas/13/26/Three%2C_Three%2C_Three_%281%29\"
debug=\"26344\">Dallas - 13x26 - Three, Three, Three (1)</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas/13/27/Three%2C_Three%2C_Three_%282%29\"
debug=\"26345\">Dallas - 13x27 - Three, Three, Three (2)</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/film.png\" /></td><td><a href=\"movie/88544\"
debug=\"88544\">Dallas (1950)</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas_%282012%29/1/1/Changing_of_the_Guard\" debug=\"63362\">Dallas
(2012) - 01x01 - Changing of the Guard</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas_%282012%29/1/2/Hedging_Your_Bets\" debug=\"63364\">Dallas
(2012) - 01x02 - Hedging Your Bets</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas_%282012%29/1/3/The_Price_You_Pay\" debug=\"63827\">Dallas
(2012) - 01x03 - The Price You Pay</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas_%282012%29/1/4/The_Last_Hurrah\" debug=\"63994\">Dallas
(2012) - 01x04 - The Last Hurrah</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas_%282012%29/1/5/Truth_and_consequences\"
debug=\"64210\">Dallas (2012) - 01x05 - Truth and consequences</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/1/6/The_Enemy_of_My_Enemy\"
debug=\"64512\">Dallas (2012) - 01x06 - The Enemy of My Enemy</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/1/7/Collateral_Damage\"
debug=\"64686\">Dallas (2012) - 01x07 - Collateral Damage</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/1/8/No_Good_Deed\"
debug=\"64933\">Dallas (2012) - 01x08 - No Good Deed</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/1/9/Family_Business\"
debug=\"65100\">Dallas (2012) - 01x09 - Family Business</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/1/10/Revelations\"
debug=\"65276\">Dallas (2012) - 01x10 - Revelations</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/1/Battle_Lines\"
debug=\"71069\">Dallas (2012) - 02x01 - Battle Lines</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/2/Venomous_Creatures\"
debug=\"71070\">Dallas (2012) - 02x02 - Venomous Creatures</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/3/Sins_of_the_Father\"
debug=\"71358\">Dallas (2012) - 02x03 - Sins of the Father</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/4/False_Confessions\"
debug=\"71644\">Dallas (2012) - 02x04 - False Confessions</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/5/Trial_and_Error\"
debug=\"71949\">Dallas (2012) - 02x05 - Trial and Error</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/6/Blame_Game\"
debug=\"72265\">Dallas (2012) - 02x06 - Blame Game</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/7/The_Furious_and_the_Fast\"
debug=\"72625\">Dallas (2012) - 02x07 - The Furious and the Fast</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/8/J.R.%27s_Masterpiece\"
debug=\"72969\">Dallas (2012) - 02x08 - J.R.'s Masterpiece</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/9/Ewings_Unite%21\"
debug=\"73242\">Dallas (2012) - 02x09 - Ewings Unite!</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/10/Guilt_And_Innocence\"
debug=\"73578\">Dallas (2012) - 02x10 - Guilt And Innocence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/11/Let_Me_In\"
debug=\"73846\">Dallas (2012) - 02x11 - Let Me In</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/12/A_Call_to_Arms\"
debug=\"74098\">Dallas (2012) - 02x12 - A Call to Arms</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/13/Love_%40_Family\"
debug=\"74099\">Dallas (2012) - 02x13 - Love & Family</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/14/Guilt_By_Association\"
debug=\"74342\">Dallas (2012) - 02x14 - Guilt By Association</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/15/Legacies\"
debug=\"74347\">Dallas (2012) - 02x15 - Legacies</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/1/The_Return\"
debug=\"84652\">Dallas (2012) - 03x01 - The Return</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/2/Trust_Me\"
debug=\"84941\">Dallas (2012) - 03x02 - Trust Me</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/3/Playing_Chicken\"
debug=\"85388\">Dallas (2012) - 03x03 - Playing Chicken</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/4/Lifting_the_Veil\"
debug=\"85735\">Dallas (2012) - 03x04 - Lifting the Veil</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/5/D.T.R.\"
debug=\"86033\">Dallas (2012) - 03x05 - D.T.R.</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/6/Like_Father%2C_Like_Son\"
debug=\"86406\">Dallas (2012) - 03x06 - Like Father, Like Son</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/7/Like_a_Bad_Penny\"
debug=\"86664\">Dallas (2012) - 03x07 - Like a Bad Penny</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/8/Where_There%27s_Smoke\"
debug=\"86948\">Dallas (2012) - 03x08 - Where There's Smoke</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/9/Denial%2C_Anger%2C_Acceptance\"
debug=\"91222\">Dallas (2012) - 03x09 - Denial, Anger, Acceptance</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/10/Dead_Reckoning\"
debug=\"91469\">Dallas (2012) - 03x10 - Dead Reckoning</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/11/Hurt\"
debug=\"91634\">Dallas (2012) - 03x11 - Hurt</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/12/Victims_of_Love\"
debug=\"91837\">Dallas (2012) - 03x12 - Victims of Love</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/13/Boxed_In\"
debug=\"91959\">Dallas (2012) - 03x13 - Boxed In</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/14/Endgame\"
debug=\"92148\">Dallas (2012) - 03x14 - Endgame</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/15/Brave_New_World\"
debug=\"92160\">Dallas (2012) - 03x15 - Brave New World</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/film.png\" /></td><td><a href=\"movie/82717\"
debug=\"82717\">Dallas Buyers Club (2013)</a></td></tr><tr><p>\n<p>\n</table>\n</td>\n
\ <td></td>\n </tr>\n <tr> <!-- table
footer -->\n \t<td class=\"tablecorner\"><img src=\"http://www.addic7ed.com/images/bl.gif\"
/></td>\n <td></td>\n <td class=\"tablecorner\"><img
src=\"http://www.addic7ed.com/images/br.gif\" /></td>\n </tr>\n
\ </table>\n </div>\n<iframe src=\"//s.ato.mx/p.html#id=7869&size=728x90\"
width=\"728\" height=\"90\" frameborder=\"0\" scrolling=\"no\" marginwidth=\"0\"
marginheight=\"0\"></iframe>\n\n\n<center><table border=\"0\" width=\"90%\">\n<tr>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Addic7ed</td>\n<td class=\"NewsTitle\"><img width=\"20\" height=\"20\"
src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\"
alt=\" \" />Popular Shows</td>\n<td class=\"NewsTitle\"><img width=\"20\"
height=\"20\" src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\"
/><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\" \" />Useful</td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Forums</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/shows.php\">Browse
By Shows</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/4906\">12
Monkeys</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/shows-schedule\">TV
Shows Schedule</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/1031-changelog/\">Site
Changelog</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/movie-subtitles\">Browse
By Movies</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1812\">Homeland</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/2784-frequently-asked-questions/\">Frequently
Asked Questions</a></div></td>\n<td><div id=\"footermenu\">Support Us</div></td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/top-uploaders\">Top Uploaders</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/620\">Modern Family</a></div></td>\n<td><div
id=\"footermenu\">RSS Feeds</div></td>\n<td><div id=\"footermenu\">Premium
Accounts</div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=downloaded\">Top
Downloads</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/466\">Glee</a></div></td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\"/>Tutorials</td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/thread-6-1-1.html\">Video
Formats</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=news\">All
News</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/450\">Parks
and Recreation</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/338-guide-to-syncing-with-subtitleedit/page__p__1485__hl__%2B+%2Bsync__fromsearch__1#entry1485\">How
to Synchronize Subtitles</a></div></td>\n<td><div id=\"footermenu\">Frequently
Asked Questions</div></td>\n</tr> \n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net\">Sub-Talk
Forums</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1277\">Shameless
(US)</a></div></td>\n<td><div id=\"footermenu\">What Are Subtitles</div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=7\">TV Shows
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/latest_comments.php\">Latest
Comments</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/126\">The
Big Bang Theory</a></div></td>\n<td><div id=\"footermenu\">New Translation
Tutorial</div></td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=22\">Movies
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.vreaubagaj.ro/troler/\"
title=\"Trolere ieftine\" alt=\"Trolere ieftine\">Troler ieftin</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/130\">Family Guy</a></div></td>\n<td><div
id=\"footermenu\">Upload a New Subtitle Tutorial</div></td>\n<td class=\"NewsTitle\"><img
width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Stats</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\">Terms of Service</div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/1799\">American Horror Story</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/viewthread.php?tid=294\">How
to have an Avatar</a></div></td>\n<td align=\"left\">.\n\t\t\t\t</td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/contact.php\">Contact</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/15\">House</a></div></td>\n<td><div id=\"footermenu\"><a
href=\"http://www.vreaubagaj.ro/\" alt=\"Trolere\" title=\"Trolere\">Trolere</a></div></td>\n<td>\n</td>\n</tr>\n</table></center>\n</center>\n\n<script
type=\"text/javascript\">\nvar gaJsHost = ((\"https:\" == document.location.protocol)
? \"https://ssl.\" : \"http://www.\");\ndocument.write(unescape(\"%3Cscript
src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));\n</script>\n<script
type=\"text/javascript\">\ntry {\nvar pageTracker = _gat._getTracker(\"UA-10775680-1\");\npageTracker._trackPageview();\n}
catch(err) {}</script>\n\n\n<script type=\"text/javascript\" src=\"http://apis.google.com/js/plusone.js\"></script>\n
\ \n</body></html>\n"}
headers:
Cache-Control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Type: [text/html]
Date: ['Sat, 04 Jul 2015 17:11:38 GMT']
Expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
Pragma: [no-cache]
Server: [nginx]
Set-Cookie: [PHPSESSID=38vgutgvno5eij1f9au3ch6au6; path=/]
X-Powered-By: [PHP/5.3.3]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://www.addic7ed.com/search.php?search=Dallas&Submit=Search
response:
body:
string: !!binary |
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
headers:
cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
connection: [keep-alive]
content-encoding: [gzip]
content-type: [text/html]
date: ['Tue, 09 Feb 2016 15:57:56 GMT']
expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
pragma: [no-cache]
server: [nginx]
set-cookie: [PHPSESSID=0o8itpncimkt6g8g151qo9ded7; path=/]
x-powered-by: [PHP/5.3.3]
status: {code: 200, message: OK}
version: 1
@@ -0,0 +1,236 @@
interactions:
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://www.addic7ed.com/search.php?search=Grey+s+Anatomy&Submit=Search
response:
body:
string: !!binary |
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
headers:
cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
connection: [keep-alive]
content-encoding: [gzip]
content-type: [text/html]
date: ['Tue, 09 Feb 2016 15:57:58 GMT']
expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
pragma: [no-cache]
server: [nginx]
set-cookie: [PHPSESSID=knqqbsvm08522036a1kfq9oi22; path=/]
x-powered-by: [PHP/5.3.3]
status: {code: 200, message: OK}
version: 1
@@ -2,232 +2,120 @@ interactions:
- request:
body: null
headers:
User-Agent: [Subliminal/0.8.0]
method: GET
uri: http://www.addic7ed.com/search.php?Submit=Search&search=Dallas+%282012%29
response:
body: {string: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n<meta
http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<title>\nSearch
\"Dallas (2012)\" Subtitle Download - Addic7ed.com - For all those TV Series
Addic7s: Subtitles, Tv Series and Movies Talk, Forum and more -</title>\n<link
href=\"http://www.addic7ed.com/css/wikisubtitles.css\" rel=\"stylesheet\"
title=\"default\" type=\"text/css\" />\n<link rel=\"SHORTCUT ICON\" href=\"favicon.ico\"
/> \n<script type=\"text/javascript\" src=\"http://www.addic7ed.com/js/mootools.v1.11.js\"></script>\n\n</head>\n<body>\n<center><br
/>\n<table border=\"0\">\n<tr>\n <td rowspan=\"9\"><a href=\"/\"><img height=\"200\"
width=\"350\" src=\"http://www.addic7ed.com/images/addic7edheader.jpg\" border=\"0\"
\ title=\"Addic7ed.com - Quality Subtitles for TV Shows and movies\" alt=\"Addic7ed.com
- Quality Subtitles for TV Shows and movies\" /></a></td>\n</tr>\n<tr><td
align=\"center\" colspan=\"2\">\n<h1><small>Download free subtitles for TV
Shows and Movies.</small>&nbsp; \n<select name=\"applang\" class=\"inputCool\"
onchange=\"changeAppLang();\" id=\"comboLang\"><option value=\"ar\">Arabic</option><option
value=\"ca\">Catala</option><option selected=\"selected\" value=\"en\">English</option><option
value=\"eu\">Euskera</option><option value=\"fr\">French</option><option value=\"ga\">Galician</option><option
value=\"de\">German</option><option value=\"gr\">Greek</option><option value=\"hu\">Hungarian</option><option
value=\"it\">Italian</option><option value=\"fa\">Persian</option><option
value=\"pl\">Polish</option><option value=\"pt\">Portuguese</option><option
value=\"br\">Portuguese (Brazilian)</option><option value=\"ro\">Romanian</option><option
value=\"ru\">Russian</option><option value=\"es\">Spanish</option><option
value=\"se\">Swedish</option></select></h1>\n</td></tr>\n<tr><td align=\"center\"
colspan=\"2\">\n<div id=\"hBar\">\n\t\t\t <ul>\n\t\t\t\t<li><a class=\"button
white\" href=\"/newaccount.php\">Signup</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/login.php\">Login</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/shows.php\">Shows</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"/allshows/a\">Air dates</a></li>\n\t\t\t\t<li><a class=\"button
white\" href=\"http://www.sub-talk.net\">Forum</a></li>\n\t\t\t </ul>\n\t\t\t
\ </div>\n</td></tr> \n<tr>\n <td>\n</td><td>\n\t<g:plusone size=\"medium\"></g:plusone>\n
\ <a href=\"http://twitter.com/addic7ed\" target=\"_blank\"><img width=\"32\"
height=\"32\" src=\"http://www.addic7ed.com/images/twitter_right.png\" alt=\"Twitter\"
border=\"0\" /></a>\n\t<a href=\"irc://irc.efnet.net:6667/addic7ed\"><img
width=\"32\" height=\"32\" src=\"http://www.addic7ed.com/images/irc-right.png\"
alt=\"IRC\" border=\"0\" /></a>\n<div style=\"float: right; padding-right:10%;\">\n\n
\ </td>\n </tr>\n <tr>\n <td colspan=2><iframe src=\"http://www.facebook.com/plugins/like.php?href=https%3A%2F%2Fwww.facebook.com%2FAddic7ed&amp;send=false&amp;layout=button_count&amp;width=450&amp;show_faces=false&amp;action=like&amp;colorscheme=light&amp;font=tahoma&amp;height=21&amp;appId=121322186712\"
scrolling=\"no\" frameborder=\"0\" style=\"border:none; overflow:hidden; width:80px;
height:21px;\" allowTransparency=\"true\"></iframe>\n </td>\n </tr>\n</table>\n</center>\n\n<center>\n\n<!--[if
lt IE 7]>\n <style type=\"text/css\">\n div, img { behavior: url(http://www.addic7ed.com/js/iepngfix.htc)
}\n </style>\n<![endif]-->\n<br />\n<center>\n<!-- MarketGidComposite Start
-->\n<div id=\"MarketGidScriptRootC13385\">\n <div id=\"MarketGidPreloadC13385\">\n
\ <a id=\"mg_add13385\" href=\"http://mgid.com/advertisers/?utm_source=widget&utm_medium=text&utm_campaign=add\"
target=\"_blank\">Place your ad here</a><br> <a href=\"http://mgid.com/\"
target=\"_blank\">Loading...</a> \n </div>\n <script>\n
\ window.MGWidgetTitle13385 = \"Promoted
Content\"; (function(){\n var
D=new Date(),d=document,b='body',ce='createElement',ac='appendChild',st='style',ds='display',n='none',gi='getElementById';\n
\ var i=d[ce]('iframe');i[st][ds]=n;d[gi](\"MarketGidScriptRootC13385\")[ac](i);try{var
iw=i.contentWindow.document;iw.open();iw.writeln(\"<ht\"+\"ml><bo\"+\"dy></bo\"+\"dy></ht\"+\"ml>\");iw.close();var
c=iw[b];}\n catch(e){var
iw=d;var c=d[gi](\"MarketGidScriptRootC13385\");}var dv=iw[ce]('div');dv.id=\"MG_ID\";dv[st][ds]=n;dv.innerHTML=13385;c[ac](dv);\n
\ var
s=iw[ce]('script');s.async='async';s.defer='defer';s.charset='utf-8';s.src=\"//jsc.mgid.com/a/d/addic7ed.com.13385.js?t=\"+D.getYear()+D.getMonth()+D.getDate()+D.getHours();c[ac](s);})();\n
\ </script>\n
\ </div>\n
\ <!--
MarketGidComposite End -->\n<script type=\"text/javascript\" src=\"//eclkspsa.com/adServe/banners?tid=ADTPOP&tagid=2\"></script>\n</center><br
/>\n\n<div id=\"container\"> \n \t<table class=\"tabel70\" border=\"0\">\n
\ \t<tr> <!-- table header -->\n \t<td class=\"tablecorner\"><img
src=\"http://www.addic7ed.com/images/tl.gif\" /></td>\n <td></td>\n
\ <td class=\"tablecorner\"><img src=\"http://www.addic7ed.com/images/tr.gif\"
/></td>\n </tr>\n <tr>\n \t<td></td>\n <td>\n<form
action=\"/search.php\" method=\"get\">\n<div align=\"center\">\n<input name=\"search\"
type=\"text\" id=\"search\" size=\"50\" value=\"Dallas (2012)\" class=\"inputCool\"/>&nbsp;\n
<input name=\"Submit\" type=\"submit\" class=\"coolBoton\" value=\"Search\"
/></form><br />\n\n<b>40 results found</b> </div><br />\n\n<br />\n\t<center>\n\n</center>\n<br
/>\n<center>&nbsp;&nbsp;<img src=\"http://www.addic7ed.com/images/database.png\"
/> <span class=\"titulo\">\nAre you looking for <a href=\"/show/2559\" >Show
<i>Dallas (2012)</i></a>&nbsp;?</span></center><br /><br />\n\n<table class=\"tabel\"
align=\"center\" width=\"80%\" border=\"0\">\n<tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas_%282012%29/1/1/Changing_of_the_Guard\" debug=\"63362\">Dallas
(2012) - 01x01 - Changing of the Guard</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas_%282012%29/1/2/Hedging_Your_Bets\" debug=\"63364\">Dallas
(2012) - 01x02 - Hedging Your Bets</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas_%282012%29/1/3/The_Price_You_Pay\" debug=\"63827\">Dallas
(2012) - 01x03 - The Price You Pay</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas_%282012%29/1/4/The_Last_Hurrah\" debug=\"63994\">Dallas
(2012) - 01x04 - The Last Hurrah</a></td></tr><tr><tr><td><img src=\"http://www.addic7ed.com/images/television.png\"
/></td><td><a href=\"serie/Dallas_%282012%29/1/5/Truth_and_consequences\"
debug=\"64210\">Dallas (2012) - 01x05 - Truth and consequences</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/1/6/The_Enemy_of_My_Enemy\"
debug=\"64512\">Dallas (2012) - 01x06 - The Enemy of My Enemy</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/1/7/Collateral_Damage\"
debug=\"64686\">Dallas (2012) - 01x07 - Collateral Damage</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/1/8/No_Good_Deed\"
debug=\"64933\">Dallas (2012) - 01x08 - No Good Deed</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/1/9/Family_Business\"
debug=\"65100\">Dallas (2012) - 01x09 - Family Business</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/1/10/Revelations\"
debug=\"65276\">Dallas (2012) - 01x10 - Revelations</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/1/Battle_Lines\"
debug=\"71069\">Dallas (2012) - 02x01 - Battle Lines</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/2/Venomous_Creatures\"
debug=\"71070\">Dallas (2012) - 02x02 - Venomous Creatures</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/3/Sins_of_the_Father\"
debug=\"71358\">Dallas (2012) - 02x03 - Sins of the Father</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/4/False_Confessions\"
debug=\"71644\">Dallas (2012) - 02x04 - False Confessions</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/5/Trial_and_Error\"
debug=\"71949\">Dallas (2012) - 02x05 - Trial and Error</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/6/Blame_Game\"
debug=\"72265\">Dallas (2012) - 02x06 - Blame Game</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/7/The_Furious_and_the_Fast\"
debug=\"72625\">Dallas (2012) - 02x07 - The Furious and the Fast</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/8/J.R.%27s_Masterpiece\"
debug=\"72969\">Dallas (2012) - 02x08 - J.R.'s Masterpiece</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/9/Ewings_Unite%21\"
debug=\"73242\">Dallas (2012) - 02x09 - Ewings Unite!</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/10/Guilt_And_Innocence\"
debug=\"73578\">Dallas (2012) - 02x10 - Guilt And Innocence</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/11/Let_Me_In\"
debug=\"73846\">Dallas (2012) - 02x11 - Let Me In</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/12/A_Call_to_Arms\"
debug=\"74098\">Dallas (2012) - 02x12 - A Call to Arms</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/13/Love_%40_Family\"
debug=\"74099\">Dallas (2012) - 02x13 - Love & Family</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/14/Guilt_By_Association\"
debug=\"74342\">Dallas (2012) - 02x14 - Guilt By Association</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/2/15/Legacies\"
debug=\"74347\">Dallas (2012) - 02x15 - Legacies</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/1/The_Return\"
debug=\"84652\">Dallas (2012) - 03x01 - The Return</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/2/Trust_Me\"
debug=\"84941\">Dallas (2012) - 03x02 - Trust Me</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/3/Playing_Chicken\"
debug=\"85388\">Dallas (2012) - 03x03 - Playing Chicken</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/4/Lifting_the_Veil\"
debug=\"85735\">Dallas (2012) - 03x04 - Lifting the Veil</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/5/D.T.R.\"
debug=\"86033\">Dallas (2012) - 03x05 - D.T.R.</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/6/Like_Father%2C_Like_Son\"
debug=\"86406\">Dallas (2012) - 03x06 - Like Father, Like Son</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/7/Like_a_Bad_Penny\"
debug=\"86664\">Dallas (2012) - 03x07 - Like a Bad Penny</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/8/Where_There%27s_Smoke\"
debug=\"86948\">Dallas (2012) - 03x08 - Where There's Smoke</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/9/Denial%2C_Anger%2C_Acceptance\"
debug=\"91222\">Dallas (2012) - 03x09 - Denial, Anger, Acceptance</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/10/Dead_Reckoning\"
debug=\"91469\">Dallas (2012) - 03x10 - Dead Reckoning</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/11/Hurt\"
debug=\"91634\">Dallas (2012) - 03x11 - Hurt</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/12/Victims_of_Love\"
debug=\"91837\">Dallas (2012) - 03x12 - Victims of Love</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/13/Boxed_In\"
debug=\"91959\">Dallas (2012) - 03x13 - Boxed In</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/14/Endgame\"
debug=\"92148\">Dallas (2012) - 03x14 - Endgame</a></td></tr><tr><tr><td><img
src=\"http://www.addic7ed.com/images/television.png\" /></td><td><a href=\"serie/Dallas_%282012%29/3/15/Brave_New_World\"
debug=\"92160\">Dallas (2012) - 03x15 - Brave New World</a></td></tr><tr><p>\n<p>\n</table>\n</td>\n
\ <td></td>\n </tr>\n <tr> <!-- table
footer -->\n \t<td class=\"tablecorner\"><img src=\"http://www.addic7ed.com/images/bl.gif\"
/></td>\n <td></td>\n <td class=\"tablecorner\"><img
src=\"http://www.addic7ed.com/images/br.gif\" /></td>\n </tr>\n
\ </table>\n </div>\n<iframe src=\"//s.ato.mx/p.html#id=7869&size=728x90\"
width=\"728\" height=\"90\" frameborder=\"0\" scrolling=\"no\" marginwidth=\"0\"
marginheight=\"0\"></iframe>\n\n\n<center><table border=\"0\" width=\"90%\">\n<tr>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Addic7ed</td>\n<td class=\"NewsTitle\"><img width=\"20\" height=\"20\"
src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\"
alt=\" \" />Popular Shows</td>\n<td class=\"NewsTitle\"><img width=\"20\"
height=\"20\" src=\"http://www.addic7ed.com/images/television.png\" alt=\"TV\"
/><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\" \" />Useful</td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Forums</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/shows.php\">Browse
By Shows</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/4906\">12
Monkeys</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/shows-schedule\">TV
Shows Schedule</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/1031-changelog/\">Site
Changelog</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/movie-subtitles\">Browse
By Movies</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1812\">Homeland</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/2784-frequently-asked-questions/\">Frequently
Asked Questions</a></div></td>\n<td><div id=\"footermenu\">Support Us</div></td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/top-uploaders\">Top Uploaders</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/620\">Modern Family</a></div></td>\n<td><div
id=\"footermenu\">RSS Feeds</div></td>\n<td><div id=\"footermenu\">Premium
Accounts</div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=downloaded\">Top
Downloads</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/466\">Glee</a></div></td>\n<td
class=\"NewsTitle\"><img width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\"/>Tutorials</td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/thread-6-1-1.html\">Video
Formats</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/log.php?mode=news\">All
News</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/450\">Parks
and Recreation</a></div></td>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net/topic/338-guide-to-syncing-with-subtitleedit/page__p__1485__hl__%2B+%2Bsync__fromsearch__1#entry1485\">How
to Synchronize Subtitles</a></div></td>\n<td><div id=\"footermenu\">Frequently
Asked Questions</div></td>\n</tr> \n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.sub-talk.net\">Sub-Talk
Forums</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/1277\">Shameless
(US)</a></div></td>\n<td><div id=\"footermenu\">What Are Subtitles</div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=7\">TV Shows
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"/latest_comments.php\">Latest
Comments</a></div></td>\n<td><div id=\"footermenu\"><a href=\"/show/126\">The
Big Bang Theory</a></div></td>\n<td><div id=\"footermenu\">New Translation
Tutorial</div></td>\n<td><div id=\"footermenu\"><a href=\"http://sub-talk.net/index.php?gid=22\">Movies
Talk</a></div></td>\n</tr>\n<tr>\n<td><div id=\"footermenu\"><a href=\"http://www.vreaubagaj.ro/troler/\"
title=\"Trolere ieftine\" alt=\"Trolere ieftine\">Troler ieftin</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/130\">Family Guy</a></div></td>\n<td><div
id=\"footermenu\">Upload a New Subtitle Tutorial</div></td>\n<td class=\"NewsTitle\"><img
width=\"20\" height=\"20\" src=\"http://www.addic7ed.com/images/television.png\"
alt=\"TV\" /><img src=\"http://www.addic7ed.com/images/invisible.gif\" alt=\"
\" />Stats</td>\n</tr>\n<tr>\n<td><div id=\"footermenu\">Terms of Service</div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/1799\">American Horror Story</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"http://sub-talk.net/viewthread.php?tid=294\">How
to have an Avatar</a></div></td>\n<td align=\"left\">.\n\t\t\t\t</td>\n</tr>\n<tr>\n<td><div
id=\"footermenu\"><a href=\"/contact.php\">Contact</a></div></td>\n<td><div
id=\"footermenu\"><a href=\"/show/15\">House</a></div></td>\n<td><div id=\"footermenu\"><a
href=\"http://www.vreaubagaj.ro/\" alt=\"Trolere\" title=\"Trolere\">Trolere</a></div></td>\n<td>\n</td>\n</tr>\n</table></center>\n</center>\n\n<script
type=\"text/javascript\">\nvar gaJsHost = ((\"https:\" == document.location.protocol)
? \"https://ssl.\" : \"http://www.\");\ndocument.write(unescape(\"%3Cscript
src='\" + gaJsHost + \"google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E\"));\n</script>\n<script
type=\"text/javascript\">\ntry {\nvar pageTracker = _gat._getTracker(\"UA-10775680-1\");\npageTracker._trackPageview();\n}
catch(err) {}</script>\n\n\n<script type=\"text/javascript\" src=\"http://apis.google.com/js/plusone.js\"></script>\n
\ \n</body></html>\n"}
headers:
Cache-Control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Type: [text/html]
Date: ['Sat, 04 Jul 2015 17:11:38 GMT']
Expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
Pragma: [no-cache]
Server: [nginx]
Set-Cookie: [PHPSESSID=uj1fmp2tpmevdai9ef5b9913l3; path=/]
X-Powered-By: [PHP/5.3.3]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://www.addic7ed.com/search.php?search=Dallas+2012&Submit=Search
response:
body:
string: !!binary |
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
fpP1PWt3YKU8kBEHniH/7e79L7UagjE3VAAA
headers:
cache-control: ['no-store, no-cache, must-revalidate, post-check=0, pre-check=0']
connection: [keep-alive]
content-encoding: [gzip]
content-type: [text/html]
date: ['Tue, 09 Feb 2016 15:57:57 GMT']
expires: ['Thu, 19 Nov 1981 08:52:00 GMT']
pragma: [no-cache]
server: [nginx]
set-cookie: [PHPSESSID=tdonebpl9qk72a0kr1fcarve56; path=/]
x-powered-by: [PHP/5.3.3]
status: {code: 200, message: OK}
version: 1
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,906 @@
interactions:
- request:
body: data%5BUser%5D%5Bpassword%5D=subliminal&data%5BUser%5D%5Busername%5D=python-subliminal&_method=POST
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Length: ['99']
Content-Type: [application/x-www-form-urlencoded]
User-Agent: [Subliminal/2.0]
method: POST
uri: http://legendas.tv/login
response:
body:
string: !!binary |
H4sIAAAAAAAAAwMAAAAAAAAAAAA=
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['20']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:29 GMT']
location: ['http://legendas.tv/']
set-cookie: [PHPSESSID=p599stscp87ik494k66cjt83b2; path=/; HttpOnly, 'PHPSESSID=deleted;
expires=Wed, 01-Apr-2015 13:47:26 GMT; path=/', PHPSESSID=u6fmgu5ivtman5ap13jk1nva03;
path=/; HttpOnly, 'PHPSESSID=deleted; expires=Wed, 01-Apr-2015 13:47:26
GMT; path=/', PHPSESSID=n4mkb9v7a0f57kf2pakc9b9f36; path=/; HttpOnly, 'au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0;
expires=Thu, 14-Apr-2016 13:47:27 GMT; path=/']
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027372171']
status: {code: 302, message: Found}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=n4mkb9v7a0f57kf2pakc9b9f36]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://legendas.tv/legenda/sugestao/man%20of%20steel
response:
body:
string: !!binary |
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
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['2895']
content-type: [text/html; charset=utf-8]
date: ['Thu, 31 Mar 2016 13:46:29 GMT']
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027372208']
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=n4mkb9v7a0f57kf2pakc9b9f36]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://legendas.tv/util/carrega_legendas_busca_filme/29087/2/-/1
response:
body:
string: !!binary |
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
UB+l/RdMIdVEpSYAAA==
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['3262']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:29 GMT']
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027372232']
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=n4mkb9v7a0f57kf2pakc9b9f36]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://legendas.tv/downloadarquivo/525d8c2444851
response:
body:
string: !!binary |
H4sIAAAAAAAAAwMAAAAAAAAAAAA=
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['20']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:30 GMT']
location: ['http://f.legendas.tv/fa/b1/legendas_tv_20131015154036.rar']
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027372257']
status: {code: 302, message: Found}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=n4mkb9v7a0f57kf2pakc9b9f36]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://f.legendas.tv/fa/b1/legendas_tv_20131015154036.rar
response:
body:
string: !!binary |
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
headers:
accept-ranges: [bytes]
age: ['2']
connection: [keep-alive]
content-disposition: [attachment]
content-length: ['34529']
content-type: [application/octet-stream]
date: ['Thu, 31 Mar 2016 13:46:30 GMT']
etag: ['"930e3110a1a4f0a3-86e1-52b301b2041e9"']
last-modified: ['Sun, 07 Feb 2016 15:54:57 GMT']
via: [1.1 varnish]
x-backend: [imagens]
x-cache: [HIT]
x-cacheable: ['YES']
x-varnish: [2027372281 2027372130]
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=n4mkb9v7a0f57kf2pakc9b9f36]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://legendas.tv/users/logout
response:
body:
string: !!binary |
H4sIAAAAAAAAAwMAAAAAAAAAAAA=
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['20']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:30 GMT']
location: ['http://legendas.tv/']
set-cookie: ['au=deleted; expires=Wed, 01-Apr-2015 13:47:27 GMT; path=/', 'PHPSESSID=deleted;
expires=Wed, 01-Apr-2015 13:47:27 GMT; path=/', PHPSESSID=5oe2ekkaploru0oarl8692obl5;
path=/; HttpOnly]
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027372292']
status: {code: 302, message: Found}
version: 1
@@ -0,0 +1,94 @@
interactions:
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://legendas.tv/util/carrega_legendas_busca_filme/34084/2/-/1
response:
body:
string: !!binary |
H4sIAAAAAAAAA90a227byPVZAfoPE3a7lOGI1MWKHVlS4IuS9cKxt7KTFjAMYkSOKNoUh+EMbXl3
89x/6Gsfiu5r0S/wj/XMDK8S5dhJULQNEIscnsuc+zlD9p871OZ3IUEzPveHz/riB/k4cAcaCTSx
QLAzfFbrzwnHyJ7hiBE+0GI+bezA42cI/vW5x30yfM89HzXQMXFJ4GCGzj/0TfUkAZMkAjwnA80h
zI68kHs00JBNA04CoHpHY1R6YmacFdo1ubulkcPKOBHK1wEDUHwvuEaziEwHmjnFNx5AG/BHQ0LU
gebNsUvMRUOsaygiPizZit8XoLIZjbgdc1RFY8Z52DNNP1GKwW/MiDETpOT4Y0yYAXcpbRyGvmdj
IboA2lzM/YQF9jmJAswJgAqNDrTDlABo/Jw6lD2VscVI5H0b/mf3/xCknryDqefPv80O3khKT96A
jSNOafBNtnCQ0HrkJmKfgysxK1v/wi3c/1URQikhRIIbD8OFjAXUf95oQOydn6L9EXpzdHw8OkS3
Hp8hPiMojGhIIhRiPmMqROXGq7xaCQMBoe5lYObANg5oAFv2U8BsAWEnIizZTImD7gUOWeiJIPoJ
4TzmbFNXFPREbwHhhlgP/ZgZNp2buqQEoiI6LYvVaKSJBmS+8KbI5+hohF5dDlFf5RTEIjuziMh0
XTbzbgyXUtcnNnWI5MBuApNHcXCtQIwrpg37pqIw7D+/AN7e9FJwW1YZv/MJmxHCU0tysuCmLcRP
MoqN7RmxYEWsNoDbxAuIY9hKQzm9kg6mkOtYskscekoPgPJ6iueefzcY0wnldPOAgkIDRhxd6Tff
jq62o6fb0WWSTHRS2OkVvsFqVVOqMq+YeQUOHt01Wsa20TLmXlDWx7O+qSpEf0KdO+Q5A02UhYeJ
Szvd4AhZLv6IBurn11/RxeUuPBB3RhizWf1ChyzF92ybxgHXXyD9/V5jZ6f5qrvVaOmXGyvAPML2
9U+QoG88cisBAKI+jQNbxFJ9A/0iTSY4uxj4Qu2L51BFDDsiEFQjn4i7uq62qW/sApghq+MA6UtC
6PIhZneBDU/BX8iuJA6LoDpYqkvzsZ6OBgVOPlWBbUDscWpTH71GCaBpMubrqIdSu9/e3uobaBPp
ie0bOMD+Hfds5QHA6Yrpu5lIrCiRS3giDtu/O8fuCdTPXLCL5uUuYkaIIwA4EY7vgeNEfJ9MaUTq
Ln6BmFTvp4260GJubuXzjneDbB8zBpEOzonBiSNhVfm0JnsGEqn4SP8VceIwFPB9E9aEK9ZqImQD
KqOj12y2RXDVJC31N6Gc0WJEWjTbA8RFNPUWWpnlMluful5QAbPEvZOGdhkGpzGsyKREr5gFOoww
yDM6OR/vjfsmHvZZiIPhr6A28ZujRsT1GKTwLH0f52UBaog2HI/eHp1lVMAYc4SlqCt85Z01oQsN
BfQG+54DHjzQ8mtNBuN7MCuUJmCMU177MbOxrJhvgL6GoL+aUQANKYO4x7ZNQt5Y7vSkHmVGgebN
g3SM73qQ4skuPPKCME5DfeY5kIS0pF+zFG0N/NOP4f6n07NzqB3K8KCWXIe2TxkRLoFTekmjiDm+
EEJcXsRM1L45uYQt44VPApfPBlq72y1mW1EoP8ZeRECg9EpwXEMzBP6ic7xMaaQL6+gUPT/zupIG
WDyZezwTeaScI9Xd1KeY96BaT/muahXwhPhVT+c4Agv3Wq1wsaxk8FP7Wpk+FwiifQKcQBL5mDhD
aMXlUt+UTHK1J94IKWgCWJg5JAmN712+i0aMQx8OGQZlANAiRBj1J0OAE/QmylCmcNDhSqisBqFk
rHqR0ckhOn2Djk/fHp3kJbsEnW2w6OxU6GDulkq4ZxTbKgFkhIELPuzzUmhp0PI4wlk6zRaUYuK5
MwDYbkkDgCAPZg3IoXFF0pBgk5hzGgzfjU7eg1LUzefSy1ZVellm6kBn5tDbACXxVI1R1tacxJBW
oalek13ekRglAMP8WhoyoyGbxyjtStcQGkmgdNCDvFe6LxPMNpV1wGuIHq/0r8OVpc+RNifYW+BH
8MjghitL63iw2IVun5J1tM/k8/t/AcAwvxbUKq2mSl/VozXRI8pk6VFtqTxMRFpfXwwSx2KQs+zZ
RGQkkTUaceTnuHIFx6IvmYc+ESTM4q0qKbJ+/LfWlCKeqgcJmIaAvk1m1IfWBLAi6JRkYhYiKa00
REo1q7N5oj4x/Fg/Uzov0BWzkGhhhDSSmLQ+po3ELSVZBSPNGfuVYEUQGA8Tosr26lJmW/AC1S4h
1WUhIzMpEjuQrVPa3ItLQfC7etoYbhjQ6jp3WVOMZFcM5L+ra78vqGHDgMnEqYsTlzjUXqC8iZbQ
gmhE5vSGiCEafJBEolFMnqSiJUuf8icPcALvCFzy9awSNuJHMS4sZFKvEFRK8Kb1ld2BnesbhhxW
T6d1vQct+RA1WunmKuHXEImI9MG6edG7NN0XSEPaRrLvdMdr9puLqTaaii/6fhm80PtXMy2pXvzC
YFxXKM8HCNz3++8VBUN1VCBcK2FS+87AV3hR/yVzTMgWPaSl+dZMdwWFelMReZGBshiCnrFeLkM9
IiykMGek5GtitI1sIoocUStShqr42TAEUCKOkr9WE9KrQyQQ/+qPYk4VMw0jP56dnuTsdnNoOUkC
cLOwJo88hSoKa+AT84dVmu4h2bdBoLzX1WYKLhy+UBvcSCQWmjFNSCKM+gSGQVehiEGXxqAK/fJC
d5htBXQO1wmyeGrDXAYTbU5FSrK5uZuvVF0JYyuZ+wPUamaal0KmjEDQh3aRua3Wg+jUtFT+RPSa
1N8mTMh93xvquyurWTGVHmLq4CsZZxhuTX1zlbvnqNNB/XJT14b6Es2Hdlvem5B/FZqTeUgjqPb6
pQiCIPb9XDOp2h5GA3W+ynFyadFZUwj4IPJurcDqE/EZqaLzRDKZ2WUuKajANNWRuo2pbOql3icR
UMcBXTGWGFizJhTwsiBUYZDPMTD2N5j3M+mBW8GEUpxcZLMt1pt/SKcY1A0XqKlAn2JPaxKBoA8a
U4CKxsXycWBjUeOoMit4asmoKTdNTNqVyq0ktaTVjEoy3GvrggE6v4pgMAsxkib8HP1TObcIgWUm
yjK1JFSWTdX31bQpUiZA18Wfjd2HYZPsxmb0Nktvnwo7yXdaqOUFz31c2i4WOPGbnyottbbwQB3w
5B2yOmYkUXmK/GG0dzga52NkrThDTXAQkMjabu8sXjWhpRR4B6fvRvd/OUUOxML9Px3PpeiH83fH
0PkiDP7g4fu/3/+Nop8hNBZA9XfPJFb9tAwdCJiQOgQxaMDkoTwGinJI/hgTeMQYlkUAZJBVB5pl
Lh2KGGhDEcblFwTYMSRXebQXhrb5urPdfNVsv+wetF7udLa3t9rbr84rhuAlxJtKRDETey6MCRMK
Q+o8G4hBOflADFpCExrJ/hguZ+DfNoR6KxmolSKtAz+eJCc1iXrAGEcnb8V5vHipoHSHp1KdnEiN
NQ6EskDudJbJzFoctKHN9wnS1Ing6qlgS+AX4F3s+1DxUXoOg3yPcYuoU0/YII64B89KONqwlOGC
eD4BC6ofq6UNW+mRXQFnaomsBphhYTAUwzmkPMfsdltdp72Nt9uv2i3zCCwcMU58H0elG6vdbG1Z
reZOM7T2/XiM76xF++WWdXh+Zo33xvtvLei+tGERxRAohkQxFIohUAxAaUgUA1DUOQzsLMyyNiQw
bdhptlG6R2hIAsoxZN8XySgtvDcqHB3ELMaRR80p9qFMtCBa0is5wJI5am+bzY4JO+pC9mzt9Lo7
SLJNpq4HD2Y8x6NzbMrZKWa4cEZzFLj+/W/5SJ3dZ/OcmVnxS8zZfro5t3CbbLWcHRuTrc+Z84fD
g7131snoT9bZ6fvxwcgaQz46eXNq/fnD0aG1d9CB/3v7VVaVmAZgGgrTSDANgWkApiEw1xm39bLz
BcbFGLptmLCGyUVq2k7TbLWFabeEabu9rfZ/2rTlw5CK08J3R4eHxyOV52u1lUPY7FXCcsroJtPw
SpYRjpOUmErHSmpHp9lctLv/u8VjC2rATnO7C6n7ZespxaOEuK54gHby4iHU9FD12IeElKvzi4oH
YDwmKfyf2G67edDeabc7L7d3nmK5Ato3sdsHat//hlwczGgM+eFrbbga+1kcrotq9Vede62N/Dx7
TCnl4uXj2rePZcQSVNE0TL2BNaagjgml11LR2Znv+Yc158BvEvDykeE0W+UwEIkzUGsCQ8a1tvr+
YWUT/NbjIJHk/5lD9HMFWubN08XHs/72b15aWwWf63Qq37yUqrS0orXm5Uv5/eoDb5AyfQ2PR2/B
TffOqk7kn0gOanlKbzT+OoLTiLBZ8mJ32Tx7P74/3Psq6hFjcgbUhuOzx+yzVltOTiIAmMdJKPPM
6h4Pxkd7Y3R2dD6S1hQHz5+hmFqE3xhSeIcwFVosDqFv4SajfiwSAktzBDNbTej+u82XYo5Z3gHY
Ye8YnZyeHx2s2UNJ4Iqg/3xOWQZLnHPirmQRcUgv00+pfXlzenqejKkp6WfPyl8mYMcLXGtOHewn
FesnceaGMEcqe4vsGmK3NEU96huetF5c4cXyN0RizfS9SfqRT+yZLRg4jE760U/srX7x86jvhtR3
TuLrocJXTiUyUlvLH2pVfadlM9ZpzInjiS/txHeGjSu2/MkWlBrCViEFx3WfIFV/0aXq2dlo/GE0
7iHVcPZN8WmT/NJJfiP7b45cF0Q0KwAA
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['3558']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:12 GMT']
set-cookie: [PHPSESSID=ijn58c11ouvraodtbg2ep3djb7; path=/; HttpOnly]
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['NO:Not Cacheable']
x-varnish: ['2027370362']
status: {code: 200, message: OK}
version: 1
@@ -0,0 +1,88 @@
interactions:
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://legendas.tv/util/carrega_legendas_busca_filme/34084/17/-/1
response:
body:
string: !!binary |
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
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['3225']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:13 GMT']
set-cookie: [PHPSESSID=m1iq3visvsi4urub7m5cmtq7o4; path=/; HttpOnly]
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['NO:Not Cacheable']
x-varnish: ['2027370432']
status: {code: 200, message: OK}
version: 1
@@ -0,0 +1,672 @@
interactions:
- request:
body: data%5BUser%5D%5Bpassword%5D=subliminal&data%5BUser%5D%5Busername%5D=python-subliminal&_method=POST
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Length: ['99']
Content-Type: [application/x-www-form-urlencoded]
User-Agent: [Subliminal/2.0]
method: POST
uri: http://legendas.tv/login
response:
body:
string: !!binary |
H4sIAAAAAAAAAwMAAAAAAAAAAAA=
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['20']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:24 GMT']
location: ['http://legendas.tv/']
set-cookie: [PHPSESSID=tcopr8vovpreljgrj6fljstgs4; path=/; HttpOnly, 'PHPSESSID=deleted;
expires=Wed, 01-Apr-2015 13:47:21 GMT; path=/', PHPSESSID=p7rmaltdm9h0elsf26nsbs0vr3;
path=/; HttpOnly, 'PHPSESSID=deleted; expires=Wed, 01-Apr-2015 13:47:21
GMT; path=/', PHPSESSID=b7fd0mmtd0ki15oli592jkabj7; path=/; HttpOnly, 'au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0;
expires=Thu, 14-Apr-2016 13:47:22 GMT; path=/']
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027371677']
status: {code: 302, message: Found}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=b7fd0mmtd0ki15oli592jkabj7]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://legendas.tv/legenda/sugestao/the%20x%20files
response:
body:
string: !!binary |
H4sIAAAAAAAAA+1bbW/jNhL+K3P+tAvYXkl+keRPzV4uh16S7jUx2gWawqAl2uZCElWS0ma36H+/
GVKO3WSTSrsJcg2MIFFEDcmZ4TMP5SfML7/3FqJI+XVv1luJLOe61+8tzKeSbxvoXqR4N4rC0Zju
dCIVPi6qLKM7WakEb3/viXTheuxssUnk6RJbfG/qhzE2GVFKvL+kp4VZrHnBFTV42JDqBO0ZtmFD
xvGaMr0w9SLw/IkXBRPfG0eT8fBDuW6sC2nnm284vIcTkVn/6YEWhSw1PWsaUmbYImNFwnJeGJox
8Dy/eVipbOvoxphydvXm6s3Hjx+H1DZMZH71xgiTcbwYz0Vy9WbPg8VSYc8j9Vslagnv8QlmxWXV
ZcnwvJSKpQzNYpeXSldMCfLDD/1wHE6xeZWtF5lYcrTcT4lz3bYnTG7H3D6xkfiTgRcNgsnc92YT
fzYJmq45N6zcyILjfPsdd+3kumvnpdAyFfLGkNzRXAnrjWvKmDY4FE+37vGMG7pbsUzzPyhwZXqz
XzDKX//odwJXGLQHl7V9ZHBF/tQbj6N7wDXoDi7vScAFA4gY7AD1INaiJ8RaNPenMy+c+dFzYy3q
irUoaI81Z/uoWIu9sT+Z+IH3SFjz4zh+KqyFV5XnMQbzdoALnwpw8cAbz/0JMtvshrWfDXBhZ8BN
w/aAm4aPD7jYH08m4/t2zq8AXPRUgJt2A9z0CQEXz/3xbIIkN31uwE07Ai4OotaAa2wfEXBTzw9G
fjQejzoC7p0GGtFwDamEk7ffw4m8hvMqS7mCV8esFikcV8lG1sWn18DhmBUMLhOM7hO8+rfIMsEK
OMIcKS2L16AJSnwkAb9KqY2EKqeBZWWUnAEmG1iieCoMA54DMwInYCnOXjLFCqlyJnQf5+EZg6IZ
bAj/qbAKqB1DAFHUXBuxZjngFXttpIaEafz5W8UBLxmv8SGDRBa6FIrZcSytriY4AMsEd2OnGDrT
wItaZjXmk/xey5qrQpITyYbTLMxY49iOmMmEKUDs05xKcRxeUyhK4MoP4Rzvtn6DoKLBSKV1DL+V
/WUl6GchcYBcoPdNXPW22818Ek1zmxlQXJOLCv4Ua+MgTm8dypsR9BAeeEvyp09FJL7XjUl87zaV
jEbxOAi+mUp8b+BH8yCY+SNkk+emEgyzE5cEceuXpcZ0j0kC3HqCHZOc32YS3wvC22RijOvW7VNe
QxJ8Swe4shaUWWWwQrD2sDZ39UQgrfIv1SRB3mIcaSCRSyUUFhr2IV4AjQ286ZjJQny+1dHWsqAy
hoJwpxQbDodX6qp4+93Zd4++ndo0tf0g2vNOL0/OLufn/73o3QL+LdzvMLYHeb8l5L+EZEL43vTz
OyXgvL44PTmlvaYr3P1ROEI6mEyDB3HfDfbhtC3qnWUn0N+8wb5M0MthN6jvMNMOw8+I378DdIN4
1J6xRwfG/tsxtlvRF0/Z1K3rq8qk/avK5AD8A/BfDPDj9sCPD8A/AP9lAD8KQq8l8BvTTsAfTToC
/x5d61iK28pW34kvuL57ks4xyzBnfUTlNdNYHgXVBa8FXci8yqFUzhZTDyuO5cQy4NdlhmuhNXc1
gwNSV5zI0Nu4EtqwPqxE4kQqEooSkVrVhpHM1JRRU43MjXcjnhUkGOEsuiINzRYEh1ziIOS7cf6g
u0uZL7lQOGxTfogFJz6FDAMVkLBKI5qh5Jls4liNSkTzTuWyVd3EzZZshRdpFSb0kQJzqlSqqju6
mcsnRsdrDCGVKrcxAlYQ5CLbMEWpx0eFdZCtMfNQy8wwsIN4FB9XKzdiIvgQjkqrx+G0+TbniYRX
50wZUcAZpo5Vr928yFEbnlDuFEfHLBFRglfMKoU2IvSYK7fS/iCj5pz9CRVb3kOnudJ8XeGCIETY
Z7zieKZKG9qzkWZIdfyD5cCtiJl2/eD1Dfy1B3cYwDtifFuX9wtsdzmsF8dx+E3qmheSUB/Ecz+Y
BaNZEN9hrT1aOzmZeyfziy8TW2Nydv5/w2342WzU/mPc6LCpHzb1l7Gp4yvqtP3b7PQA/APwXwzw
2/7VtjE9AP8A/JcB/Kg98KMD8A/AfzHAb/+OHxze8Q/AfyHA9/3Ib/vPBFvbHfTH41Fo/4beDfqu
24PS3Qy+h59ZYcBIeMsRcTW/Uw0/OtWsymGtqtJKU3mVbTgpTNuzWcu0+kzyEwlICGdBV1UpJjSk
DH4Sau2EpkKwPjDXb8UKkeDvJel1end6ba2koXrRdO7K4GWDRVJsD11hCI3IRofMGJYXT7BW3Umy
RNqhCl4jGjUwCVhZ60ZNY6BkKmvBhvBPmUOJbibCesg116XFprYCGul/9sBYig72rQzJUmXVRrRd
b0scH+XSiJo1ulst9PaYW785rEan1pw8VthK3/ZMnaqF9JILV+COIjidWHPa3xIZQSlJ6iSi1ZY3
aJ4obtyJtlKinax2B96s1AmZWJM/TNq4XH5cbz2ES8I9DW41RifOpSXJfJamsE9T7hreu+N07lji
iicbnIoSiYZOFHVe3JwHrBkYSqY7H7d3oNBJkKwRTn304p2GnGcbSQAqlVwJrYUsyNR5AUivS4YG
eycacXWvB1vxcO+UJIdj5MX9k5FOobzJiguS5XuLisv9wWJCcVwyqzZrXtHsWhMGhnCEZY1rh37l
/TuUzTXCBdB9F1FacwqblkjTGrgwIWuuJHnb05bZGvOeVWumkMbpfCPD1W6MGNzecgjLxTZng4z9
417CDzzvawjfkcNDhD+Df1XwI2ZMwlGjuKquimcwGk8tc32D5hkNvKk9nBzPvGA2eVDz/PmH+fzt
2clDe8LpxenF3MqiX7M1BF7kBX+9Nfz6P7Y+y8tpNgAA
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['2142']
content-type: [text/html; charset=utf-8]
date: ['Thu, 31 Mar 2016 13:46:25 GMT']
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027371721']
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=b7fd0mmtd0ki15oli592jkabj7]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://legendas.tv/util/carrega_legendas_busca_filme/39287/2/-/1
response:
body:
string: !!binary |
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
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['3520']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:25 GMT']
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027371767']
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=b7fd0mmtd0ki15oli592jkabj7]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://legendas.tv/downloadarquivo/56a756935a76c
response:
body:
string: !!binary |
H4sIAAAAAAAAAwMAAAAAAAAAAAA=
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['20']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:25 GMT']
location: ['http://f.legendas.tv/l/legendas_tv_20160126092051.rar']
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027371823']
status: {code: 302, message: Found}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=b7fd0mmtd0ki15oli592jkabj7]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://f.legendas.tv/l/legendas_tv_20160126092051.rar
response:
body:
string: !!binary |
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
headers:
accept-ranges: [bytes]
age: ['0']
connection: [keep-alive]
content-disposition: [attachment]
content-length: ['21704']
content-type: [application/octet-stream]
date: ['Thu, 31 Mar 2016 13:46:25 GMT']
etag: ['"9029e46ddfba6177-54c8-52a3ae0cfcb7f"']
last-modified: ['Tue, 26 Jan 2016 11:20:51 GMT']
via: [1.1 varnish]
x-backend: [imagens]
x-cache: [MISS]
x-cacheable: ['YES']
x-varnish: ['2027371877']
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=b7fd0mmtd0ki15oli592jkabj7]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://legendas.tv/users/logout
response:
body:
string: !!binary |
H4sIAAAAAAAAAwMAAAAAAAAAAAA=
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['20']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:26 GMT']
location: ['http://legendas.tv/']
set-cookie: ['au=deleted; expires=Wed, 01-Apr-2015 13:47:23 GMT; path=/', 'PHPSESSID=deleted;
expires=Wed, 01-Apr-2015 13:47:23 GMT; path=/', PHPSESSID=327r39st9k1f777qmavs0ggg23;
path=/; HttpOnly]
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027371899']
status: {code: 302, message: Found}
version: 1
@@ -0,0 +1,906 @@
interactions:
- request:
body: data%5BUser%5D%5Bpassword%5D=subliminal&data%5BUser%5D%5Busername%5D=python-subliminal&_method=POST
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Length: ['99']
Content-Type: [application/x-www-form-urlencoded]
User-Agent: [Subliminal/2.0]
method: POST
uri: http://legendas.tv/login
response:
body:
string: !!binary |
H4sIAAAAAAAAAwMAAAAAAAAAAAA=
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['20']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:26 GMT']
location: ['http://legendas.tv/']
set-cookie: [PHPSESSID=bbg9kbtagjgl1nuhjj7inai9f2; path=/; HttpOnly, 'PHPSESSID=deleted;
expires=Wed, 01-Apr-2015 13:47:23 GMT; path=/', PHPSESSID=jnirclm09bpdnlet3cj1ks7c85;
path=/; HttpOnly, 'PHPSESSID=deleted; expires=Wed, 01-Apr-2015 13:47:23
GMT; path=/', PHPSESSID=av31i7is5o2ur6p4e1jh7t7jg4; path=/; HttpOnly, 'au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0;
expires=Thu, 14-Apr-2016 13:47:24 GMT; path=/']
vary: ['Accept-Encoding,User-Agent']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027371923']
status: {code: 302, message: Found}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=av31i7is5o2ur6p4e1jh7t7jg4]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://legendas.tv/legenda/sugestao/man%20of%20steel
response:
body:
string: !!binary |
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
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['2895']
content-type: [text/html; charset=utf-8]
date: ['Thu, 31 Mar 2016 13:46:27 GMT']
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027372001']
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=av31i7is5o2ur6p4e1jh7t7jg4]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://legendas.tv/util/carrega_legendas_busca_filme/29087/2/-/1
response:
body:
string: !!binary |
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
UB+l/RdMIdVEpSYAAA==
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['3262']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:27 GMT']
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027372037']
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=av31i7is5o2ur6p4e1jh7t7jg4]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://legendas.tv/downloadarquivo/525d8c2444851
response:
body:
string: !!binary |
H4sIAAAAAAAAAwMAAAAAAAAAAAA=
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['20']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:28 GMT']
location: ['http://f.legendas.tv/fa/b1/legendas_tv_20131015154036.rar']
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027372105']
status: {code: 302, message: Found}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=av31i7is5o2ur6p4e1jh7t7jg4]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://f.legendas.tv/fa/b1/legendas_tv_20131015154036.rar
response:
body:
string: !!binary |
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
headers:
accept-ranges: [bytes]
age: ['0']
connection: [keep-alive]
content-disposition: [attachment]
content-length: ['34529']
content-type: [application/octet-stream]
date: ['Thu, 31 Mar 2016 13:46:28 GMT']
etag: ['"930e3110a1a4f0a3-86e1-52b301b2041e9"']
last-modified: ['Sun, 07 Feb 2016 15:54:57 GMT']
via: [1.1 varnish]
x-backend: [imagens]
x-cache: [MISS]
x-cacheable: ['YES']
x-varnish: ['2027372130']
status: {code: 200, message: OK}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=av31i7is5o2ur6p4e1jh7t7jg4]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://legendas.tv/users/logout
response:
body:
string: !!binary |
H4sIAAAAAAAAAwMAAAAAAAAAAAA=
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['20']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:28 GMT']
location: ['http://legendas.tv/']
set-cookie: ['au=deleted; expires=Wed, 01-Apr-2015 13:47:25 GMT; path=/', 'PHPSESSID=deleted;
expires=Wed, 01-Apr-2015 13:47:25 GMT; path=/', PHPSESSID=7d62rla6lm16gbpcvboeb8ek21;
path=/; HttpOnly]
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027372146']
status: {code: 302, message: Found}
version: 1
@@ -0,0 +1,39 @@
interactions:
- request:
body: data%5BUser%5D%5Bpassword%5D=subliminal&data%5BUser%5D%5Busername%5D=python-subliminal&_method=POST
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Length: ['99']
Content-Type: [application/x-www-form-urlencoded]
User-Agent: [Subliminal/2.0]
method: POST
uri: http://legendas.tv/login
response:
body:
string: !!binary |
H4sIAAAAAAAAAwMAAAAAAAAAAAA=
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['20']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:09 GMT']
location: ['http://legendas.tv/']
set-cookie: [PHPSESSID=fvail7n84rqpqp9bq3ra8cgt02; path=/; HttpOnly, 'PHPSESSID=deleted;
expires=Wed, 01-Apr-2015 13:47:06 GMT; path=/', PHPSESSID=j626ehdap93eup52d3it5tcr53;
path=/; HttpOnly, 'PHPSESSID=deleted; expires=Wed, 01-Apr-2015 13:47:06
GMT; path=/', PHPSESSID=0nvpqelmc4anb3q4ftkuis7eb2; path=/; HttpOnly, 'au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0;
expires=Thu, 14-Apr-2016 13:47:07 GMT; path=/']
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027369830']
status: {code: 302, message: Found}
version: 1
@@ -0,0 +1,94 @@
interactions:
- request:
body: data%5BUser%5D%5Bpassword%5D=wrong&data%5BUser%5D%5Busername%5D=python-subliminal&_method=POST
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Length: ['94']
Content-Type: [application/x-www-form-urlencoded]
User-Agent: [Subliminal/2.0]
method: POST
uri: http://legendas.tv/login
response:
body:
string: !!binary |
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
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['3461']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:09 GMT']
set-cookie: [PHPSESSID=92r1rvpmh8m08uuuih3prona32; path=/; HttpOnly]
vary: ['User-Agent,Accept-Encoding']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027369885']
status: {code: 200, message: OK}
version: 1
@@ -0,0 +1,73 @@
interactions:
- request:
body: data%5BUser%5D%5Bpassword%5D=subliminal&data%5BUser%5D%5Busername%5D=python-subliminal&_method=POST
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Content-Length: ['99']
Content-Type: [application/x-www-form-urlencoded]
User-Agent: [Subliminal/2.0]
method: POST
uri: http://legendas.tv/login
response:
body:
string: !!binary |
H4sIAAAAAAAAAwMAAAAAAAAAAAA=
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['20']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:10 GMT']
location: ['http://legendas.tv/']
set-cookie: [PHPSESSID=k94s24qqfi07rr4kqc7l9ci582; path=/; HttpOnly, 'PHPSESSID=deleted;
expires=Wed, 01-Apr-2015 13:47:07 GMT; path=/', PHPSESSID=13jv0hg91qefhrvik5bfal5s52;
path=/; HttpOnly, 'PHPSESSID=deleted; expires=Wed, 01-Apr-2015 13:47:07
GMT; path=/', PHPSESSID=inpo5h2i2khu8vlh561helcen4; path=/; HttpOnly, 'au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0;
expires=Thu, 14-Apr-2016 13:47:08 GMT; path=/']
vary: ['Accept-Encoding,User-Agent']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027369997']
status: {code: 302, message: Found}
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
Cookie: [au=3673290---198d5f2e1a202d0c2878ae871f911763d7cd76c0; PHPSESSID=inpo5h2i2khu8vlh561helcen4]
User-Agent: [Subliminal/2.0]
method: GET
uri: http://legendas.tv/users/logout
response:
body:
string: !!binary |
H4sIAAAAAAAAAwMAAAAAAAAAAAA=
headers:
accept-ranges: [bytes]
access-control-allow-origin: ['*']
age: ['0']
connection: [keep-alive]
content-encoding: [gzip]
content-length: ['20']
content-type: [text/html; charset=UTF-8]
date: ['Thu, 31 Mar 2016 13:46:11 GMT']
location: ['http://legendas.tv/']
set-cookie: ['au=deleted; expires=Wed, 01-Apr-2015 13:47:08 GMT; path=/', 'PHPSESSID=deleted;
expires=Wed, 01-Apr-2015 13:47:08 GMT; path=/', PHPSESSID=37gh2dbil26f59h12cjfkngg74;
path=/; HttpOnly]
vary: ['Accept-Encoding,User-Agent']
via: [1.1 varnish]
x-backend: [default_director]
x-cache: [MISS]
x-cacheable: ['YES:Forced']
x-varnish: ['2027370106']
status: {code: 302, message: Found}
version: 1
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More