changelog
- Tue, 27 Nov 2007 22:04:04 -0500
- by brett [Tue, 27 Nov 2007 22:04:04 -0500] rev 43
- [svn] Sadly Python 2.3 does not have an rsplit method on strings.
- Mon, 26 Nov 2007 22:39:29 -0500
- by brett [Mon, 26 Nov 2007 22:39:29 -0500] rev 42
- [svn] Update documentation.
- Mon, 26 Nov 2007 22:31:25 -0500
- by brett [Mon, 26 Nov 2007 22:31:25 -0500] rev 41
- [svn] Minor clean-ups. The most important of these is that we now have a better
strategy for dealing with the pathological case of having many extraction
destinations taken: after trying various names with number suffixes, we'll
finally resort to mkstemp/mkdtemp to get what we need. This still isn't
guaranteed to work but it's much more reliable. Also print out a warning
for the user when we extract to some weird directory.
- Fri, 23 Nov 2007 17:55:07 -0500
- by brett [Fri, 23 Nov 2007 17:55:07 -0500] rev 40
- [svn] Be a little nicer about explaining that we can't extract to the current
directory.
- Fri, 23 Nov 2007 16:25:22 -0500
- by brett [Fri, 23 Nov 2007 16:25:22 -0500] rev 39
- [svn] Improve the error reporting to be more user-friendly, at least in many of
the really basic cases.
- Fri, 23 Nov 2007 15:22:34 -0500
- by brett [Fri, 23 Nov 2007 15:22:34 -0500] rev 38
- [svn] Some more tests to make sure we always do the right thing in the
archive-with-one-file case. Also be a little more thorough in our cleanup.
- Fri, 23 Nov 2007 11:59:27 -0500
- by brett [Fri, 23 Nov 2007 11:59:27 -0500] rev 37
- [svn] Documentation update.
- Fri, 23 Nov 2007 11:33:30 -0500
- by brett [Fri, 23 Nov 2007 11:33:30 -0500] rev 36
- [svn] Small optimization to be nice to the system: don't try a given extractor
more than once.
- Fri, 23 Nov 2007 11:24:58 -0500
- by brett [Fri, 23 Nov 2007 11:24:58 -0500] rev 35
- [svn] Add support for extracting CAB archives. Because the CAB archive I was
testing on had a single file in it, I fonud a bunch of bugs related to
extracting one file (as opposed to one directory) here, and squashed those
in the process.
- Thu, 22 Nov 2007 22:37:40 -0500
- by brett [Thu, 22 Nov 2007 22:37:40 -0500] rev 34
- [svn] Add support for LZMA compression. Holy crap that was easy.
- Thu, 22 Nov 2007 22:24:04 -0500
- by brett [Thu, 22 Nov 2007 22:24:04 -0500] rev 33
- [svn] Fix some bugs and make things a little more user-friendly now that we can
try multiple extractors per file. Add some logging as part of this. I'm
probably still not done -- heck, dtrx has never really been user-friendly
enough -- but at least now it's not ridiculous.
- Thu, 22 Nov 2007 22:21:34 -0500
- by brett [Thu, 22 Nov 2007 22:21:34 -0500] rev 32
- [svn] Oops, finish adding 7z support.
- Thu, 22 Nov 2007 22:20:39 -0500
- by brett [Thu, 22 Nov 2007 22:20:39 -0500] rev 31
- [svn] Refactor actions (extract the archive, vs. list the contents) into their
own classes, instead of having all that in the Application class. Also did
some similar fidgeting with the ExtractorBuilder. I like this better.
It's still not the cleanest API but things feel more manageable now.
Add 7z support.
- Fri, 19 Oct 2007 23:06:53 -0400
- by brett [Fri, 19 Oct 2007 23:06:53 -0400] rev 30
- [svn] If we can't figure out what the file is by mimetype, try using the file
command to figure out what it is instead.
This completely changes the program structure because now we might try to
use several extractors on a particular file before giving up. I haven't
really done the refactoring that would be appropriate for a change this
fundamental. I'd like to do that before the next release.
- Fri, 19 Oct 2007 23:03:17 -0400
- by brett [Fri, 19 Oct 2007 23:03:17 -0400] rev 29
- [svn] Add support for Ruby Gems, and extracting metadata from .deb/.gem files.
- Fri, 19 Oct 2007 22:46:20 -0400
- by brett [Fri, 19 Oct 2007 22:46:20 -0400] rev 28
- [svn] Change all the license notices from GPLv2 to GPLv3.
Instead of checking the archive contents, figuring out what to do, and
doing it, instead we now always extract the archive to a private directory,
and then shuffle around the contents appropriately. I expected this to be
a bigger win than my benchmarks have borne out, but I'm sticking with this
strategy because it provides a cleaner separation of responsibilities
between the extractors and the archive type handlers, and also I have to
believe it's a much better way to handle bigger archives -- since we're now
reading it once and not twice.
- Sun, 29 Apr 2007 15:30:01 -0400
- by brett [Sun, 29 Apr 2007 15:30:01 -0400] rev 27
- [svn] Really small cleanliness bit.
- Sun, 29 Apr 2007 15:25:04 -0400
- by brett [Sun, 29 Apr 2007 15:25:04 -0400] rev 26
- [svn] Little DRY cleanups.
- Sun, 29 Apr 2007 15:12:02 -0400
- by brett [Sun, 29 Apr 2007 15:12:02 -0400] rev 25
- [svn] Move policy-handling code into a dedicated set of classes. This makes
question construction at least moderately cleaner, and more importantly, it
gets it out of the main application class, where it was bugging me.
- Sun, 29 Apr 2007 13:29:50 -0400
- by brett [Sun, 29 Apr 2007 13:29:50 -0400] rev 24
- [svn] Documentation update.
- Sat, 28 Apr 2007 23:52:36 -0400
- by brett [Sat, 28 Apr 2007 23:52:36 -0400] rev 23
- [svn] If an archive contains other archives, and the user didn't specify that
they wanted recursion, prompt them to find out what they want to do.
This required some changes in the way prompting for one-item archives works
too, because if an archive inside another archive is itself a one-item
archive, things get really weird. I'm still not really sure what the right
policy is for that.
I'm not wild about this code. It feels like programming a bunch of special
cases. I need to figure out a better way to abstract it. I'm thinking
some kind of Policy class....
- Sat, 21 Apr 2007 13:09:58 -0400
- by brett [Sat, 21 Apr 2007 13:09:58 -0400] rev 22
- [svn] Improve the way we check archive contents. If all the entries look like
they're in ., they really shouldn't count as being in the same directory;
look at the next piece of the path. If the archive only has one
non-directory item, report that more clearly. You'll be able to tell by
whether or not there's a trailing slash in the prompt.
Improve the tests for doing straight decompression, and seek to the
beginning of the archive before we start writing to the file -- otherwise,
we write 0-byte files.
Lots of new ideas in the TODO. I think I'll do another release once
recursion is interactive.
- Sat, 21 Apr 2007 10:22:32 -0400
- by brett [Sat, 21 Apr 2007 10:22:32 -0400] rev 21
- [svn] Do some tests with a .tar.bz2 as well as a .tar.gz. I thought there were
some bugs with this that I found when using dtrx, but I can't reproduce
them this way, so I guess I'll have to investigate further. In the
meantime, they can't hurt.
- Sat, 10 Feb 2007 20:43:00 -0500
- by brett [Sat, 10 Feb 2007 20:43:00 -0500] rev 20
- [svn] If the archive contains one directory with the "wrong" name, ask the user
what they want to do to extract it.
Also add a switch to prevent being asked this question, for use in scripts
and the like.
- Sat, 10 Feb 2007 16:43:44 -0500
- by brett [Sat, 10 Feb 2007 16:43:44 -0500] rev 19
- [svn] Rename the program to dtrx.
Add a -l/-t option, which just lists the contents of an archive without
extracting anything.
- Tue, 02 Jan 2007 20:30:17 -0500
- by brett [Tue, 02 Jan 2007 20:30:17 -0500] rev 18
- [svn] Add basic documentation, and make this version 3.0.
- Sun, 31 Dec 2006 19:29:46 -0500
- by brett [Sun, 31 Dec 2006 19:29:46 -0500] rev 17
- [svn] Lots of tests for various boundary cases, and slightly better handling for
some of them.
- Sun, 31 Dec 2006 19:27:23 -0500
- by brett [Sun, 31 Dec 2006 19:27:23 -0500] rev 16
- [svn] There's now an entirely new object hierarchy for handlers, because the
number of corner cases, switches, etc. was starting to get out of hand.
This makes it easier to tell what's going on in a given case.
- Sun, 31 Dec 2006 19:25:16 -0500
- by brett [Sun, 31 Dec 2006 19:25:16 -0500] rev 15
- [svn] Add a -f/--flat option, which will extract the archive contents into the
current directory, rather than a dedicated subdirectory.
- Sun, 31 Dec 2006 19:20:26 -0500
- by brett [Sun, 31 Dec 2006 19:20:26 -0500] rev 14
- [svn] Add support for just decompressing files that are compressed. So, if you
have foobar.txt.gz, running x on it will give you foobar.txt.
I also moved the test definitions to a YAML file, which makes them easier
to write and understand. Hopefully.
- Tue, 19 Dec 2006 19:27:14 -0500
- by brett [Tue, 19 Dec 2006 19:27:14 -0500] rev 13
- [svn] Add options to tweak the logging level to taste.
- Tue, 19 Dec 2006 19:13:29 -0500
- by brett [Tue, 19 Dec 2006 19:13:29 -0500] rev 12
- [svn] Introduce a real logging system. Right now all this really gets us is the
return of warnings when BombHandler has to use an unusual extraction
directory, but it can grow from here.