Skip to content

Commit 2d894dc

Browse files
committed
enabled chunk download for files.mail.ru
1 parent 4ab9088 commit 2d894dc

2 files changed

Lines changed: 13 additions & 3 deletions

File tree

module/network/HTTPChunk.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ def getHandle(self):
142142
self.c.setopt(pycurl.WRITEFUNCTION, self.writeBody)
143143
self.c.setopt(pycurl.HEADERFUNCTION, self.writeHeader)
144144

145+
# request one byte more, since some servers in russia seems to have a defect arihmetic unit
146+
145147
if self.resume:
146148
self.fp = open(self.p.info.getChunkName(self.id), "ab")
147149
self.arrived = self.fp.tell()
@@ -150,7 +152,11 @@ def getHandle(self):
150152
#do nothing if chunk already finished
151153
if not self.arrived + self.range[0] - self.range[1]: return None
152154

153-
range = "%i-%i" % (self.arrived + self.range[0], self.range[1])
155+
if self.id == len(self.p.info.chunks) - 1: #as last chunk dont set end range, so we get everything
156+
range = "%i-" % self.range[0]
157+
else:
158+
range = "%i-%i" % (self.arrived + self.range[0], min(self.range[1] + 1, self.p.size - 1))
159+
154160
print "Chunked resume with range %s" % range
155161
self.c.setopt(pycurl.RANGE, range)
156162
else:
@@ -159,7 +165,11 @@ def getHandle(self):
159165

160166
else:
161167
if self.range:
162-
range = "%i-%i" % self.range
168+
if self.id == len(self.p.info.chunks) - 1: # see above
169+
range = "%i-" % self.range[0]
170+
else:
171+
range = "%i-%i" % (self.range[0], min(self.range[1] + 1, self.p.size - 1))
172+
163173
print "Chunked with range %s" % range
164174
self.c.setopt(pycurl.RANGE, range)
165175

module/plugins/hoster/FilesMailRu.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class FilesMailRu(Hoster):
4141
def setup(self):
4242
self.multiDL = True
4343
self.resumeDownload = True
44-
self.chunkLimit = 1
44+
self.chunkLimit = -1
4545

4646
def process(self, pyfile):
4747
self.html = self.load(pyfile.url)

0 commit comments

Comments
 (0)