code: def _read_work_units_file(self, work_units_fh):
          '''work_units_fh is iterable on lines (could actually be ['{}',...])
          '''
          count = 0
          for line in work_units_fh:
              if not line:
                  continue
              line = line.strip()
              if not line:
                  continue
              if line[0] == '#':
                  continue
              try:
                  count += 1
                  work_unit = json.loads(line)
                  #work_units.update(work_unit)
                  for k,v in work_unit.iteritems():
                      yield k,v
              except:
                  logger.error('failed handling work_unit on line %s: %r', count, line, exc_info=True)
                  raisf _read_work_units_file(self, work_units_fh):
          '''work_units_fh is iterable on lines (could actually be ['{}',...])
          '''
          count = 0
          for line in work_units_fh:
              if not line:
                  continue
              line = line.strip()
              if not line:
                  continue
              if line[0] == '#':
                  continue
              try:
                  count += 1
                  work_unit = json.loads(line)
                  #work_units.update(work_unit)
                  for k,v in work_unit.iteritems():
                      yield k,v
              except:
                  logger.error('failed handling work_unit on line %s: %r', count, line, exc_info=True)
                  raise
docs: work_units_fh is iterable on lines (could actually be ['{}',...])