def clean_empty_dirs(): #print 'cleaning dirs...' def get_subdirs(path): for root, dirs, files in os.walk(path): return [os.path.join(root, x) for x in dirs] return [] def has_subs(path): for root, dirs, files in os.walk(path): files = [x for x in files if not x.startswith('.')] return len(dirs) + len(files) != 0 return False for show_dir in get_subdirs(tv_shows_dir): for subdir in get_subdirs(show_dir): if not has_subs(subdir): #print 'removing directory',subdir if not DEBUG: send2trash(subdir) continue for subdir2 in get_subdirs(subdir): if not has_subs(subdir2): #print 'removing directory',subdir2 if not DEBUG: send2trash(subdir2)
def clean_empty_dirs(): #print 'cleaning dirs...' def get_subdirs(path): for root, dirs, files in os.walk(path): return [os.path.join(root, x) for x in dirs] return [] def has_subs(path): for root, dirs, files in os.walk(path): files = [x for x in files if not x.startswith('.')] return len(dirs)+len(files) != 0 return False for show_dir in get_subdirs(tv_shows_dir): for subdir in get_subdirs(show_dir): if not has_subs(subdir): #print 'removing directory',subdir if not DEBUG: send2trash(subdir) continue for subdir2 in get_subdirs(subdir): if not has_subs(subdir2): #print 'removing directory',subdir2 if not DEBUG: send2trash(subdir2)
def delete_watched_episodes(): for episode in Episode.objects.filter(watched=True).exclude(filepath=''): if episode.show.auto_erase and episode.filepath: try: send2trash(episode.filepath) except OSError: pass episode.filepath = '' episode.save()