~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/transport.py

  • Committer: John Arbash Meinel
  • Date: 2005-07-11 22:24:03 UTC
  • mto: (1185.11.1)
  • mto: This revision was merged to the branch mainline in revision 1396.
  • Revision ID: john@arbash-meinel.com-20050711222403-5dc86e254b69f7ab
Remote functionality work.
Added lock_read/write() to Transport.
Turns out that both urllib2 and urlgrabber don't let you
seek on files that are returned, and GzipFile wants to
seek on the file when it is read. So instead,
we check, and wrap in a StringIO when required.

Show diffs side-by-side

added added

removed removed

Lines of Context:
175
175
        """
176
176
        raise NotImplementedError
177
177
 
 
178
    def relpath(self, abspath):
 
179
        """Return the local path portion from a given absolute path.
 
180
        """
 
181
        raise NotImplementedError
 
182
 
178
183
    def get_multi(self, relpaths, decode=False, pb=None):
179
184
        """Get a list of file-like objects, one for each entry in relpaths.
180
185
 
313
318
        """
314
319
        raise NotImplementedError
315
320
 
 
321
    def lock_read(self, relpath):
 
322
        """Lock the given file for shared (read) access.
 
323
        WARNING: many transports do not support this, so trying avoid using it
 
324
 
 
325
        :return: A lock object, which should contain an unlock() function.
 
326
        """
 
327
        raise NotImplementedError
 
328
 
 
329
    def lock_write(self, relpath):
 
330
        """Lock the given file for exclusive (write) access.
 
331
        WARNING: many transports do not support this, so trying avoid using it
 
332
 
 
333
        :return: A lock object, which should contain an unlock() function.
 
334
        """
 
335
        raise NotImplementedError
 
336
 
 
337
 
316
338
def transport(base):
317
339
    if base is None:
318
340
        base = '.'