|
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17 System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64 User : nobody ( 99) PHP Version : 5.2.17 Disable Function : NONE Directory : /proc/21585/root/usr/lib64/python2.4/bsddb/ |
Upload File : |
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/lib64/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&