<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def partition_dumps(self):
 """Yeild a set of manifest object that parition the dumps. Simply adds resources/files to a manifest until their are either the the correct number of files or the size limit is exceeded, then yields that manifest. """

        manifest = self.manifest_class()
        manifest_size = 0
        manifest_files = 0
        for resource in self.resources:
            manifest.add(resource)
            manifest_size += resource.length
            manifest_files += 1
            if (manifest_size >= self.max_size or
                    manifest_files >= self.max_files):
                yield(manifest)
                # Need to start a new manifest
                manifest = self.manifest_class()
                manifest_size = 0
                manifest_files = 0
        if (manifest_files > 0):
            yield(manifest)