Tryag File Manager
Home
-
Turbo Force
Current Path :
/
proc
/
self
/
root
/
usr
/
lib
/
python2.4
/
bsddb
/
Upload File :
New :
File
Dir
//proc/self/root/usr/lib/python2.4/bsddb/dbrecio.pyo
mò ‚=5Dc @ s/ d Z d k Z d k Z d f d „ ƒ YZ d S( s˜ File-like objects that read from or write to a bsddb record. This implements (nearly) all stdio methods. f = DBRecIO(db, key, txn=None) f.close() # explicitly release resources held flag = f.isatty() # always false pos = f.tell() # get current position f.seek(pos) # set current position f.seek(pos, mode) # mode 0: absolute; 1: relative; 2: relative to EOF buf = f.read() # read until EOF buf = f.read(n) # read up to n bytes f.truncate([size]) # truncate file at to at most size (default: current pos) f.write(buf) # write at current position f.writelines(list) # for line in list: f.write(line) Notes: - fileno() is left unimplemented so that code which uses it triggers an exception early. - There's a simple test set (see end of this file) - not yet updated for DBRecIO. - readline() is not implemented yet. From: Itamar Shtull-Trauring <itamar@maxnm.com> Nt DBRecIOc B st t Z d d „ Z d „ Z d „ Z d d „ Z d „ Z d d „ Z d Z d d „ Z d „ Z d „ Z d „ Z RS( Nc C sC | | _ | | _ | | _ d | _ d | _ d | _ d | _ d S( Ni ( t dbt selft keyt txnt Nonet lent post closedt softspace( R R R R ( ( t# /usr/lib/python2.4/bsddb/dbrecio.pyt __init__# s c C s' | i p d | _ | ` | ` n d S( Ni ( R R R R ( R ( ( R t close, s c C s | i o t d ‚ n d S( Ns I/O operation on closed filei ( R R t ValueError( R ( ( R t isatty1 s i c C si | i o t d ‚ n | d j o | | i } n | d j o | | i } n t d | ƒ | _ d S( Ns I/O operation on closed filei i i ( R R R t modeR R t max( R R R ( ( R t seek6 s c C s | i o t d ‚ n | i S( Ns I/O operation on closed file( R R R R ( R ( ( R t tell? s iÿÿÿÿc C sŽ | i o t d ‚ n | d j o | i } n t | i | | i ƒ } | | i } | i i t d | i d | d | i ƒ} | | _ | S( Ns I/O operation on closed filei R t dlent doff( R R R t nR t newpost minR R R t getR R t r( R R R R R ( ( R t readD s * s| def readline(self, length=None): if self.closed: raise ValueError, "I/O operation on closed file" if self.buflist: self.buf = self.buf + string.joinfields(self.buflist, '') self.buflist = [] i = string.find(self.buf, ' ', self.pos) if i < 0: newpos = self.len else: newpos = i+1 if length is not None: if self.pos + length < newpos: newpos = self.pos + length r = self.buf[self.pos:newpos] self.pos = newpos return r def readlines(self, sizehint = 0): total = 0 lines = [] line = self.readline() while line: lines.append(line) total += len(line) if 0 < sizehint <= total: break line = self.readline() return lines c C s¤ | i o t d ‚ n | d j o | i } nA | d j o t t i d ƒ ‚ n | | i j o | | _ n | i i t d d | i d | i | d | ƒd S( Ns I/O operation on closed filei s Negative size not allowedt R R R ( R R R t sizeR R t IOErrort errnot EINVALR t putR R R ( R R ( ( R t truncater s c C s¸ | i o t d ‚ n | p d Sn | i | i j o. | i i d | i | i ƒ | i | _ n | i t | ƒ } | i i t | d | i d t | ƒ d | i ƒ| | _ d S( Ns I/O operation on closed filet R R R ( R R R t sR R t buflistt appendR R R R R ( R R# R ( ( R t write~ s 1c C s | i t i | d ƒ ƒ d S( NR ( R R&