Antoine Merino
b0d2cda34a
Fix: Ensure export filenames fit within 143-character limit
...
The eCryptfs filesystem imposes a filename length limit of 143 characters.
This limit still applies on some systems, such as Synology and QNAP NAS devices when using encrypted folders.
When saving documents with long names, Paperless-ngx triggers a warning (`[Errno 36] File name too long`),
but it gracefully falls back to a default or truncated name.
However, the `document_exporter` crashes when encountering such filenames during export.
This change ensures that exported document base names are capped at 120 characters,
leaving room for extensions and suffixes and keeping the total filename length within 143 characters.
Using the document exported with the "--delete" parameter will take care of eventual old files with a long name, if the filesystem supported it.
2025-03-07 01:48:17 +01:00
Harold Waterkeyn
1bc77546eb
Feature: Add slugify filter in templating ( #9269 )
2025-03-03 08:20:04 -08:00
shamoon
0fc1860d4c
Enhancement: use stable unique IDs for custom field select options ( #8299 )
2024-12-02 04:15:38 +00:00
Trenton H
335c6c3820
Fix: Update filename correctly if the document is in the trash ( #8066 )
...
* Fixes an issue where the filename is not updated if the document is in the trash (but the file is moved)
2024-10-28 02:45:31 +00:00
Trenton H
ad23cce2e6
Handle a special case where the none marker exists in a way which could create an absolute path ( #8060 )
2024-10-28 01:51:07 +00:00
shamoon
149d770ad1
Enhancement: auto-update document filenames with CF select fields ( #8045 )
2024-10-27 23:45:21 +00:00
Trenton H
c2cfaaf8af
Fix: Handling of Nones when using custom fields in filepath templating ( #7933 )
2024-10-15 17:54:15 +00:00
Trenton H
7c11a37150
Feature: Enhanced templating for filename format ( #7836 )
...
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2024-10-06 12:54:01 -07:00
shamoon
6defe24ae7
Fix: always update document modified property on bulk edit operations ( #7079 )
2024-06-23 12:11:24 -07:00
shamoon
a796e58a94
Feature: documents trash aka soft delete ( #6944 )
2024-06-17 08:07:08 -07:00
Trenton H
622f624132
Chore: Change the code formatter to Ruff ( #6756 )
...
* Changing the formatting to ruff-format
* Replaces references to black to ruff or ruff format, removes black from dependencies
2024-05-18 02:26:50 +00:00
shamoon
05b1ff9738
Feature: document history (audit log UI) ( #6388 )
2024-04-23 15:16:28 +00:00
Trenton H
13201dbfff
Ensure all creations of directories create the parents too ( #5711 )
2024-02-10 11:02:40 -08:00
shamoon
e6d6f21d33
Fix: fix filename format remove none when part of directory ( #5210 )
2024-01-02 15:17:18 +00:00
Trenton H
1a87c730bc
Logs the errors during thumbnail generation, updates default to be WebP
2023-09-12 12:16:22 -07:00
mechanarchy
6ad3d45d60
Add 'doc_pk' to PAPERLESS_FILENAME_FORMAT handling ( #3861 )
...
* Add 'doc_pk' to PAPERLESS_FILENAME_FORMAT handling
* Add test for 'doc_pk' filename formatter
2023-07-30 08:30:50 -07:00
Trenton Holmes
b7577038a0
Replace usages of os.rename with shutil.move to properly handle cases where the source and dest arent't on the same filesystem
2023-05-01 07:28:52 -07:00
Trenton H
6f163111ce
Upgrades black to v23, upgrades ruff
2023-04-26 09:35:27 -07:00
Trenton H
3bcbd05252
Fixes ruff not running isort against the codebase
2023-04-26 09:35:27 -07:00
Trenton H
ce41ac9158
Configures ruff as the one stop linter and resolves warnings it raised
2023-04-01 17:03:52 -07:00
Trenton Holmes
97ff2e126c
Adds owner and original name to the possible naming schemes
2023-03-12 15:29:58 -07:00
Trenton H
41bcfcaffe
Changes out the settings and a decent amount of test code to be pathlib compatible
2023-03-06 09:16:07 -08:00
Trenton Holmes
0df91c31f1
Creates a mix-in for asserting file system states
2023-02-20 10:25:21 -08:00
Trenton H
abc58000b4
Moves the renaming ttask into the serialiser update instead of post_save. Feels more correct
2023-02-18 12:19:33 -08:00
Trenton H
5e3ef94697
Moves the renaming triggered from a storage path change to be a background task
2023-02-18 12:19:33 -08:00
Trenton H
857944aabe
When a StoragePath is changed, check if related documents require a rename
2023-02-18 12:19:33 -08:00
Trenton Holmes
4fcaa72886
Adds more options for the filename formatting
2022-11-01 08:44:30 -07:00
Markus
69ef26dab0
Feature: Dynamic document storage pathes ( #916 )
...
* Added devcontainer
* Add feature storage pathes
* Exclude tests and add versioning
* Check escaping
* Check escaping
* Check quoting
* Echo
* Escape
* Escape :
* Double escape \
* Escaping
* Remove if
* Escape colon
* Missing \
* Esacpe :
* Escape all
* test
* Remove sed
* Fix exclude
* Remove SED command
* Add LD_LIBRARY_PATH
* Adjusted to v1.7
* Updated test-cases
* Remove devcontainer
* Removed internal build-file
* Run pre-commit
* Corrected flak8 error
* Adjusted to v1.7
* Updated test-cases
* Corrected flak8 error
* Adjusted to new plural translations
* Small adjustments due to code-review backend
* Adjusted line-break
* Removed PAPERLESS prefix from settings variables
* Corrected style change due to search+replace
* First documentation draft
* Revert changes to Pipfile
* Add sphinx-autobuild with keep-outdated
* Revert merge error that results in wrong storage path is evaluated
* Adjust styles of generated files ...
* Adds additional testing to cover dynamic storage path functionality
* Remove unnecessary condition
* Add hint to edit storage path dialog
* Correct spelling of pathes to paths
* Minor documentation tweaks
* Minor typo
* improving wrapping of filter editor buttons with new storage path button
* Update .gitignore
* Fix select border radius in non input-groups
* Better storage path edit hint
* Add note to edit storage path dialog re document_renamer
* Add note to bulk edit storage path re document_renamer
* Rename FILTER_STORAGE_DIRECTORY to PATH
* Fix broken filter rule parsing
* Show default storage if unspecified
* Remove note re storage path on bulk edit
* Add basic validation of filename variables
Co-authored-by: Markus Kling <markus@markus-kling.net>
Co-authored-by: Trenton Holmes <holmes.trenton@gmail.com>
Co-authored-by: Michael Shamoon <4887959+shamoon@users.noreply.github.com>
Co-authored-by: Quinn Casey <quinn@quinncasey.com>
2022-05-19 14:42:25 -07:00
Trenton Holmes
3003bdd507
Runs pyupgrade to Python 3.8+ and adds a hook for it
2022-05-06 09:04:08 -07:00
Trenton Holmes
1771d18a21
Runs the pre-commit hooks over all the Python files
2022-03-11 11:34:28 -08:00
kpj
fc695896dd
Format Python code with black
2022-02-27 15:26:41 +01:00
Felix Eckhofer
f9bbb9a8c3
Remove stray newline
2022-02-20 14:17:06 +01:00
Felix Eckhofer
64304c5121
Add PAPERLESS_TRASH_DIR
...
When set, original files are moved here instead of being permanently
removed when a document is deleted.
2021-08-24 12:50:13 +02:00
jonaswinkler
4211153527
update file renaming logic
2021-02-11 13:47:17 +01:00
jonaswinkler
2f85461109
added some test cases that I still need to address
2021-02-10 23:53:48 +01:00
jonaswinkler
1d002149dc
added ASN to filename format #519
2021-02-09 23:03:07 +01:00
jonaswinkler
d13e86a892
update all test cases to address the archive filename changes
2021-02-09 19:51:16 +01:00
jonaswinkler
e05735bc0f
fix some test cases
2021-02-09 00:00:46 +01:00
jonaswinkler
57a5a4147b
test case
2020-12-19 14:48:42 +01:00
jonaswinkler
8bd82f5c69
fixing some test case warnings, case insensitive sorting for tags, correspondents and types.
2020-12-16 13:49:48 +01:00
jonaswinkler
8cc0336338
prevent usage of {tags} directly.
2020-12-14 03:01:50 +01:00
jonaswinkler
bad7caa8b9
fixes #117
2020-12-14 02:46:46 +01:00
jonaswinkler
251fc582e9
fixes #130
2020-12-14 02:19:53 +01:00
jonaswinkler
20c46278dc
removed a janky test case that caused other test cases to fail
2020-12-09 22:18:03 +01:00
jonaswinkler
550a74347c
a test that "verifies" that the file renaming lock works and no inconsistencies are created.
2020-12-08 21:08:44 +01:00
jonaswinkler
9da11f29c7
fixes #90
2020-12-08 13:54:49 +01:00
jonaswinkler
a079c310b4
changes to filename generation, partially addresses #90
2020-12-06 16:13:37 +01:00
jonaswinkler
fd3df1ec58
some more tests.
2020-12-01 14:15:43 +01:00
jonaswinkler
8a5c782425
filename handling for archive files.
2020-11-30 21:38:42 +01:00
jonaswinkler
023aeea7ea
test cases for #67
2020-11-29 15:47:56 +01:00