<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def mmols(self):
 """ Dict of filepaths for all mmol files associated with code. Notes ----- Downloads mmol files if not already present. Returns ------- mmols_dict : dict, or None. Keys : int mmol number Values : str Filepath for the corresponding mmol file. """

        mmols_dict = {}
        mmol_dir = os.path.join(self.parent_dir, 'structures')
        if not os.path.exists(mmol_dir):
            os.makedirs(mmol_dir)
        mmol_file_names = ['{0}_{1}.mmol'.format(self.code, i) for i in range(1, self.number_of_mmols + 1)]
        mmol_files = [os.path.join(mmol_dir, x) for x in mmol_file_names]
        for i, mmol_file in enumerate(mmol_files):
            mmols_dict[i + 1] = mmol_file
            # If file does not exist yet, download the mmol and write to mmol_file.
            if not os.path.exists(mmol_file):
                get_mmol(self.code, mmol_number=i + 1, outfile=mmol_file)
        return mmols_dict