/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/bootstrap.py

  • Committer: Vincent Ladeuil
  • Date: 2007-06-06 14:26:08 UTC
  • mto: (2485.8.44 bzr.connection.sharing)
  • mto: This revision was merged to the branch mainline in revision 2646.
  • Revision ID: v.ladeuil+lp@free.fr-20070606142608-i9ufaqewadslf1cn
Finish sftp refactoring. Test suite passing.

* bzrlib/transport/sftp.py:
(clear_connection_cache): Deprecated.
(_sftp_connect, _sftp_connect_uncached): Deleted.
(SFTPTransport.__init__): Simplified.
(SFTPTransport._create_connection): New method. Copied from
_sftp_connect_uncached
(SFTPTransport._get_sftp): New method. Ensures that the connection
is established.
(SFTPTransport.clone): Deleted.
(SFTPTransport.has, SFTPTransport.get, SFTPTransport.readv,
SFTPTransport._put,
SFTPTransport._put_non_atomic_helper._open_and_write_file,
SFTPTransport._mkdir, SFTPTransport.append_file,
SFTPTransport.rename, SFTPTransport._rename_and_overwrite,
SFTPTransport.delete, SFTPTransport.rmdir, SFTPTransport.stat):
Use _get_sftp.

* bzrlib/tests/test_transport_implementations.py:
(TransportTests.test_connection_error): Simplified now that sftp
does not connection on construction.

* bzrlib/tests/test_sftp_transport.py:
(SFTPLockTests.test_sftp_locks): Delete test_multiple_connections.
(FakeSFTPTransport): Deleted.
(SFTPNonServerTest.test_parse_url_with_home_dir,
SFTPNonServerTest.test_relpath,
SSHVendorBadConnection.test_bad_connection_paramiko): Delete the
from_transport parameter as it's not needed anymore.
(SFTPLatencyKnob.test_latency_knob_slows_transport,
SFTPLatencyKnob.test_default): Force connection by issuing a
request.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
##############################################################################
2
 
#
3
 
# Copyright (c) 2006 Zope Corporation and Contributors.
4
 
# All Rights Reserved.
5
 
#
6
 
# This software is subject to the provisions of the Zope Public License,
7
 
# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
8
 
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
9
 
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
10
 
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
11
 
# FOR A PARTICULAR PURPOSE.
12
 
#
13
 
##############################################################################
14
 
"""Bootstrap a buildout-based project
15
 
 
16
 
Simply run this script in a directory containing a buildout.cfg.
17
 
The script accepts buildout command-line options, so you can
18
 
use the -c option to specify an alternate configuration file.
19
 
 
20
 
$Id: bootstrap.py 90478 2008-08-27 22:44:46Z georgyberdyshev $
21
 
"""
22
 
 
23
 
import os, shutil, sys, tempfile, urllib2
24
 
 
25
 
tmpeggs = tempfile.mkdtemp()
26
 
 
27
 
is_jython = sys.platform.startswith('java')
28
 
 
29
 
try:
30
 
    import pkg_resources
31
 
except ImportError:
32
 
    ez = {}
33
 
    exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py'
34
 
                         ).read() in ez
35
 
    ez['use_setuptools'](to_dir=tmpeggs, download_delay=0)
36
 
 
37
 
    import pkg_resources
38
 
 
39
 
if sys.platform == 'win32':
40
 
    def quote(c):
41
 
        if ' ' in c:
42
 
            return '"%s"' % c # work around spawn lamosity on windows
43
 
        else:
44
 
            return c
45
 
else:
46
 
    def quote (c):
47
 
        return c
48
 
 
49
 
cmd = 'from setuptools.command.easy_install import main; main()'
50
 
ws  = pkg_resources.working_set
51
 
 
52
 
if is_jython:
53
 
    import subprocess
54
 
    
55
 
    assert subprocess.Popen([sys.executable] + ['-c', quote(cmd), '-mqNxd', 
56
 
           quote(tmpeggs), 'zc.buildout'], 
57
 
           env=dict(os.environ,
58
 
               PYTHONPATH=
59
 
               ws.find(pkg_resources.Requirement.parse('setuptools')).location
60
 
               ),
61
 
           ).wait() == 0
62
 
 
63
 
else:
64
 
    assert os.spawnle(
65
 
        os.P_WAIT, sys.executable, quote (sys.executable),
66
 
        '-c', quote (cmd), '-mqNxd', quote (tmpeggs), 'zc.buildout',
67
 
        dict(os.environ,
68
 
            PYTHONPATH=
69
 
            ws.find(pkg_resources.Requirement.parse('setuptools')).location
70
 
            ),
71
 
        ) == 0
72
 
 
73
 
ws.add_entry(tmpeggs)
74
 
ws.require('zc.buildout')
75
 
import zc.buildout.buildout
76
 
zc.buildout.buildout.main(sys.argv[1:] + ['bootstrap'])
77
 
shutil.rmtree(tmpeggs)