Comments (3)
Thank you for your report.
This behavior is expected.
As the description of the error message, it is impossible to create an absolute file path for universal
(operating system independent) platform.
from pathvalidate.
Thank you for your comment although it does not seem to be about my report. The question is to sanitize a path, not to create it. Moreover, under Unix, Linux, FreeBSD, etc., paths can be created independently of being absolute or relative. (Only file/directory permissions matter.)
There is no reason for sanitize_filepath
, when called with platform="Linux"
or platform="auto"
, to return the original path whereas the latter contains shell-reserved characters (please, have a look at In [6] and In [7] of sanitize-filepath-bug.pdf).
In addition, if an absolute path may be problematic for some platforms (certainly not for Linux), sanitize_filepath
could return an equivalent relative path.
from pathvalidate.
The question is to sanitize a path, not to create it.
I mean, create a sanitized file path by sanitize_filepath
function.
Moreover, under Unix, Linux, FreeBSD, etc., paths can be created independently of being absolute or relative. (Only file/directory permissions matter.)
In sanitize_filepath
, platfrom=universal
includes Windows. POSIX abspath and Windows abspath are incompatible.
There is no reason for sanitize_filepath, when called with platform="Linux" or platform="auto", to return the original path whereas the latter contains shell-reserved characters
There is a reason. shell-reserved characters like vertical line (|
) can be used for file names when creating files outside shells.
You can use replace_symbol
function to remove such characters.
from pathvalidate.
Related Issues (20)
- sanitize_filepath: "./" is unnecessarily modified when platform="Linux" HOT 1
- Name of only whitespace erroneously fails validation on linux HOT 1
- Fix file permissions in source distribution for README and LICENSE HOT 1
- Many name validations that include '\' (backslash) fail on Linux HOT 1
- validate_filename() and sanitize_filename() pass '.' and '..' HOT 4
- sanitize_filename() can return empty strings HOT 1
- installation via apt not possible HOT 1
- Fails to build with Python 3.11.0 alpha 6 HOT 5
- Correct library interface HOT 8
- Trim space and period in Windows HOT 1
- Consider filesystem encoding for length calculations HOT 1
- Choose sanitizing behavior of max_len HOT 1
- Type model is incorrect HOT 1
- Unicode en dash (u"\u2013") Is Not Replaced By sanitize_filename HOT 3
- Support longer paths for Windows 10/11 HOT 1
- /Users/ken/duptemp/foo and others are invalid filenames. What? HOT 1
- validation message indicates Windows as the platform whereas the offending character is universal HOT 2
- Readme is out of date with the actual error generated by validate_filename HOT 1
- Unit tests fails with Python 3.13.0 alpha 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pathvalidate.