mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	Allow filename to use tags[KEY] and tags[INDEX]
This commit is contained in:
		| @@ -289,7 +289,10 @@ class Document(models.Model): | ||||
|         # entries contain an _ or - which will be used as a delimiter | ||||
|         mydictionary = dict() | ||||
|  | ||||
|         for t in field.all(): | ||||
|         for index, t in enumerate(field.all()): | ||||
|             # Populate tag names by index | ||||
|             mydictionary[index] = slugify(t.name) | ||||
|  | ||||
|             # Find delimiter | ||||
|             delimiter = t.name.find('_') | ||||
|  | ||||
| @@ -306,16 +309,6 @@ class Document(models.Model): | ||||
|  | ||||
|         return mydictionary | ||||
|  | ||||
|     @staticmethod | ||||
|     def many_to_list(field): | ||||
|         # Converts ManyToManyField to list | ||||
|         mylist = list() | ||||
|  | ||||
|         for t in field.all(): | ||||
|             mylist.append(slugify(t.name)) | ||||
|  | ||||
|         return mylist | ||||
|  | ||||
|     @staticmethod | ||||
|     def fill_list(input_list, length, filler): | ||||
|         while len(input_list) < length: | ||||
| @@ -326,16 +319,13 @@ class Document(models.Model): | ||||
|     def generate_source_filename(self): | ||||
|         # Create filename based on configured format | ||||
|         if settings.PAPERLESS_FILENAME_FORMAT is not None: | ||||
|             tag = defaultdict(lambda: slugify(None), | ||||
|                               self.many_to_dictionary(self.tags)) | ||||
|             tags = defaultdict(lambda: slugify(None), | ||||
|                                enumerate(self.many_to_list(self.tags))) | ||||
|                                self.many_to_dictionary(self.tags)) | ||||
|             path = settings.PAPERLESS_FILENAME_FORMAT.format( | ||||
|                    correspondent=slugify(self.correspondent), | ||||
|                    title=slugify(self.title), | ||||
|                    created=slugify(self.created), | ||||
|                    added=slugify(self.added), | ||||
|                    tag=tag, | ||||
|                    tags=tags) | ||||
|         else: | ||||
|             path = "" | ||||
|   | ||||
| @@ -145,7 +145,7 @@ class TestDate(TestCase): | ||||
|  | ||||
|     @override_settings(MEDIA_ROOT="/tmp/paperless-tests-{}". | ||||
|                        format(str(uuid4())[:8])) | ||||
|     @override_settings(PAPERLESS_FILENAME_FORMAT="{tag[type]}") | ||||
|     @override_settings(PAPERLESS_FILENAME_FORMAT="{tags[type]}") | ||||
|     def test_tags_with_underscore(self): | ||||
|         document = Document() | ||||
|         document.file_type = "pdf" | ||||
| @@ -168,7 +168,7 @@ class TestDate(TestCase): | ||||
|  | ||||
|     @override_settings(MEDIA_ROOT="/tmp/paperless-tests-{}". | ||||
|                        format(str(uuid4())[:8])) | ||||
|     @override_settings(PAPERLESS_FILENAME_FORMAT="{tag[type]}") | ||||
|     @override_settings(PAPERLESS_FILENAME_FORMAT="{tags[type]}") | ||||
|     def test_tags_with_dash(self): | ||||
|         document = Document() | ||||
|         document.file_type = "pdf" | ||||
| @@ -191,7 +191,7 @@ class TestDate(TestCase): | ||||
|  | ||||
|     @override_settings(MEDIA_ROOT="/tmp/paperless-tests-{}". | ||||
|                        format(str(uuid4())[:8])) | ||||
|     @override_settings(PAPERLESS_FILENAME_FORMAT="{tag[type]}") | ||||
|     @override_settings(PAPERLESS_FILENAME_FORMAT="{tags[type]}") | ||||
|     def test_tags_malformed(self): | ||||
|         document = Document() | ||||
|         document.file_type = "pdf" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Wolf-Bastian Poettner
					Wolf-Bastian Poettner