changelog
- Thu, 10 Jul 2008 21:00:51 -0400
- by Brett Smith <brett@brettcsmith.org> [Thu, 10 Jul 2008 21:00:51 -0400] rev 88
- Update TODO
- Thu, 24 Jul 2008 22:49:03 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Thu, 24 Jul 2008 22:49:03 -0400] rev 87
- Tidy: no need to import glob anymore.
- Thu, 24 Jul 2008 22:46:27 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Thu, 24 Jul 2008 22:46:27 -0400] rev 86
- Be more careful on SIGINT/SIGKILL cleanup.
Don't blow away .dtrx-*, instead look for our specific extraction directory
and delete that.
- Thu, 24 Jul 2008 22:35:38 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Thu, 24 Jul 2008 22:35:38 -0400] rev 85
- Use the default action for SIGPIPE.
Using Python's built-in handler makes weird error messages for the user,
and there's no reason not to act like every other Unix program in this
regard. This seems particularly true since we're most likely to get
SIGPIPE with dtrx -l, where we won't write things to disk etc.
- Thu, 24 Jul 2008 22:15:19 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Thu, 24 Jul 2008 22:15:19 -0400] rev 84
- Add --one-entry option to specify default handling for one-entry archives.
As part of this I ended up cleaning up the option-generating code a little
bit, mostly to be more careful about the ordering of options in --help
output.
- Wed, 23 Jul 2008 12:15:45 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Wed, 23 Jul 2008 12:15:45 -0400] rev 83
- Use the --quiet option for cpio -t too.
- Wed, 23 Jul 2008 12:01:58 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Wed, 23 Jul 2008 12:01:58 -0400] rev 82
- Stop worrying about trailing newlines in get_filenames() overrides.
Now that all the get_filenames implementations call out to the original,
which takes care of the trailing newline, we don't need to keep doing it in
other methods.
- Sun, 20 Jul 2008 22:24:49 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Sun, 20 Jul 2008 22:24:49 -0400] rev 81
- Move most ExtractorBuilder constants to the top.
This actually makes the code a little longer, but it's much more organized:
whenever a new extractor is added, you just have to add one entry to
extractor_map accordingly.
- Sun, 20 Jul 2008 21:39:39 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Sun, 20 Jul 2008 21:39:39 -0400] rev 80
- Move more common extraction/listing functionality into BaseExtractor.
I noticed that a lot of the extract_archive/get_filenames implementations
were the same two lines of code: a pipe and a run_pipes. Short as it is,
there's no reason to keep repeating that two-line incantation, so I moved
this basic pattern into BaseExtractor.
- Sun, 20 Jul 2008 21:16:08 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Sun, 20 Jul 2008 21:16:08 -0400] rev 79
- Improve dtrx -l performance on misnamed files, and clean other error messages.
dtrx -l would only ever try one extractor, instead of trying all possible
alternaitves like it did when extracting. This is mostly because
get_filenames() reported no meaningful error information. This has been
fixed.
Some error messages have been genericized, since we're not always
extracting archives: we might be listing their contents instead.
- Sun, 20 Jul 2008 20:45:54 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Sun, 20 Jul 2008 20:45:54 -0400] rev 78
- Don't show errors from failed extractors unless they all fail.
If dtrx has to try different extractors before finding and using the right
one, the user shouldn't see error messages from the failed extractors;
those are just confusing. Just like the Application decides whether to say
particular extractors failed at all, this patch makes it also decide
whether or not to show the stderr from those extractors.
- Sun, 20 Jul 2008 20:25:54 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Sun, 20 Jul 2008 20:25:54 -0400] rev 77
- Clean the target directory if an extraction attempt failed.
- Tue, 15 Jul 2008 22:18:03 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Tue, 15 Jul 2008 22:18:03 -0400] rev 76
- Give extraction stderr more context, and suppress normal cpio stderr junk.
cpio will write a useless "N blocks" message to stderr without --quiet, so
use that.
When we show extraction's stderr to the user, first write a line explaining
what it is, and also don't forget to strip the trailing newline, since
.warning() writes its own.
- Sun, 13 Jul 2008 18:11:08 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Sun, 13 Jul 2008 18:11:08 -0400] rev 75
- Update for 6.1, plus some tweaks here and there.
- Sun, 13 Jul 2008 18:01:04 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Sun, 13 Jul 2008 18:01:04 -0400] rev 74
- Updates for 6.1 release.
- Sun, 13 Jul 2008 17:54:47 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Sun, 13 Jul 2008 17:54:47 -0400] rev 73
- Don't assume .exe files are Cabinet archives just by extension.
.exe files are as likely as not to be archives, so I'd rather not bug the
user for recursive extraction every time they're in an archive. So we'll
detect these sorts of archives by their magic only, which prevents them
from triggering recursive extraction attempts.
- Sun, 13 Jul 2008 17:47:57 -0400
- by Brett Smith <brettcsmith@brettcsmith.org> [Sun, 13 Jul 2008 17:47:57 -0400] rev 72
- Add support for InstallShield archives.
- Thu, 10 Jul 2008 20:55:09 -0400
- by Brett Smith <brett@brettcsmith.org> [Thu, 10 Jul 2008 20:55:09 -0400] rev 71
- Recurse better when the contents were just one file.
- Thu, 10 Jul 2008 20:09:12 -0400
- by Brett Smith <brett@brettcsmith.org> [Thu, 10 Jul 2008 20:09:12 -0400] rev 70
- Tweak wording of recursion question, and TODO.
- Thu, 10 Jul 2008 19:51:53 -0400
- by Brett Smith <brett@brettcsmith.org> [Thu, 10 Jul 2008 19:51:53 -0400] rev 69
- Count files in the archive and report that in the recursion prompt.
I like this because, for example, if you see that all or most of the files
in the archive are recursive, you can go ahead and decide to recurse right
away.
This invoved making the grep tests a little smarter about handling white
space.
- Thu, 10 Jul 2008 19:31:23 -0400
- by Brett Smith <brett@brettcsmith.org> [Thu, 10 Jul 2008 19:31:23 -0400] rev 68
- more TODO updates
- Thu, 10 Jul 2008 18:48:09 -0400
- by Brett Smith <brett@brettcsmith.org> [Thu, 10 Jul 2008 18:48:09 -0400] rev 67
- Update TODO: remove complete tasks, add new items.
- Thu, 10 Jul 2008 18:44:06 -0400
- by Brett Smith <brett@brettcsmith.org> [Thu, 10 Jul 2008 18:44:06 -0400] rev 66
- Don't prompt for one entry handling with -f.
-f makes the answer to the "what do you want to do with this one file"
question clear, so the user shouldn't be asked for the answer.
- Thu, 05 Jun 2008 22:54:10 -0400
- by Brett Smith <brett@brettcsmith.org> [Thu, 05 Jun 2008 22:54:10 -0400] rev 65
- Make the wording on the One Entry question a little clearer.
Unfortunately I now realize that things don't really work when your archive
just contains one *file*, so I'll have to address that later.
- Thu, 05 Jun 2008 22:00:39 -0400
- by Brett Smith <brett@brettcsmith.org> [Thu, 05 Jun 2008 22:00:39 -0400] rev 64
- Add notes about the hg repo.
- Thu, 05 Jun 2008 21:44:38 -0400
- by Brett Smith <brett@brettcsmith.org> [Thu, 05 Jun 2008 21:44:38 -0400] rev 63
- add web site to hg repo
- Thu, 05 Jun 2008 21:24:44 -0400
- by Brett Smith <brett@brettcsmith.org> [Thu, 05 Jun 2008 21:24:44 -0400] rev 62
- Deal with partially extracted tarballs.
If you can only extract part of a tarball -- for example, because it
includes nodes and you're not root -- tar will extract what it can but give
an error code. So now dtrx will only fail if some subprogram threw an
error code *and* nothing actually got extracted. Otherwise, we'll show
whatever errors came up, but we'll still assume the extraction was as
successful as it's going to be.
- Thu, 05 Jun 2008 10:00:38 -0400
- by Brett Smith <brett@brettcsmith.org> [Thu, 05 Jun 2008 10:00:38 -0400] rev 61
- update TODO
- Wed, 30 Apr 2008 21:33:30 -0400
- by Brett Smith <brett@brettcsmith.org> [Wed, 30 Apr 2008 21:33:30 -0400] rev 60
- Add missing test tarballs
- Wed, 06 Feb 2008 19:38:26 -0500
- by brett [Wed, 06 Feb 2008 19:38:26 -0500] rev 59
- [svn] Find self-extracting archives by their file magic only, not extension/mimetype.
The problem with using extensions/mimetypes for this is that it net way too
many false positives. Files ending in .com, .bat, etc. would cause the
user to be prompted for recursive extraction. This makes that problem go
away, and it means that error messages when the user tries to extract a
non-archive .exe will probably be more useful, too.
- Sun, 20 Jan 2008 15:32:02 -0500
- by brett [Sun, 20 Jan 2008 15:32:02 -0500] rev 58
- [svn] Steel FilenameChecker against race conditions.
Since FilenameChecker was just using os.path.exists() to see whether or not
a filename was free, it had a time of check vs. time of use vulnerability.
Matthew was prodding me about the inconsistency with DirectoryChecker, so
that inspired me to fix this. This also entailed some refactoring. Thanks
Matthew.
- Sun, 20 Jan 2008 13:42:48 -0500
- by brett [Sun, 20 Jan 2008 13:42:48 -0500] rev 57
- [svn] Add note about needing syck.