Commit Graph
71 Commits
Author SHA1 Message Date
eientei 32af1f2d2b DEVTOOLS: dumper-companion.py: better handle removing null bytes from partition type
This handles an edge case with a disc that has a partition type of `Apple_HFS\x00ition_map`
2023-01-11 08:38:34 +01:00
eientei 82f636f793 DEVTOOLS: COMPANION: Format using black 2022-11-22 13:28:03 +01:00
elasota 6d0dbafb79 DEVTOOLS: COMPANION: Add --forcemacbinary switch. Reduce memory usage by 2/3. Fix missing encoding. 2022-11-18 16:49:46 +01:00
eientei eaac8fe7fe DEVTOOLS: COMPANION: Format using black 2022-08-29 22:10:23 +02:00
eientei e2cb16d8d0 DEVTOOLS: COMPANION: Catch errors if filename can't be decoded as MacJapanese; Remove unused function 2022-08-29 22:10:23 +02:00
eientei 42cd8ba9ce DEVTOOLS: COMPANION: Finish integrating create_classicmacfonts as createmacfonts 2022-07-12 16:19:37 +02:00
Eugene Sandulenko ca960c61c2 DEVTOOLS: COMPANION: Initial code for extracting classic mac fonts 2022-07-12 14:08:04 +02:00
eientei 7bb5a26329 DEVTOOLS: COMPANION: Add warning when possible JP string is found, punycode by default 2022-07-05 17:31:45 +02:00
eientei fa3e3025bf DEVTOOLS: COMPANION, COMMON: Add DEL character to be punycoded 2022-06-24 13:45:34 +02:00
eientei 41a8c4765d DEVTOOLS: COMPANION: MacJapanese mapping of SHIFT-JIS range, log levels, typo fixes 2022-06-23 00:19:52 +02:00
Eugene Sandulenko d2c524bbfa DEVTOOLS: COMPANION: Fix 'mac' mode without encoding specified 2022-06-17 14:24:04 +02:00
eientei e43224c4d9 DEVTOOLS: Format with black 2022-06-16 13:59:50 +02:00
eientei 9bd355e9ad DEVTOOLS: Simplify data/rsrc padding 2022-06-16 13:59:50 +02:00
eientei 2583c5ea71 DEVTOOLS: Add flags to mac mode 2022-06-16 13:59:50 +02:00
eientei 9c5f3065b0 DEVTOOLS: Add basic Apple partition parsing, recursively set folder modtimes 2022-06-16 13:59:50 +02:00
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