Commit Graph

35 Commits

Author SHA1 Message Date
Elliot Nunn
6ae4baa77b Hack to dump Shift-JIS filenames 2021-08-19 21:07:40 +08:00
Sam Fuller
b44a2f9cd3
Fix missing enumerate() in btree.py 2021-04-12 07:59:38 +08:00
Elliot Nunn
e2cc5b1280 Add support for Aliases (as symlinks) 2020-01-19 15:03:27 +08:00
Elliot Nunn
873cce2cc9 Work around partitioned images
Just scan for the magic BD
2019-08-18 21:37:51 +08:00
Elliot Nunn
fb493a154f Dump files to native FS more consistently
Specifically:

- A data fork dump file will always exist
- A resource fork dump file will exist iff there are any bytes in that
  fork (but this dump file may be empty)
- A Finder info dump will exist if there are any nonzero bytes in the
  type or creator code
2019-08-18 21:37:51 +08:00
Elliot Nunn
51a0f8e68e Imitate os.walk(), nicer than iter.paths() 2019-01-12 20:37:27 +08:00
Elliot Nunn
d2a0fc36ff Fail or warn about unsyncable files
Filenames that MacOS sees as ending with .rdump or .idump are reserved
for resource fork and Finder info dumps. They are ignored on the HFS
side and complained about on the local side. This also applies to files
named underscore (_), which are reserved for directory Finder info.

Dotfiles are ignored on both sides (but warned about on the HFS side) to
make some modern tooling invisible to the MacOS.
2019-01-12 19:38:40 +08:00
Elliot Nunn
2d99623911 Display correct minimum disk size 2019-01-12 18:32:58 +08:00
Elliot Nunn
a5b3a5823d Update deprecated import 2019-01-12 18:32:37 +08:00
Elliot Nunn
eb61c947de API: add 'sparse' option to Volume.write()
This will cause it to return a (bytes, num_free_bytes, bytes) tuple.
2018-12-10 16:07:34 +08:00
Elliot Nunn
1362dab2c0 Treat 'ttro' readme files as text 2018-12-10 16:04:52 +08:00
Elliot Nunn
d4536441e2 Allow a folder to be synced to/from disk
Previously only Volume objects had read_folder and write_folder methods.
2018-12-09 15:20:59 +08:00
Elliot Nunn
b1af2b0353 Support System 7 (lowercase zsys) 2018-11-09 18:49:29 +08:00
Elliot Nunn
350f11b0c0 Refactor Make/DumpHFS into Python library 2018-11-06 08:41:06 +08:00
Elliot Nunn
34eecddc28 Bugfix for no-start-app case! 2018-11-06 08:38:26 +08:00
Elliot Nunn
64a9cec5bd Neaten up bootability
Any folder with a ZSYS and a FNDR file is made bootable, by pasting the
names of those files in the boot blocks.
2018-11-06 00:45:50 +08:00
Elliot Nunn
8ae22ed428 Allow a custom (non-Finder) startup app 2018-11-05 23:47:28 +08:00
Elliot Nunn
240a746ab9 Allow bootability
Passed as arg to write(), on by default.
2018-11-05 23:47:28 +08:00
Elliot Nunn
2a7fc8a8c4 Hide Desktop Database from readers
(Not sure of the wisdom of this move)
2018-11-03 20:29:00 +08:00
Elliot Nunn
cd433459d0 Throw clear out-of-space and bad-name exceptions 2018-10-23 17:51:37 +08:00
Elliot Nunn
46314c4747 Create minimal Desktop Database
This contains no useful information, but prevents a lengthy search of
the volume at startup. Eventually this should be replaced with a real
desktop database.
2018-10-23 17:33:20 +08:00
Elliot Nunn
793fa1e44a Handle creation, mod and bkup dates consistently 2018-10-23 12:52:24 +08:00
Elliot Nunn
ddc8445771 Fix del keyword 2018-10-18 16:06:04 +08:00
Elliot Nunn
7d8a12fb7e Allow catalog file to cross 4+ extents 2018-10-18 14:05:15 +08:00
Elliot Nunn
67edf73321 Fix bug in B*-tree size calculation 2018-10-14 16:30:32 +08:00
Elliot Nunn
829d3a5189 Pad B*-tree files to the alloc block size
This bug was corrupting all volumes over 32 MB (i.e. with a block size
exceeding 512 bytes). Oops!
2018-10-14 10:09:01 +08:00
Elliot Nunn
925fd13cd3 Better str(File) 2018-10-14 09:21:04 +08:00
Elliot Nunn
ac4bedcf53 Add (disabled) code to test sort order 2018-10-14 09:11:09 +08:00
Elliot Nunn
968fdadf2b Better error message for long filenames 2018-10-14 09:01:40 +08:00
Elliot Nunn
5dff862548 Better dumping 2018-10-08 09:46:19 +08:00
Elliot Nunn
eb847a97cd Read extents overflow file 2018-10-08 09:33:34 +08:00
Elliot Nunn
e3d3623de9 Use Unicode strings instead of bytes 2018-10-08 09:06:35 +08:00
Elliot Nunn
73f01d3e81 neaten up newlines 2018-10-08 08:20:03 +08:00
Elliot Nunn
6831bd52bb fix up imports etc 2018-10-08 08:18:30 +08:00
Elliot Nunn
4b336343d8 Prepare to package 2018-10-08 07:38:58 +08:00