Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
admin
/
installer
/
css
/
sass
/
sym404
/
root
/
usr
/
share
/
doc
/
python3-pycurl
/
tests
:
unset_range_test.py
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
#! /usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4:et import os.path import pycurl import unittest class UnsetRangeTest(unittest.TestCase): def setUp(self): self.curl = pycurl.Curl() def tearDown(self): self.curl.close() def test_unset_range(self): def write_cb(data): self.read += len(data) return None # download bytes 0-9 of the script itself through the file:// protocol self.read = 0 self.curl.setopt(pycurl.URL, 'file://' + os.path.abspath(__file__).replace('\\', '/')) self.curl.setopt(pycurl.WRITEFUNCTION, write_cb) self.curl.setopt(pycurl.RANGE, '0-9') self.curl.perform() assert 10 == self.read # the RANGE setting should be preserved from the previous transfer self.read = 0 self.curl.perform() assert 10 == self.read # drop the RANGE setting using unsetopt() and download entire script self.read = 0 self.curl.unsetopt(pycurl.RANGE) self.curl.perform() assert 10 < self.read # now set the RANGE again and check that pycurl takes it into account self.read = 0 self.curl.setopt(pycurl.RANGE, '0-9') self.curl.perform() assert 10 == self.read # now drop the RANGE setting using setopt(..., None) self.read = 0 self.curl.setopt(pycurl.RANGE, None) self.curl.perform() assert 10 < self.read