<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def do_load(self, args):
        '''loads work_units into a namespace for a given work_spec

        --work-units file is JSON, one work unit per line, each line a
        JSON dict with the one key being the work unit key and the
        value being a data dict for the work unit.

        '''
        work_spec = self._get_work_spec(args)
        work_spec['nice'] = args.nice
        self.task_master.set_work_spec(work_spec)

        if args.no_work:
            work_units_fh = []  # it just has to be an iterable with no lines
        else:
            work_units_fh = self._work_units_fh_from_path(args.work_units_path)
            if work_units_fh is None:
                raise RuntimeError('need -u/--work-units or --no-work')
        self.stdout.write('loading work units from {0!r}\n'
                          .format(work_units_fh))
        work_units = dict(self._read_work_units_file(work_units_fh))

        if work_units:
            self.stdout.write('pushing work units\n')
            self.task_master.add_work_units(work_spec['name'], work_units.items())
            self.stdout.write('finished writing {0} work units to work_spec={1!r}\n'
                              .format(len(work_units), work_spec['name']))
        else:
            self.stdout.write('no work units. done.\n')