the_pirate_bay 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -22,16 +22,16 @@ require "the_pirate_bay"
22
22
  api = ThePirateBay.new
23
23
 
24
24
  # You can search for a torrent by keyword
25
- api.series.search("Fringe")
26
- => [#<ThePirateBay::Torrent::Collection id: "7810640", name: "Fringe S05E06 Season 5 Episode 6 HDTV x264 [GlowGaz...", seeders: "408", leechers: "116", magnet_uri: "magnet:?xt=urn:btih:0f4e3c1a4618b6d9658427e7778c602...", size: "303.89 MB", type: "Video > TV shows", uploaded_at: "Today 04:11, Size 303.89 MiB", comments_count: "2", uploader: "GlowGaze">]
25
+ api.torrents.search("Fringe")
26
+ => [#<ThePirateBay::Torrent::Collection id: "7810640", name: "Fringe S05E06 Season 5 Episode 6 HDTV x264 [GlowGaz...", seeders: "408", leechers: "116", magnet_uri: "magnet:?xt=urn:btih:0f4e3c1a4618b6d9658427e7778c602...", size: "303.89 MB", type: "Video > TV shows", uploaded_at: "Today 04:11", comments_count: "2", uploader: "GlowGaze">]
27
27
 
28
- # Once you have a torrent id, you can use it to find more information
28
+ # If you have a torrent id, you can use it to find more information
29
29
  torrent = api.torrents.find("7810640")
30
+ => #<ThePirateBay::Torrent id: "7723168", name: "Fringe S05E03 HDTV x264-LOL [eztv]", description: "#EZTV @ EFNet -&gt; To avoid fakes, ALWAYS check th...", seeders: "2461", leechers: "118", quality: "+4 / -0 (+4)", size: "288.87 MiB (302897843 Bytes)", type: "Video > TV shows", hash: "84C153E4064D1AC1CC151A09070C8740C318D271", uploaded_at: "2012-10-13 12:33:16 GMT", uploaded_by: "eztv", comments_count: "6", files_count: "1", spoken_language: nil, written_language: nil, tags: nil, imdb_id: nil>
30
31
  ```
31
32
 
32
33
  ## Work in Progress
33
34
 
34
- * Find torrents by id
35
35
  * Handle users
36
36
  * Sort results by relevance, seeders, leechers, size, date, user and type
37
37
  * Get results from other pages
@@ -0,0 +1,5 @@
1
+ class String
2
+ def sanitize!
3
+ gsub!(/\A[[:space:]]*(.*?)[[:space:]]*\z/) { $1 } rescue ""
4
+ end
5
+ end
@@ -1,23 +1,6 @@
1
1
  module ThePirateBay
2
2
  module Model
3
3
 
4
- attr_accessor :klass
5
-
6
- def initialize(params=nil)
7
- @klass = self.class
8
- self.attributes = params
9
- end
10
-
11
- def attributes=(params=nil)
12
- params.each do |attr, value|
13
- begin
14
- self.public_send("#{attr}=", value)
15
- rescue NoMethodError
16
- raise UnknownAttributeError, "unknown attribute: #{attr}"
17
- end
18
- end if params
19
- end
20
-
21
4
  def attributes
22
5
  attrs = {}
23
6
  class_attributes.each do |name|
@@ -49,9 +32,5 @@ module ThePirateBay
49
32
  end
50
33
  end
51
34
 
52
- def class_attributes
53
- klass::ATTRS
54
- end
55
-
56
35
  end # Model
57
36
  end # ThePirateBay
@@ -3,61 +3,69 @@ module ThePirateBay
3
3
  include Model
4
4
 
5
5
  ATTRS = [:id, :name, :seeders, :leechers, :magnet_uri,
6
- :size, :type, :uploaded_at, :comments_count, :uploader].freeze
6
+ :size, :type, :uploaded_at, :uploaded_by, :comments_count].freeze
7
7
 
8
- attr_accessor *ATTRS, :torrent
8
+ attr_accessor *ATTRS, :html
9
+
10
+ def initialize(html)
11
+ @html = html # Save html to get instance attributes
12
+ set_attributes
13
+
14
+ return self
15
+ end
9
16
 
10
- def initialize(torrent)
11
- @torrent = torrent
17
+ def set_attributes
12
18
  class_attributes.collect do |attr|
13
19
  self.public_send("#{attr}=", send(attr))
14
20
  end
15
21
  end
16
-
17
- def class_attributes
18
- ATTRS
19
- end
20
22
 
21
23
  def id
22
- torrent.css('td[2] div.detName').inner_html.match(/\/torrent\/(\d+)\//)[1]
24
+ @id ||= html.css('td[2] div.detName').inner_html.match(/\/torrent\/(\d+)\//)[1]
23
25
  end
24
26
 
25
27
  def name
26
- torrent.css('td[2] div.detName a').text
28
+ @name ||= html.css('td[2] div.detName a').text
27
29
  end
28
30
 
29
31
  def type
30
- torrent.css('td[1] a').map(&:text).join(" > ")
32
+ @type ||= html.css('td[1] a').map(&:text).join(" > ")
31
33
  end
32
34
 
33
35
  def size
34
- torrent.css('td[2] font.detDesc').text.match(/Size (.*),/)[1].gsub('i', '')
36
+ @size ||= html.css('td[2] font.detDesc').text.match(/Size (.*),/)[1].gsub('i', '')
35
37
  end
36
38
 
37
39
  def seeders
38
- torrent.css('td[3]').text
40
+ @seeders ||= html.css('td[3]').text
39
41
  end
40
42
 
41
43
  def leechers
42
- torrent.css('td[4]').text
44
+ @leechers ||= html.css('td[4]').text
43
45
  end
44
46
 
45
- def uploader
46
- torrent.css('td[2] font.detDesc a').text
47
+ def magnet_uri
48
+ @magnet_uri ||= html.css('td[2] div.detName + a').attribute("href").value
47
49
  end
48
50
 
49
- def magnet_uri
50
- torrent.css('td[2] div.detName + a').attribute("href").value
51
+ def uploaded_at
52
+ @uploaded_at ||= html.css('td[2] font.detDesc').text.match(/Uploaded (.*), S/)[1]
53
+ end
54
+
55
+ def uploaded_by
56
+ @uploaded_by ||= html.css('td[2] font.detDesc a').text
51
57
  end
52
58
 
53
59
  def comments_count
54
- unless (comments = torrent.css('td[2] img[@src*="comment.gif"]')).empty?
60
+ @comments_count ||= unless (comments = html.css('td[2] img[@src*="comment.gif"]')).empty?
55
61
  comments.attribute("alt").value.match(/\d+/)[0]
56
62
  end
57
63
  end
58
64
 
59
- def uploaded_at
60
- torrent.css('td[2] font.detDesc').text.match(/Uploaded (.*),/)[1]
65
+ private
66
+
67
+ def class_attributes
68
+ ATTRS
61
69
  end
62
70
 
63
71
  end # Torrent::Collection
@@ -2,28 +2,134 @@ module ThePirateBay
2
2
  class Torrent < API
3
3
  include Model
4
4
 
5
- ATTRS = [:id, :name, :description, :seeders, :leechers, :hash, :magnet_uri, :quality, :size, :type,
6
- :uploaded_at, :comments_count, :files_count, :spoken_language, :written_language, :imdb_id].freeze
5
+ ATTRS_MAP = {
6
+ :name => "Title",
7
+ :description => "Description",
8
+ :seeders => "Seeders",
9
+ :leechers => "Leechers",
10
+ :quality => "Quality",
11
+ :size => "Size",
12
+ :type => "Type",
13
+ :hash => "Info Hash",
14
+ :uploaded_at => "Uploaded",
15
+ :uploaded_by => "By",
16
+ :comments_count => "Comments",
17
+ :files_count => "Files",
18
+ :spoken_language => "Spoken language(s)",
19
+ :written_language => "Texted language(s)",
20
+ :tags => "Tag(s)",
21
+ :imdb_id => "Info"
22
+ }.freeze
7
23
 
8
- attr_accessor *ATTRS, :comments, :uploader, :tags
24
+ ATTRS = [:id, *ATTRS_MAP.keys].freeze
25
+ SKIP_ATTRS = [:hash, :tags, :imdb_id].freeze
26
+
27
+ # Torrent attributes:
28
+ # id, name, description, seeders, leechers, hash, magnet_uri, quality, size, type,
29
+ # uploaded_at, uploaded_by, comments_count, files_count, spoken_language, written_language, imdb_id
30
+
31
+ attr_accessor *ATTRS, :comments, :uploader, :html
9
32
 
10
33
  class << self
34
+
35
+ # Public: Search for a torrent.
36
+ #
37
+ # Send your query as the only parameter,
38
+ # just like you would in ThePirateBay.se
39
+ #
40
+ # query - A string of keywords to search for.
41
+ #
42
+ # Examples
43
+ #
44
+ # search("Fringe")
45
+ # search("Fringe s05e07")
46
+ #
47
+ # Returns an array of ThePirateBay::Torrent::Collection objects.
11
48
  def search(query)
12
- # Returns search html
13
- doc = request("search/#{query}/0/99/0")
49
+ html = request("search/#{query}/0/99/0") # Returns search html
14
50
 
15
- # Get torrents table rows
51
+ # Get torrents table rows from html
16
52
  # and return as ruby objects
17
- doc.xpath("//table[@id='searchResult']/tr").collect do |torrent|
18
- Torrent::Collection.new(torrent)
53
+ html.xpath("//table[@id='searchResult']/tr").collect do |torrent_html|
54
+ Torrent::Collection.new(torrent_html)
19
55
  end
20
56
  end
21
57
 
58
+ # Public: Find a torrent by ID.
59
+ #
60
+ # Retrieve torrent information from ThePirateBay.se/torrent/:id
61
+ #
62
+ # id - The ID of the torrent.
63
+ #
64
+ # Examples
65
+ #
66
+ # find("7723168")
67
+ # find(7723709)
68
+ #
69
+ # Returns an instance of ThePirateBay::Torrent
22
70
  def find(id)
23
- data = request("torrent/#{id}")
71
+ html = request("torrent/#{id}") # Returns torrent html
72
+
73
+ # Initialize Torrent from html
74
+ new(id, html)
24
75
  end
25
76
  alias :get :find
26
77
  end
27
78
 
79
+ def initialize(id, html)
80
+ # Save html doc to get special attributes
81
+ @id, @html = id, html
82
+
83
+ # Get attributes and values html lists
84
+ attrs = html.css("#details dt").map(&:text).map { |a| a.gsub(":", "") }
85
+ values = html.css("#details dd").map(&:text)
86
+
87
+ # Set instance attributes
88
+ set_attributes(attrs, values)
89
+
90
+ return self
91
+ end
92
+
93
+ # Set torrent attributes from html lists
94
+ def set_attributes(attrs, values)
95
+ attrs.zip(values).each do |dirty_attr, value|
96
+ begin
97
+ attr = attributes_map.key(dirty_attr) # Map to a nice and clean attribute name (see ATTRS_MAP)
98
+ next if skip_attributes.include?(attr)
99
+ value.sanitize! # Remove weird characters
100
+ self.public_send("#{attr}=", value) unless value.empty?
101
+ rescue NoMethodError => e
102
+ raise e unless e.name == :"="
103
+ raise UnknownAttributeError, "unknown attribute: #{dirty_attr}"
104
+ end
105
+ end
106
+ end
107
+
108
+ def name
109
+ @name ||= html.css("div#title").text.sanitize!
110
+ end
111
+
112
+ def hash
113
+ @hash ||= html.css("#details dd")[-1].next.text.strip
114
+ end
115
+
116
+ def description
117
+ @description ||= html.css("div.nfo").text.strip
118
+ end
119
+
120
+ private
121
+
122
+ def attributes_map
123
+ ATTRS_MAP
124
+ end
125
+
126
+ def class_attributes
127
+ ATTRS
128
+ end
129
+
130
+ def skip_attributes
131
+ SKIP_ATTRS
132
+ end
133
+
28
134
  end # Torrent
29
135
  end # ThePirateBay
@@ -1,3 +1,3 @@
1
1
  module ThePirateBay
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -1,3 +1,4 @@
1
+ require "the_pirate_bay/core_ext/string"
1
2
  require "the_pirate_bay/errors"
2
3
  require "the_pirate_bay/version"
3
4
  require "the_pirate_bay/api"
@@ -0,0 +1,323 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" >
3
+ <head>
4
+ <title>Fringe S05E03 HDTV x264-LOL [eztv] (download torrent) - TPB</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
6
+ <link rel="search" type="application/opensearchdescription+xml" href="//static.thepiratebay.se/opensearch.xml" title="Search The Pirate Bay" />
7
+ <link rel="stylesheet" type="text/css" href="//static.thepiratebay.se/css/pirate6.css"/>
8
+ <style type="text/css">
9
+ .searchBox{
10
+ margin: 6px;
11
+ width: 300px;
12
+ vertical-align: middle;
13
+ padding: 2px;
14
+ background-image:url('//static.thepiratebay.se/img/icon-https.gif');
15
+ background-repeat:no-repeat;
16
+ background-position: right;
17
+ }
18
+
19
+ .detLink {
20
+ font-size: 1.2em;
21
+ font-weight: 400;
22
+ }
23
+ .detDesc {
24
+ color: #4e5456;
25
+ }
26
+ .detDesc a:hover {
27
+ color: #000099;
28
+ text-decoration: underline;
29
+ }
30
+ .sortby {
31
+ text-align: left;
32
+ float: left;
33
+ }
34
+ .detName {
35
+ padding-top: 3px;
36
+ padding-bottom: 2px;
37
+ }
38
+ .viewswitch {
39
+ font-style: normal;
40
+ float: right;
41
+ text-align: right;
42
+ font-weight: normal;
43
+ }
44
+ </style>
45
+ <script src="//static.thepiratebay.se/js/tpb.js" type="text/javascript"></script>
46
+ <script src="//static.thepiratebay.se/js/prototype.js" type="text/javascript"></script>
47
+ <script src="//static.thepiratebay.se/js/scriptaculous.js" type="text/javascript"></script>
48
+ <script src="//static.thepiratebay.se/js/details.js" type="text/javascript"></script>
49
+ <link rel="stylesheet" type="text/css" href="//static.thepiratebay.se/css/details.css"/>
50
+
51
+ <script language="javascript" type="text/javascript">if (top.location != self.location) {top.location.replace(self.location);}</script>
52
+ </head>
53
+
54
+ <body>
55
+ <div id="header">
56
+
57
+
58
+ <div class="ad">
59
+ <iframe src="http://cdn2.adexprt.com/clkads/top.html" width="468" height="60" frameborder="0" scrolling="no"></iframe>
60
+ </div>
61
+ <form method="get" id="q" action="/s/">
62
+ <a href="/" class="img"><img src="//static.thepiratebay.se/img/tpblogo_sm_ny.gif" id="TPBlogo" alt="The Pirate Bay" /></a>
63
+ <b><a href="/" title="Search Torrents">Search Torrents</a></b>&nbsp;&nbsp;|&nbsp;
64
+ <a href="/browse" title="Browse Torrents">Browse Torrents</a>&nbsp;&nbsp;|&nbsp;
65
+ <a href="/recent" title="Recent Torrent">Recent Torrents</a>&nbsp;&nbsp;|&nbsp;
66
+ <a href="/tv" title="TV shows">TV shows</a>&nbsp;&nbsp;|&nbsp;
67
+ <a href="/music" title="Music">Music</a>&nbsp;&nbsp;|&nbsp;
68
+ <a href="/top" title="Top 100">Top 100</a>
69
+ <br /><input type="search" class="inputbox" title="Pirate Search" name="q" placeholder="Search here..." value="" /><input value="Pirate Search" type="submit" class="submitbutton" /><br /> <label for="audio" title="Audio"><input id="audio" name="audio" onclick="javascript:rmAll();" type="checkbox"/>Audio</label>
70
+ <label for="video" title="Video"><input id="video" name="video" onclick="javascript:rmAll();" type="checkbox"/>Video</label>
71
+ <label for="apps" title="Applications"><input id="apps" name="apps" onclick="javascript:rmAll();" type="checkbox"/>Applications</label>
72
+ <label for="games" title="Games"><input id="games" name="games" onclick="javascript:rmAll();" type="checkbox"/>Games</label>
73
+ <label for="other" title="Other"><input id="other" name="other" onclick="javascript:rmAll();" type="checkbox"/>Other</label>
74
+
75
+ <select id="category" name="category" onchange="javascript:setAll();">
76
+ <option value="0">All</option>
77
+ <optgroup label="Audio">
78
+ <option value="101">Music</option>
79
+ <option value="102">Audio books</option>
80
+ <option value="103">Sound clips</option>
81
+ <option value="104">FLAC</option>
82
+ <option value="199">Other</option>
83
+ </optgroup>
84
+ <optgroup label="Video">
85
+ <option value="201">Movies</option>
86
+ <option value="202">Movies DVDR</option>
87
+ <option value="203">Music videos</option>
88
+ <option value="204">Movie clips</option>
89
+ <option value="205">TV shows</option>
90
+ <option value="206">Handheld</option>
91
+ <option value="207">Highres - Movies</option>
92
+ <option value="208">Highres - TV shows</option>
93
+ <option value="209">3D</option>
94
+ <option value="299">Other</option>
95
+ </optgroup>
96
+ <optgroup label="Applications">
97
+ <option value="301">Windows</option>
98
+ <option value="302">Mac</option>
99
+ <option value="303">UNIX</option>
100
+ <option value="304">Handheld</option>
101
+ <option value="305">IOS (iPad/iPhone)</option>
102
+ <option value="306">Android</option>
103
+ <option value="399">Other OS</option>
104
+ </optgroup>
105
+ <optgroup label="Games">
106
+ <option value="401">PC</option>
107
+ <option value="402">Mac</option>
108
+ <option value="403">PSx</option>
109
+ <option value="404">XBOX360</option>
110
+ <option value="405">Wii</option>
111
+ <option value="406">Handheld</option>
112
+ <option value="407">IOS (iPad/iPhone)</option>
113
+ <option value="408">Android</option>
114
+ <option value="499">Other</option>
115
+ </optgroup>
116
+ <optgroup label="Other">
117
+ <option value="601">E-books</option>
118
+ <option value="602">Comics</option>
119
+ <option value="603">Pictures</option>
120
+ <option value="604">Covers</option>
121
+ <option value="605">Physibles</option>
122
+ <option value="699">Other</option>
123
+ </optgroup>
124
+ </select>
125
+
126
+ <input type="hidden" name="page" value="0" />
127
+ <input type="hidden" name="orderby" value="99" />
128
+ </form>
129
+ </div><!-- // div:header -->
130
+
131
+ <h2><span>Details for this torrent</span>&nbsp;</h2>
132
+ <div id="content">
133
+
134
+ <div id="sky-right">
135
+ <iframe src="http://cdn1.adexprt.com/clkads/sky2.html" width="160" height="600" frameborder="0" scrolling="no" style="padding-top: 100px"></iframe>
136
+ </div>
137
+ <div id="main-content">
138
+ <div>
139
+ <div id="detailsouterframe">
140
+
141
+ <div id="detailsframe">
142
+ <div id="title">
143
+ Fringe S05E03 HDTV x264-LOL [eztv] </div>
144
+
145
+ <div id="details">
146
+ <dl class="col1">
147
+ <dt>Type:</dt>
148
+ <dd><a href="/browse/205" title="More from this category">Video &gt; TV shows</a></dd>
149
+
150
+ <dt>Files:</dt>
151
+ <dd><a href="/torrent/7723168/" title="Files" onclick="
152
+ if (filelist &lt; 1) {
153
+ new Ajax.Updater('filelistContainer', '/ajax_details_filelist.php', {method: 'get', parameters: 'id=7723168'});
154
+ filelist=1;
155
+ }; toggleFilelist(); return false;">1</a></dd>
156
+
157
+ <dt>Size:</dt>
158
+ <dd>288.87&nbsp;MiB&nbsp;(302897843&nbsp;Bytes)</dd>
159
+
160
+
161
+
162
+ </dl>
163
+ <dl class="col2">
164
+ <dt>Quality:</dt>
165
+ <dd id="rating" class="">
166
+ +4 / -0 (+4) </dd>
167
+
168
+ <dt>Uploaded:</dt>
169
+ <dd>2012-10-13 12:33:16 GMT</dd>
170
+
171
+ <dt>By:</dt>
172
+ <dd>
173
+ <a href="/user/eztv/" title="Browse eztv">eztv</a>&nbsp;<img src="//static.thepiratebay.se/img/vip.gif" alt="VIP" title="VIP" style="width:11px;" border='0' /></dd>
174
+ <dt>Seeders:</dt>
175
+ <dd>2461</dd>
176
+
177
+ <dt>Leechers:</dt>
178
+ <dd>118</dd>
179
+
180
+ <dt>Comments</dt>
181
+ <dd><span id="NumComments">6</span>
182
+ &nbsp;
183
+ </dd>
184
+
185
+ <br />
186
+ <dt>Info Hash:</dt><dd>&nbsp;</dd>
187
+ 84C153E4064D1AC1CC151A09070C8740C318D271 </dl>
188
+
189
+ <div id="CommentDiv" style="display:none;">
190
+ <form method="post" id="commentsform" name="commentsform" onsubmit="new Ajax.Updater('NumComments', '/ajax_post_comment.php', {evalScripts:true, asynchronous:true, parameters:Form.serialize(this)}); return false;" action="/ajax_post_comment.php">
191
+ <p class="info">
192
+ <textarea name="add_comment" id="add_comment" rows="8" cols="50"></textarea><br/>
193
+ <input type="hidden" name="id" value="7723168"/>
194
+ <input type="submit" value="Submit" /><input type="button" value="Hide" onclick="document.getElementById('CommentDiv').style.display = 'none'" />
195
+ </p>
196
+ </form>
197
+ </div>
198
+ <br/>
199
+ <br/>
200
+ <div id="social">
201
+ <!--
202
+ <a href="https://twitter.com/share?via=tpbdotorg&text=Fringe+S05E03+HDTV+x264-LOL+%5Beztv%5D&url=https://thepiratebay.se/torrent/7723168" title="Tweet" target="_blank"><img src="//static.thepiratebay.se/img/tweet.ico" alt="Tweet" /> Tweet</a>
203
+ -->
204
+ </div>
205
+
206
+ <a href="http://cdn1.adexprt.com/lp/2.php?name=Fringe_S05E03_HDTV_x264-LOL_%5Beztv%5D"><img src="http://static.thepiratebay.org/img/bar.gif" border="0"></a>
207
+ <br /><br /> <div class="download">
208
+ <a style='background-image: url("//static.thepiratebay.se/img/icons/icon-magnet.gif");' href="magnet:?xt=urn:btih:84c153e4064d1ac1cc151a09070c8740c318d271&dn=Fringe+S05E03+HDTV+x264-LOL+%5Beztv%5D&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80" title="Get this torrent">&nbsp;Get this torrent</a>
209
+ </div>
210
+ <div>(Problems with magnets links are fixed by upgrading your <a href="http://lp.torchbrowser.com/?sysid=448&appid=144" target="_blank">torrent client</a>!)</div>
211
+ <div class="nfo">
212
+ <pre>#EZTV @ EFNet -&#38;gt; To avoid fakes, ALWAYS check that the torrent was added by eztv. <a href="
213
+ http://eztv.it/" rel="nofollow">
214
+ http://eztv.it/</a>
215
+
216
+ Episode: Fringe S05E03 HDTV x264-LOL
217
+ Screenshots:
218
+
219
+
220
+ </pre>
221
+ </div>
222
+ <div id="artistDetails" style="display:none;">
223
+ </div>
224
+ <script type="text/javascript"></script> <br/>
225
+ <div class="download">
226
+ <a style='background-image: url("//static.thepiratebay.se/img/icons/icon-magnet.gif");' href="magnet:?xt=urn:btih:84c153e4064d1ac1cc151a09070c8740c318d271&dn=Fringe+S05E03+HDTV+x264-LOL+%5Beztv%5D&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80&tr=udp%3A%2F%2Ftracker.istole.it%3A6969&tr=udp%3A%2F%2Ftracker.ccc.de%3A80" title="Get this torrent">&nbsp;Get this torrent</a>
227
+
228
+ </div>
229
+
230
+ <a href="http://cdn2.adexprt.com/lp/2.php?name=Fringe_S05E03_HDTV_x264-LOL_%5Beztv%5D"><img src="http://static.thepiratebay.org/img/bar.gif" border="0"></a>
231
+ <div id="filelistContainer" style="display:none;">
232
+ <a id="show"></a>
233
+ </div>
234
+ <div id="commentsheader" class="comments">
235
+ <h4>Comments</h4>
236
+ </div>
237
+ <div id="comments">
238
+ <div id="comment-1"><p class="byline">
239
+ <a href="/user/Tomcat08/" title="Browse Tomcat08">Tomcat08</a> at 2012-10-13 17:39 CET:
240
+ </p><div class="comment">
241
+ Thank you, very much!
242
+ </div>
243
+ </div><div id="comment-2"><p class="byline">
244
+ <a href="/user/liquiddandruff/" title="Browse liquiddandruff">liquiddandruff</a> at 2012-10-14 01:37 CET:
245
+ </p><div class="comment">
246
+ great job eztv, thanks
247
+ </div>
248
+ </div><div id="comment-3"><p class="byline">
249
+ <a href="/user/SaveCash/" title="Browse SaveCash">SaveCash</a> at 2012-10-14 03:04 CET:
250
+ </p><div class="comment">
251
+ Perfect EZ. Thanks.
252
+ </div>
253
+ </div><div id="comment-4"><p class="byline">
254
+ <a href="/user/Dariel4/" title="Browse Dariel4">Dariel4</a> at 2012-10-16 19:42 CET:
255
+ </p><div class="comment">
256
+ Stay classy eztv
257
+ </div>
258
+ </div><div id="comment-5"><p class="byline">
259
+ <a href="/user/RetardedMax/" title="Browse RetardedMax">RetardedMax</a> at 2012-10-20 18:48 CET:
260
+ </p><div class="comment">
261
+ Awesome. I only download eztv-s torrents. Thank you.
262
+ </div>
263
+ </div><div id="comment-6"><p class="byline">
264
+ <a href="/user/zouztg/" title="Browse zouztg">zouztg</a> at 2012-10-27 03:16 CET:
265
+ </p><div class="comment">
266
+ am dyinnnnnnnnnnnnnnnnng here lol cant wait till u upload the next episode pffff lol
267
+ </div>
268
+ </div></div></div></div>
269
+ </div>
270
+ </div>
271
+ </div>
272
+
273
+ <div class="ads" id="sky-banner">
274
+ <iframe src="http://cdn2.adexprt.com/clkads/sky1.html" width="120" height="600" frameborder="0" scrolling="no"></iframe>
275
+ </div>
276
+ </div>
277
+ </div><!-- //div:content -->
278
+
279
+ <div id="foot" style="text-align:center;margin-top:1em;">
280
+
281
+ <iframe src="http://cdn1.adexprt.com/clkads/bottom.html" width="728" height="90" frameborder="0" scrolling="no" ></iframe>
282
+ <p>
283
+ <a href="/login" title="Login">Login</a> |
284
+ <a href="/register" title="Register">Register</a> |
285
+ <a href="/language" title="Select language">Language / Select language</a> |
286
+ <a href="/about" title="About">About</a> |
287
+ <a href="/legal" title="Legal threats">Legal threats</a> |
288
+ <a href="/blog" title="Blog">Blog</a>
289
+ <br />
290
+ <a href="/contact" title="Contact us">Contact us</a> |
291
+ <a href="/policy" title="Usage policy">Usage policy</a> |
292
+ <a href="/downloads" title="Downloads">Downloads</a> |
293
+ <a href="/promo" title="Promo">Promo</a> |
294
+ <a href="/doodles" title="Doodles">Doodles</a> |
295
+ <a href="/searchcloud" title="Search Cloud">Search Cloud</a> |
296
+ <a href="/tags" title="Tag Cloud">Tag Cloud</a> |
297
+ <a href="http://suprbay.org/" title="Forum" target="_blank">Forum</a> |
298
+ <b><a href="http://www.bytelove.com" title="TPB T-shirts" target="_blank">TPB T-shirts</a></b>
299
+ <br />
300
+ <b><a href="http://bayfiles.com" title="Bayfiles" target="_blank">Bayfiles</a></b> |
301
+ <a href="http://bayimg.com" title="BayImg" target="_blank">BayImg</a> |
302
+ <a href="http://www.pastebay.net" title="PasteBay" target="_blank">PasteBay</a> |
303
+ <!-- <a href="http://www.pirateshops.com" title="Pirate Shops" target="_blank">Pirate Shops</a> | -->
304
+ <a href="https://twitter.com/tpbdotorg" title="Twitter" target="_blank">Follow TPB on Twitter</a> |
305
+ <a href="https://www.facebook.com/ThePirateBayWarMachine" title="Facebook" target="_blank">Follow TPB on Facebook</a>
306
+ <br />
307
+ </p>
308
+
309
+ <p id="footer" style="color:#666; font-size:0.9em; ">
310
+ 5.967.416 registered users. Last updated 06:32:06.<br />
311
+ 30.848.650 peers (23.712.861 seeders + 7.135.789 leechers) in 3.810.462 torrents.<br />
312
+ </p>
313
+
314
+
315
+ <div id="fbanners">
316
+ <a href="/rss" class="rss" title="RSS"><img src="//static.thepiratebay.se/img/rss_small.gif" alt="RSS" /></a>
317
+ </div><!-- // div:fbanners -->
318
+ </div><!-- // div:foot -->
319
+
320
+ <script type="text/javascript" src="http://cdn1.adexprt.com/clkads/pop.js"></script>
321
+ <!-- abc: MX 0 -->
322
+ </body>
323
+ </html>