--- a/MIMETypes.st Mon May 19 22:29:50 2003 +0200
+++ b/MIMETypes.st Tue May 20 12:01:53 2003 +0200
@@ -258,7 +258,7 @@
^ #(
'tar' 'application/x-tar'
'gtar' 'application/x-gtar'
- 'tgz' 'application/x-tar-compressed'
+ ('tgz' 'tar.gz') 'application/x-tar-compressed'
'zip' 'application/x-zip-compressed'
"/ 'zip' 'application/zip' ???
('gz' 'z') 'application/x-gzip-compressed'
@@ -483,7 +483,7 @@
mimeTypeForFilename:filenameArg
"given a filename, return the mime-type or nil, if unknown"
- |type filename lcFilename suff|
+ |type filename lcFilename suff suff2|
filename := filenameArg asFilename.
@@ -507,11 +507,26 @@
type isNil ifTrue:[
suff := filename suffix.
suff size ~~ 0 ifTrue:[
- ^ self mimeTypeForSuffix:suff
+ "/ sigh - special code for multiple-suffices...
+ "/ .tar.gz -> tgz
+ suff2 := filename withoutSuffix suffix.
+ suff2 size > 0 ifTrue:[
+ type := self mimeTypeForSuffix:(suff2 , '.' , suff).
+ ].
+ type isNil ifTrue:[
+ type := self mimeTypeForSuffix:suff
+ ].
]
].
^ type
+
+ "
+ self mimeTypeForFilename:'foo.gz'
+ self mimeTypeForFilename:'foo.tar'
+ self mimeTypeForFilename:'foo.tgz'
+ self mimeTypeForFilename:'foo.tar.gz'
+ "
!
mimeTypeForFilename:filename put:mimeType
@@ -824,7 +839,7 @@
!MIMETypes class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview2/MIMETypes.st,v 1.56 2003-05-19 20:29:50 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview2/MIMETypes.st,v 1.57 2003-05-20 10:01:53 cg Exp $'
! !
MIMETypes initialize!