novoid/filetags

File enumeration/wildcards not implemented? (Windows)

CHaskell2 opened this issue · 2 comments

Since *.txt and such aren't resolved on windows (or at least in cmd.exe), filetags gets the wildcard string directly:

echo hello > test.txt

filetags -v --tags="hello" *.txt

DEBUG    2019-12-21 13:20:55,617 extracting list of files ...
DEBUG    2019-12-21 13:20:55,618 len(options.files) [1]
DEBUG    2019-12-21 13:20:55,618 1 filenames found: [*.txt]
DEBUG    2019-12-21 13:20:55,618 reported console width: 80 and height: 80   (80/80 is the fall-back)
DEBUG    2019-12-21 13:20:55,618 locate_and_parse_controlled_vocabulary: called with startfile: "*.txt"
DEBUG    2019-12-21 13:20:55,618 locate_and_parse_controlled_vocabulary: called in cwd: C:\temp
DEBUG    2019-12-21 13:20:55,618 locate_file_in_cwd_and_parent_directories: called with startfile "*.txt" and filename ".filetags" ..
DEBUG    2019-12-21 13:20:55,618 locate_file_in_cwd_and_parent_directories: no startfile found; using cwd as starting_dir [C:\temp] ......
DEBUG    2019-12-21 13:20:55,619 locate_file_in_cwd_and_parent_directories: looking for ".filetags" in directory "C:\" .......
DEBUG    2019-12-21 13:20:55,620 locate_file_in_cwd_and_parent_directories: did NOT find ".filetags" in current directory or any parent directory
DEBUG    2019-12-21 13:20:55,620 locate_and_parse_controlled_vocabulary: locate_file_in_cwd_and_parent_directories did NOT find any filename
DEBUG    2019-12-21 13:20:55,620 locate_and_parse_controlled_vocabulary: this is Windows: also look out for lnk-files that link to .filetags files ...
DEBUG    2019-12-21 13:20:55,620 locate_file_in_cwd_and_parent_directories: called with startfile "*.txt" and filename ".filetags.lnk" ..
DEBUG    2019-12-21 13:20:55,620 locate_file_in_cwd_and_parent_directories: no startfile found; using cwd as starting_dir [C:\temp] ......
DEBUG    2019-12-21 13:20:55,620 locate_file_in_cwd_and_parent_directories: looking for ".filetags.lnk" in directory "C:\" .......
DEBUG    2019-12-21 13:20:55,620 locate_file_in_cwd_and_parent_directories: did NOT find ".filetags.lnk" in current directory or any parent directory
DEBUG    2019-12-21 13:20:55,620 locate_and_parse_controlled_vocabulary: this is Windows: .filetags (non-lnk) was found
DEBUG    2019-12-21 13:20:55,620 locate_and_parse_controlled_vocabulary: could not derive filename for controlled vocabulary
DEBUG    2019-12-21 13:20:55,620 non-interactive mode: extracting tags from argument ...
DEBUG    2019-12-21 13:20:55,620 tags found: [hello]
DEBUG    2019-12-21 13:20:55,620 iterate over files ...
DEBUG    2019-12-21 13:20:55,620 determined maximum file name length with 5
ERROR    2019-12-21 13:20:55,620 File "*.txt" does not exist. Skipping this one …
DEBUG    2019-12-21 13:20:55,621 successfully finished.

Seems like this would need a specific IS_WINDOWS block to enable this behavior for windows?

It seems to be the case that with Windows, this is something every program has to do manually instead of assuming that the operating system or shell is providing file globbing resolving. I implemented a manual resolving but this is clearly out of my personal experience zone. So if there is still a problem, please re-check with most current version (GitHub or pip) and re-raise an issue.