eientei
004ab05ebb
DEVTOOLS: Set the modified time for folders in dumper_companion
2021-11-13 11:32:19 -05:00
Misty De Meo
1e82f0760d
DEVTOOLS: allow correcting filenames when punycoding
2021-11-12 16:31:31 +01:00
eientei
cb06b8ce2e
DEVTOOLS: Return string encoded in Mac-Roman on error
2021-11-12 00:23:06 +01:00
Misty De Meo
954e1d61db
DEVTOOLS: add a new filename to test_decode_name
2021-11-12 00:18:41 +01:00
Misty De Meo
915826fda5
DEVTOOLS: mac mode operates on raw byte paths
2021-11-12 00:18:41 +01:00
Misty De Meo
0a3af55866
DEVTOOLS: fix overeager ArgumentError catch
2021-11-12 00:18:41 +01:00
eientei
ad6125955b
DEVTOOLS: Add test for previous dumpercompanion workaround; correctly use "MacJapanese"
2021-11-03 09:03:15 +02:00
Eugene Sandulenko
cbc14ac558
DEVTOOLS: COMPANION: Fix typo in error message
2021-11-02 18:58:31 +02:00
eientei
7fcad50f71
DEVTOOLS: Work around Mac-Japanese sequences missing low byte
2021-11-02 17:57:01 +01:00
Eugene Sandulenko
55a171867e
DEVTOOLS: COMPANION: Added test for higher Unicode characters
2021-10-31 23:00:35 +02:00
Eugene Sandulenko
e1804df203
DEVTOOLS: COMPANION: Fix punycode tests
2021-10-31 21:51:55 +02:00
Eugene Sandulenko
7fa0d97e32
DEVTOOLS: Added more tests for punycode
2021-10-31 19:27:34 +02:00
Eugene Sandulenko
dfd34fc163
DEVTOOLS: COMPANION: Added one more test for encoding
2021-10-31 16:37:11 +02:00
eientei
34e58d9abb
DEVTOOLS: simplify macbinary packing a bit
2021-10-22 13:05:46 +02:00
Misty De Meo
7def925d9c
DEVTOOLS: dumper-companion: work around bug
2021-10-22 13:04:54 +02:00
Misty De Meo
a62ef12546
DEVTOOLS: fix filename for mac command
2021-10-22 13:04:01 +02:00
Roland van Laar
45aa7e12bc
DEVTOOLS: COMPANION: Remove old comments
...
The dates are correct when creating a mac binary.
Example from the binary Majestic:
Majestic: MacBinary II, inited, busy, Thu Nov 9 05:09:33 1995, modified Thu Nov 9 05:11:55 1995, creator 'PJ93', type application, 23374400 bytes "Majestic" , at 0x164aac0 486640 bytes resource
2021-09-15 21:05:29 +02:00
Roland van Laar
898dfcdae3
DEVTOOLS: COMPANION: Fix masking lower flag bits
2021-09-15 21:03:56 +02:00
Eugene Sandulenko
81002f425e
DEVTOOLS: Added more documentation
2021-08-24 02:08:12 +02:00
Roland van Laar
61f7390b32
JANITORIAL: DEVTOOLS: COMPANION: formatting
2021-08-23 22:15:22 +02:00
Roland van Laar
f5fa418864
DEVTOOLS: COMPANION: fix skipping first path
...
The new glob **/* does not include the root director. Skipping the first
element resulted in the first file being skipped.
2021-08-23 22:15:22 +02:00
Roland van Laar
6cfd387798
JANITORAL: DEVTOOLS: fix formatting companion
2021-08-23 18:16:07 +02:00
Roland van Laar
c957c45d7d
DEVTOOLS: COMPANION: include suffix in dir mode
...
The file stem, i.e. the part before the suffix, was used to punyencode
it. Now it takes the whole file, including suffix for encoding.
2021-08-23 18:16:07 +02:00
Roland van Laar
9ddc4a88a3
DEVTOOLS: COMPANION: add decode string option
...
Will automatically decode punyencoded strings in str mode.
2021-08-23 18:16:07 +02:00
Roland van Laar
e542099638
DEVTOOLS: COMPANION: Fix dir globbing
...
There were two problems:
- glob pattern only found directories:
Now it returns both directories and files.
- top level dir was included in the punyencoding
2021-08-23 17:16:15 +02:00
einstein95
465f242f0a
DEVTOOLS: COMPANION: Set last modified time to one from volume
2021-08-23 13:26:42 +02:00
Roland van Laar
c242dcbeb8
DEVTOOLS: COMPANION: fix dir mode
...
Last refactor left the dir mode in a broken state.
Thanks to @trembyle for spotting it.
2021-08-22 23:04:07 +02:00
Roland van Laar
fb95877874
DEVTOOLS: COMPANION: remove escape chars
...
It was decided on discord that we're only escaping chars that windows
absolutely can't handle.
These chars are now not escaped: ,;=
2021-08-22 22:56:33 +02:00
Roland van Laar
d38a147019
DEVTOOLS: COMPANION: improve special char handling
...
We follow [1] in which chars need to be escaped.
- we now allow the following chars in filenames: []+
- filenames can't end in a dot or space
Includes updated tests.
[1] https://en.wikipedia.org/wiki/Filename#Reserved_characters_and_words
2021-08-22 11:10:00 +02:00
Roland van Laar
581dd9c9d2
DEVTOOLS: COMPANION: cleanup
...
- Remove a superfluous import
2021-08-22 11:10:00 +02:00
Roland van Laar
d32d232e05
DEVTOOLS: DUMPERCOMPANION: handle all filenames
...
Always punyencode filenames when the filename contains a char that
should be escaped. This makes it work better with windows.
Windows has a short list of chars that not allowed:
https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions
2021-08-22 00:51:34 +02:00
Roland van Laar
1e9ca945b9
JANITORAL: DEVTOOLS: reformat code
...
Using # fmt: off and # fmt: off allows for excluding the decode map when
formatting. Other lines are formatted with black
2021-08-22 00:51:34 +02:00
Roland van Laar
81be6b459b
DEVTOOLS: DUMPERCOMPANION: fix double encoding
...
\x81 is used as a control character to denote a special char.
\x81 was encoded put in the end result twice because of a missing elif.
Includes unittest fix.
2021-08-21 09:40:17 +02:00
Roland van Laar
00d54a3358
DEVTOOLS: DUMPERCOMPANION: fix logging mac mode
...
Re-enable printing messages when punyencoding files in mac mode.
2021-08-21 09:18:43 +02:00
Roland van Laar
32991d2152
DEVTOOLS: DUMPERCOMPANION: punyencode dirs on mac
...
Enable punyencoding of directory names in mac mode.
A refactor of the code to handle punyencoding in mac mode.
It's now a two step process:
- first collect the resource forks into macbinaries and
- second punyencode recursively all files and directories
2021-08-21 00:15:16 +02:00
Roland van Laar
86f6c137f5
DEVTOOLS: DUMPERCOMPANION: support mac_japanese
...
The dumper companion now support dumping mac_japanese isos. MachFS
expects encodes everything in mac_roman. For mac_japanese we decode it
as mac_roman and then encode it ourselve.
`dumper-companion.py iso --japanese --punycode path/to/iso path/to/dir`
- A conversion table and code was added: taken from:
https://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/JAPANESE.TXT
- file_to_macbin takes an encoded filename to allow for both mac_japanse
and mac_roman encodings.
- punyfication is now an explicit option when dumping isos
2021-08-20 23:56:18 +02:00
Roland van Laar
b61e973099
DEVTOOLS: DUMPERCOMPANION fix macbinary padding
...
Macbinary forks are padded to be a multiple of 128 bytes.
An extra padding of 128 bytes was added when 0 were needed.
This fixes that.
2021-08-20 23:56:18 +02:00
Roland van Laar
f73f481ec2
DEVTOOLS: COMPANION: linter fixes
...
- remove encoding parameter from `punyencode`
- fix return types of type hints
2021-08-20 23:56:18 +02:00
Roland van Laar
82ba7e9830
DEVTOOL: COMPANION
...
Added support for Japanese encoding.
Remove option for specifying encodings. All input is expected to be
unicode.
2021-08-18 22:39:06 +02:00
Roland van Laar
f825c39d64
DEVTOOLS: COMPANION: code improvements
...
- mac mode: show which file's attributes can't be read
- mac mode: use exit code 1 when bailing
- implement exit codes for all modes
- fix spelling mistake
- sort imports, python once first, then external packages
- refactor: use os.path.join only once per file
2021-08-12 21:57:28 +02:00
Eugene Sandulenko
b10c55abcb
DEVTOOLS: COMPANION: Fix error processing
2021-08-12 20:34:57 +02:00
Eugene Sandulenko
0e69fb7e61
DEVTOOLS: COMPANION: Use xattr module for creator/type extraction
2021-08-12 19:36:58 +02:00
Eugene Sandulenko
9ba6f1fe01
DEVTOOLS: COMPANION: Keep the file names in mac mode, set the modification time
2021-08-09 23:03:00 +02:00
Eugene Sandulenko
681fc2eaa3
DEVTOOLS: COMPANION: Set the macbinary type and creator for mac mode
2021-08-09 22:41:12 +02:00
Eugene Sandulenko
8952db2dfd
DEVTOOLS: COMPANION: Fix mac mode and set file timestamps
2021-08-09 22:09:03 +02:00
Roland van Laar
0e0aef0201
DEVTOOLS: COMPANION: add macbinary mode
...
`dumper-companion.py mac [--punycode] directory` will recursively look
for resourceforks and encode them inplace as macbinary.
When `--punycode` is enabled it will encode filenames in punycode.
This is a MacOS only feature.
2021-08-09 15:54:05 +02:00
Roland van Laar
66568ca700
DEVTOOLS: COMPANION: Improve helptext
...
Make it clear that punyencoding of stdin is supported.
2021-08-09 15:54:05 +02:00
Roland van Laar
4d00111acf
DEVTOOLS: COMPANION: hfs dump use existing dir
...
Don't complain when the directory to write to already exists.
2021-08-09 15:54:05 +02:00
Roland van Laar
8ddb3aec3a
DEVTOOLS: COMPANION: remove superfluous statement
2021-08-09 15:54:05 +02:00
Roland van Laar
c586311c26
DEVTOOLS: COMPANION: add development info helptext
2021-08-09 15:54:05 +02:00