Show More
@@ -9,7 +9,7 b'' | |||||
9 |
|
9 | |||
10 | from i18n import _ |
|
10 | from i18n import _ | |
11 | import changelog, byterange, url, error |
|
11 | import changelog, byterange, url, error | |
12 | import localrepo, manifest, util, store |
|
12 | import localrepo, manifest, util, scmutil, store | |
13 | import urllib, urllib2, errno |
|
13 | import urllib, urllib2, errno | |
14 |
|
14 | |||
15 | class httprangereader(object): |
|
15 | class httprangereader(object): | |
@@ -67,17 +67,17 b' def build_opener(ui, authinfo):' | |||||
67 | urlopener = url.opener(ui, authinfo) |
|
67 | urlopener = url.opener(ui, authinfo) | |
68 | urlopener.add_handler(byterange.HTTPRangeHandler()) |
|
68 | urlopener.add_handler(byterange.HTTPRangeHandler()) | |
69 |
|
69 | |||
70 | def opener(base): |
|
70 | class statichttpopener(scmutil.abstractopener): | |
71 | """return a function that opens files over http""" |
|
71 | def __init__(self, base): | |
72 |
|
|
72 | self.base = base | |
73 | def o(path, mode="r", atomictemp=None): |
|
73 | ||
|
74 | def __call__(self, path, mode="r", atomictemp=None): | |||
74 | if mode not in ('r', 'rb'): |
|
75 | if mode not in ('r', 'rb'): | |
75 | raise IOError('Permission denied') |
|
76 | raise IOError('Permission denied') | |
76 |
f = "/".join(( |
|
77 | f = "/".join((self.base, urllib.quote(path))) | |
77 | return httprangereader(f, urlopener) |
|
78 | return httprangereader(f, urlopener) | |
78 | return o |
|
|||
79 |
|
79 | |||
80 | return opener |
|
80 | return statichttpopener | |
81 |
|
81 | |||
82 | class statichttprepository(localrepo.localrepository): |
|
82 | class statichttprepository(localrepo.localrepository): | |
83 | def __init__(self, ui, path): |
|
83 | def __init__(self, ui, path): |
General Comments 0
You need to be logged in to leave comments.
Login now