~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/osutils.py

  • Committer: Martin Pool
  • Date: 2005-09-16 09:19:54 UTC
  • Revision ID: mbp@sourcefrog.net-20050916091954-aee6d7be00db6354
- more docs in commit code

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
18
 
19
19
import os, types, re, time, errno, sys
 
20
import sha
 
21
from cStringIO import StringIO
 
22
 
20
23
from stat import S_ISREG, S_ISDIR, S_ISLNK, ST_MODE, ST_SIZE
21
24
 
22
25
from bzrlib.errors import BzrError
87
90
 
88
91
    If the file is already a backup, it's not copied.
89
92
    """
90
 
    import os
91
93
    if fn[-1] == '~':
92
94
        return
93
95
    bfn = fn + '~'
195
197
 
196
198
 
197
199
def sha_file(f):
198
 
    import sha
199
200
    if hasattr(f, 'tell'):
200
201
        assert f.tell() == 0
201
202
    s = sha.new()
208
209
    return s.hexdigest()
209
210
 
210
211
 
 
212
 
 
213
def sha_strings(strings):
 
214
    """Return the sha-1 of concatenation of strings"""
 
215
    s = sha.new()
 
216
    map(s.update, strings)
 
217
    return s.hexdigest()
 
218
 
 
219
 
211
220
def sha_string(f):
212
 
    import sha
213
221
    s = sha.new()
214
222
    s.update(f)
215
223
    return s.hexdigest()
217
225
 
218
226
 
219
227
def fingerprint_file(f):
220
 
    import sha
221
228
    s = sha.new()
222
229
    b = f.read()
223
230
    s.update(b)
492
499
        raise
493
500
 
494
501
 
 
502
 
 
503
def split_lines(s):
 
504
    """Split s into lines, but without removing the newline characters."""
 
505
    return StringIO(s).readlines()
 
506