Revision 0e5084ee lib/utils/io.py

b/lib/utils/io.py
38 38
_RANDOM_UUID_FILE = "/proc/sys/kernel/random/uuid"
39 39

  
40 40

  
41
def ReadFile(file_name, size=-1):
41
def ReadFile(file_name, size=-1, preread=None):
42 42
  """Reads a file.
43 43

  
44 44
  @type size: int
45 45
  @param size: Read at most size bytes (if negative, entire file)
46
  @type preread: callable receiving file handle as single parameter
47
  @param preread: Function called before file is read
46 48
  @rtype: str
47 49
  @return: the (possibly partial) content of the file
48 50

  
49 51
  """
50 52
  f = open(file_name, "r")
51 53
  try:
54
    if preread:
55
      preread(f)
56

  
52 57
    return f.read(size)
53 58
  finally:
54 59
    f.close()

Also available in: Unified diff