diff --git a/apps/document_indexing/api.py b/apps/document_indexing/api.py index b2e166f347..972b903210 100644 --- a/apps/document_indexing/api.py +++ b/apps/document_indexing/api.py @@ -127,7 +127,8 @@ def do_rebuild_all_indexes(): # Internal functions def find_lowest_available_suffix(index_instance, document): - index_instance_documents = DocumentRenameCount.objects.filter(index_instance=index_instance).filter(document__file_extension=document.file_extension) + # TODO: verify extension's role in query + index_instance_documents = DocumentRenameCount.objects.filter(index_instance=index_instance)#.filter(document__file_extension=document.file_extension) files_list = [] for index_instance_document in index_instance_documents: files_list.append(assemble_document_filename(index_instance_document.document, index_instance_document.suffix)) diff --git a/apps/document_indexing/filesystem.py b/apps/document_indexing/filesystem.py index 04744f4254..f8762060ce 100644 --- a/apps/document_indexing/filesystem.py +++ b/apps/document_indexing/filesystem.py @@ -36,8 +36,7 @@ def fs_create_index_directory(index_instance): def fs_create_document_link(index_instance, document, suffix=0): if FILESERVING_ENABLE: - name_part = assemble_document_filename(document, suffix) - filename = os.extsep.join([name_part, document.file_extension]) + filename = assemble_document_filename(document.file_filename, suffix) filepath = os.path.join(FILESERVING_PATH, get_instance_path(index_instance), filename) try: os.symlink(document.file.path, filepath) @@ -56,11 +55,7 @@ def fs_create_document_link(index_instance, document, suffix=0): def fs_delete_document_link(index_instance, document, suffix=0): if FILESERVING_ENABLE: - name_part = document.file_filename - if suffix: - name_part = u'_'.join([name_part, unicode(suffix)]) - - filename = os.extsep.join([name_part, document.file_extension]) + filename = assemble_document_filename(document.file_filename, suffix) filepath = os.path.join(FILESERVING_PATH, get_instance_path(index_instance), filename) try: diff --git a/apps/document_indexing/os_agnostic.py b/apps/document_indexing/os_agnostic.py index ac8ef648ec..f33550609a 100644 --- a/apps/document_indexing/os_agnostic.py +++ b/apps/document_indexing/os_agnostic.py @@ -1,8 +1,16 @@ +import os + from document_indexing.conf.settings import SUFFIX_SEPARATOR -def assemble_document_filename(document, suffix=0): +def assemble_document_filename(filename, suffix=0): + ''' + Split document filename, to attach suffix to the name part then + re attacht the extension + ''' + if suffix: - return SUFFIX_SEPARATOR.join([document.file_filename, unicode(suffix)]) + name, extension = filename.split(os.split(os.extsep)) + return SUFFIX_SEPARATOR.join([name, unicode(suffix), os.extsep, extension]) else: - return document.file_filename + return file_filename