Commit Graph

35 Commits

Author SHA1 Message Date
Elliot Nunn 8dd4181d36 Log corrupt resource forks 2022-09-01 20:20:49 +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