def iterate_through_odk_instances(dirpath, callback): total_file_count = 0 success_count = 0 errors = [] for directory, subdirs, subfiles in os.walk(dirpath): for filename in subfiles: filepath = os.path.join(directory, filename) if XFormInstanceFS.is_valid_odk_instance(filepath): xfxs = XFormInstanceFS(filepath) try: success_count += callback(xfxs) except Exception, e: errors.append("%s => %s" % (xfxs.filename, str(e))) del(xfxs) total_file_count += 1
def iterate_through_odk_instances(dirpath, callback): count = 0 errors = 0 for directory, subdirs, subfiles in os.walk(dirpath): for filename in subfiles: filepath = os.path.join(directory, filename) if XFormInstanceFS.is_valid_odk_instance(filepath): xfxs = XFormInstanceFS(filepath) try: count += callback(xfxs) except: errors += 1 del (xfxs) return (count, errors)