From e94e9407ecca95a25cb5d344aadd430848391297 Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Mon, 25 Jul 2011 03:42:17 -0400 Subject: [PATCH] Added invalidate_cached_image function for document models instances, remove duplication --- apps/documents/models.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/apps/documents/models.py b/apps/documents/models.py index 884a1bd012..95271c28a5 100644 --- a/apps/documents/models.py +++ b/apps/documents/models.py @@ -226,12 +226,15 @@ class Document(models.Model): ) page_transformation.save() - - def get_image_cache_name(self, page): + + def get_cached_image_name(self, page): document_page = self.documentpage_set.get(page_number=page) transformations, warnings = document_page.get_transformation_list() hash_value = HASH_FUNCTION(u''.join([self.checksum, unicode(page), unicode(transformations)])) - cache_file_path = os.path.join(CACHE_PATH, hash_value) + return os.path.join(CACHE_PATH, hash_value), transformations + + def get_image_cache_name(self, page): + cache_file_path, transformations = self.get_cached_image_name(page) if os.path.exists(cache_file_path): return cache_file_path else: @@ -249,6 +252,12 @@ class Document(models.Model): except: return get_error_icon_file_path() + def invalidate_cached_image(self, page): + try: + os.unlink(self.get_cached_image_name(page)[0]) + except OSError: + pass + class DocumentTypeFilename(models.Model): """