def fixImages(): needed_files = set() for image in Image.select(): try: path = image.getPath() except LookupError: continue if not os.path.isfile(path): log.debug("%s has no file adding it to the Q" % image) common.Q.put(('image.download', {'id': image.element.id})) needed_files.add(path) log.info("Needed image files %d" % len(needed_files)) all_files = set() for root, dirnames, filenames in os.walk(xdm.IMAGEPATH): for filename in filenames: all_files.add(os.path.join(root, filename)) old_files = all_files - needed_files log.info(u"Found image %s files " % len(all_files)) if old_files: log.info(u"Removing %s old files" % len(old_files)) for unneeded_file_path in old_files: unneeded_file_path = unneeded_file_path.decode("utf-8") log.debug(u"Deleting unneeded image file %s" % unneeded_file_path) os.remove(unneeded_file_path)
def load_missing_images(element=None): needed_files = set() if element: selected_images = Image.select().where(Image.element == element) else: selected_images = Image.select() for image in selected_images: try: path = image.getPath() except LookupError: continue if not os.path.isfile(path): log.debug("%s has no file adding it to the Q" % image) common.Q.put(('image.download', {'id': image.element.id})) needed_files.add(path) log.info("Needed image files %d" % len(needed_files)) return needed_files
def fixImages(): needed_files = set() for image in Image.select(): path = image.getPath() if not os.path.isfile(path): log.debug("%s has no file adding it to the Q" % image) common.Q.put(('image.download', {'id': image.element.id})) needed_files.add(path) log.info("Needed image files %d" % len(needed_files)) all_files = set() for root, dirnames, filenames in os.walk(xdm.IMAGEPATH): for filename in filenames: all_files.add(os.path.join(root, filename)) old_files = all_files - needed_files log.info(u"Found image %s files " % len(all_files)) if old_files: log.info(u"Removing %s old files" % len(old_files)) for unneeded_file_path in old_files: unneeded_file_path = unneeded_file_path.decode("utf-8") log.debug(u"Deleting unneeded image file %s" % unneeded_file_path) os.remove(unneeded_file_path)
def deleteOrphanImages(): log.info("Getting orphanaged images") elements = Element.select() image_dq = Image.delete().where(~(Image.element << elements)) deleted_rows = image_dq.execute() log.info("Deleted %s orphanaged images" % deleted_rows)