/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 bzrlib/remotebranch.py

  • Committer: Lalo Martins
  • Date: 2005-09-07 08:20:27 UTC
  • mto: (1185.1.5)
  • mto: This revision was merged to the branch mainline in revision 1390.
  • Revision ID: lalo@exoweb.net-20050907082026-401ea0f66d26dcca
moving DivergedBranches from bzrlib.branch to bzrlib.errors, obeying:
# XXX: move into bzrlib.errors; subclass BzrError

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
 
27
27
import gzip
28
28
from cStringIO import StringIO
 
29
import os
29
30
import urllib2
30
31
 
31
 
from errors import BzrError, BzrCheckError
32
 
from branch import Branch, BZR_BRANCH_FORMAT
33
 
from trace import mutter
34
 
 
35
 
# velocitynet.com.au transparently proxies connections and thereby
36
 
# breaks keep-alive -- sucks!
37
 
 
38
 
 
39
 
ENABLE_URLGRABBER = True
40
 
 
41
 
from bzrlib.errors import BzrError
 
32
from bzrlib.errors import BzrError, BzrCheckError
 
33
from bzrlib.branch import Branch, BZR_BRANCH_FORMAT
 
34
from bzrlib.trace import mutter
 
35
from bzrlib.xml import serializer_v4
 
36
 
 
37
 
 
38
ENABLE_URLGRABBER = False
 
39
 
 
40
from bzrlib.errors import BzrError, NoSuchRevision
42
41
 
43
42
class GetFailed(BzrError):
44
43
    def __init__(self, url, status):
47
46
        self.status = status
48
47
 
49
48
if ENABLE_URLGRABBER:
50
 
    import urlgrabber
51
 
    import urlgrabber.keepalive
52
 
    urlgrabber.keepalive.DEBUG = 0
 
49
    import util.urlgrabber
 
50
    import util.urlgrabber.keepalive
 
51
    util.urlgrabber.keepalive.DEBUG = 0
53
52
    def get_url(path, compressed=False):
54
53
        try:
55
54
            url = path
56
55
            if compressed:
57
56
                url += '.gz'
58
57
            mutter("grab url %s" % url)
59
 
            url_f = urlgrabber.urlopen(url, keepalive=1, close_connection=0)
 
58
            url_f = util.urlgrabber.urlopen(url, keepalive=1, close_connection=0)
60
59
            if url_f.status != 200:
61
60
                raise GetFailed(url, url_f.status)
62
61
            if not compressed:
154
153
 
155
154
 
156
155
    def get_revision(self, revision_id):
157
 
        from bzrlib.revision import Revision
158
 
        from bzrlib.xml import unpack_xml
159
 
        revf = self.revision_store[revision_id]
160
 
        r = unpack_xml(Revision, revf)
 
156
        try:
 
157
            revf = self.revision_store[revision_id]
 
158
        except KeyError:
 
159
            raise NoSuchRevision(self, revision_id)
 
160
        r = serializer_v4.read_revision(revf)
161
161
        if r.revision_id != revision_id:
162
162
            raise BzrCheckError('revision stored as {%s} actually contains {%s}'
163
163
                                % (revision_id, r.revision_id))