/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to tools/win32/run_script.py

  • Committer: Vincent Ladeuil
  • Date: 2008-01-02 14:13:55 UTC
  • mto: (3159.1.1 trunk)
  • mto: This revision was merged to the branch mainline in revision 3161.
  • Revision ID: v.ladeuil+lp@free.fr-20080102141355-k20yfjo6i1dasuny
Fix #179368 by keeping the current range hint on ShortReadvErrors.

* response.py:
(RangeFile._checked_read): Avoid huge buffering when huge seeks
are required.

* _urllib2_wrappers.py:
(Response.finish): Check for end-of-file or we'll loop if the
server lied about Content-Length.

* __init__.py:
(HttpTransportBase._readv): When a ShortReadvError occurs, try
again, staying in multiple range mode and degrades only if the
error occurs again for the same offset.

* test_http_response.py:
(TestRangeFileMultipleRanges): Add a test to exercise the buffer
overflow protection code.

* test_http.py:
(TestMultipleRangeWithoutContentLengthServer): Emulate lighttpd
behavior regarding bug #179368.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# A utility that executes a script from our %PYTHON%\Scripts directory.
2
 
# Example usage:
3
 
# 'python run_script.py cog.py arg1 arg2'
4
 
# which will locate %PYTHON_HOME%/Scripts/cog.py and execute it with the args.
5
 
# This is only necessary for Windows, and only when the build process is
6
 
# executed via a cygwin/*nix based make utility, which doesn't honor the
7
 
# PATHEXT environment variable.
8
 
import sys
9
 
import os
10
 
 
11
 
if __name__ == '__main__':
12
 
    # clobber me, new sys.argv[0] is the script to run.
13
 
    del sys.argv[0]
14
 
    assert not os.path.isabs(sys.argv[0]), "If you know the FQ path, just use it!"
15
 
    sys.argv[0] = os.path.join(sys.prefix, "Scripts", sys.argv[0])
16
 
    execfile(sys.argv[0])