<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def generate_contentinfo_from_channeldir(self, args, options):
 """ Create rows in Content.csv for each folder and file in `self.channeldir`. """

        LOGGER.info('Generating Content.csv rows folders and file in channeldir')
        file_path = get_metadata_file_path(self.channeldir, self.contentinfo)
        with open(file_path, 'a') as csv_file:
            csvwriter = csv.DictWriter(csv_file, CONTENT_INFO_HEADER)

            channeldir = args['channeldir']
            if channeldir.endswith(os.path.sep):
                channeldir.rstrip(os.path.sep)

            # MAIN PROCESSING OF os.walk OUTPUT
            content_folders = sorted(os.walk(channeldir))
            _ = content_folders.pop(0)           # Skip over channel root folder
            for rel_path, _subfolders, filenames in content_folders:
                LOGGER.info('processing folder ' + str(rel_path))
                sorted_filenames = sorted(filenames)
                self.generate_contentinfo_from_folder(csvwriter, rel_path, sorted_filenames)
        LOGGER.info('Generted {} row for all folders and files in {}'.format(self.contentinfo, self.channeldir))