MIMETypes.st
changeset 1604 0c678133dc4b
parent 1593 4bf2544435a9
child 1606 158c10a36736
--- a/MIMETypes.st	Tue Sep 10 15:50:32 2002 +0200
+++ b/MIMETypes.st	Tue Sep 10 15:50:49 2002 +0200
@@ -76,27 +76,82 @@
 
 !MIMETypes class methodsFor:'initialization'!
 
-initialize
-    "initialize wellKnown facts"
+applicationComprAndArchiveTypeList
+    "/ compressors and archivers
+
+    ^ #(
+
+        'tar'                   'application/x-tar'
+        'gtar'                  'application/x-gtar'
+        'tgz'                   'application/x-tar-compressed'
+        'zip'                   'application/x-zip-compressed'
+        ('gz' 'z')              'application/x-gzip-compressed'
+        'cpio'                  'application/x-cpio'
+        'shar'                  'application/x-shar'
+        'jar'                   'application/java-archive'
+    )
+!
 
-    |typeToImageReaderClassMapping fileSuffixToTypeMapping
-     fileSuffixToImageReaderClassMapping charSetToFontMapping|
+applicationProgLangTypeList
+    "/ applications for programm languages
 
-    LastSuffix := LastType := nil.
+    ^ #(
+        ('st' 'cls')                 'application/x-smalltalk-source'
+        'sif'                        'application/x-smalltalk-source-sif'
+        'c'                          'application/x-c-source'
+        ('cc' 'cpp')                 'application/x-cpp-source'
+        ('js' 'mocha')               'application/x-javascript'
+        ('java' 'jav')               'application/x-java-source'
+        'sh'                         'application/x-sh'
+        'csh'                        'application/x-csh'
+        'tcl'                        'application/x-tcl'
+        'pl'                         'application/x-perl'
+        'mak'                        'application/x-make'
+        'bat'                        'application/x-batch-script'
+        ('asn1' 'x409' 'gdmo' 'gdm') 'application/x-asn1-source'
+    )
+!
 
-    (fileSuffixToImageReaderClassMapping := FileSuffixToImageReaderClassMapping) isNil ifTrue:[
-        FileSuffixToImageReaderClassMapping := fileSuffixToImageReaderClassMapping := Dictionary new
-    ].
-    (typeToImageReaderClassMapping := TypeToImageReaderClassMapping) isNil ifTrue:[
-        TypeToImageReaderClassMapping := typeToImageReaderClassMapping := Dictionary new
-    ].
-    (fileSuffixToTypeMapping := FileSuffixToTypeMapping) isNil ifTrue:[
-        FileSuffixToTypeMapping := fileSuffixToTypeMapping := Dictionary new
-    ].
+applicationTextTypeList
+    "/ text applications
+
+    ^ #(
+        ('ps' 'eps')                 'application/postscript'
+        'pdf'                        'application/pdf'
+        'rtf'                        'application/rtf'
+        'doc'                        'application/winword'
+    )
+!
+
+applicationTypeList
+    "/ applications
+
+    |types|                            
 
-    "/ setup file-suffix to mimeType mapping ...
+    types := Array new.
+    types addAll:self applicationProgLangTypeList.
+    types addAll:self applicationTextTypeList.
+    types addAll:self applicationComprAndArchiveTypeList.
+    ^ types
+!
+
+audioTypeList
+    "/ audio formats ...
 
-    #(
+    ^ #(
+        ('ra' 'ram')            'audio/x-pn-realaudio'
+        ('mpa' 'mpega')         'audio/x-mpeg'
+        ('mp3' )                'audio/x-mp3'
+        'wav'                   'audio/x-wav'
+        ('aif' 'aiff' 'aifc')   'audio/x-aiff'
+        ('au' 'snd')            'audio/basic'
+        ('swf')                 'audio/x-shockwave-flash'
+    )
+!
+
+imageTypeList
+
+    ^ #(
         "/ image formats ...
 
         ('jpg' 'jpeg')  'image/jpeg'
@@ -116,65 +171,36 @@
         'ras'           'image/x-cmu-raster'
         'tga'           'image/x-targa'
 
-        "/ misc text ...
-
-        ('htm' 'html')          'text/html'
-        ('shtml')               'text/html'
-        ('txt' 'text')          'text/plain'
-
-        ('ps' 'eps')            'application/postscript'
-        'pdf'                   'application/pdf'
-        'rtf'                   'application/rtf'
-
-        "/ video formats ...
+    ) 
+!
 
-        'movie'                            'video/x-sgi-movie'
-        'avi'                              'video/x-msvideo'
-        ('qt' 'mov' 'moov')                'video/quicktime'
-        ('mpv2' 'mp2v' 'mp2' 'mpeg2')      'video/x-mpeg2'
-        ('mpv' 'mpegv' 'mpg' 'mpeg' 'mpe') 'video/mpeg'
-
-        "/ audio formats ...
+initialize
+    "initialize wellKnown facts"
 
-        ('ra' 'ram')            'audio/x-pn-realaudio'
-        ('mpa' 'mpega')         'audio/x-mpeg'
-        ('mp3' )                'audio/x-mp3'
-        'wav'                   'audio/x-wav'
-        ('aif' 'aiff' 'aifc')   'audio/x-aiff'
-        ('au' 'snd')            'audio/basic'
+    |typeToImageReaderClassMapping fileSuffixToTypeMapping
+     fileSuffixToImageReaderClassMapping charSetToFontMapping types|
 
-        "/ more multimedia ...
+    LastSuffix := LastType := nil.
 
-        ('swf')                 'audio/x-shockwave-flash'
-
-        "/ misc stuff
+    (fileSuffixToImageReaderClassMapping := FileSuffixToImageReaderClassMapping) isNil ifTrue:[
+        FileSuffixToImageReaderClassMapping := fileSuffixToImageReaderClassMapping := Dictionary new
+    ].
+    (typeToImageReaderClassMapping := TypeToImageReaderClassMapping) isNil ifTrue:[
+        TypeToImageReaderClassMapping := typeToImageReaderClassMapping := Dictionary new
+    ].
+    (fileSuffixToTypeMapping := FileSuffixToTypeMapping) isNil ifTrue:[
+        FileSuffixToTypeMapping := fileSuffixToTypeMapping := Dictionary new
+    ].
 
-        "/ progr. languages
-        ('st' 'cls')                 'application/x-smalltalk-source'
-        'sif'                        'application/x-smalltalk-source-sif'
-        'c'                          'application/x-c-source'
-        ('cc' 'cpp')                 'application/x-cpp-source'
-        ('js' 'mocha')               'application/x-javascript'
-        ('java' 'jav')               'application/x-java-source'
-        'sh'                         'application/x-sh'
-        'csh'                        'application/x-csh'
-        'tcl'                        'application/x-tcl'
-        'pl'                         'application/x-perl'
-        'mak'                        'application/x-make'
-        'bat'                        'application/x-batch-script'
-        ('asn1' 'x409' 'gdmo' 'gdm') 'application/x-asn1-source'
+    "/ setup file-suffix to mimeType mapping ...
 
-        "/ compressors / archivers
-        'tar'                   'application/x-tar'
-        'gtar'                  'application/x-gtar'
-        'tgz'                   'application/x-tar-compressed'
-        'zip'                   'application/x-zip-compressed'
-        'gz'                    'application/x-gzip-compressed'
-        'cpio'                  'application/x-cpio'
-        'shar'                  'application/x-shar'
-        'jar'                   'application/java-archive'
-
-    ) pairWiseDo:[:suff :type|
+    types := Array new.
+    types addAll:self textTypeList.
+    types addAll:self imageTypeList.
+    types addAll:self videoTypeList.
+    types addAll:self audioTypeList.
+    types addAll:self applicationTypeList.
+    types pairWiseDo:[:suff :type|
         suff isArray ifTrue:[
             suff do:[:s | fileSuffixToTypeMapping at:s put:type]
         ] ifFalse:[
@@ -241,6 +267,28 @@
     "
 
     "Modified: / 19.11.1999 / 15:01:53 / cg"
+!
+
+textTypeList
+   "/ misc text ...
+
+    ^ #(
+        ('htm' 'html')          'text/html'
+        ('shtml')               'text/html'
+        ('txt' 'text')          'text/plain'
+    )
+!
+
+videoTypeList
+    "/ video formats ...
+
+    ^ #(
+        'movie'                            'video/x-sgi-movie'
+        'avi'                              'video/x-msvideo'
+        ('qt' 'mov' 'moov')                'video/quicktime'
+        ('mpv2' 'mp2v' 'mp2' 'mpeg2')      'video/x-mpeg2'
+        ('mpv' 'mpegv' 'mpg' 'mpeg' 'mpe') 'video/mpeg'
+    )
 ! !
 
 !MIMETypes class methodsFor:'accessing'!
@@ -581,6 +629,6 @@
 !MIMETypes class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview2/MIMETypes.st,v 1.36 2002-08-15 13:36:27 penk Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/MIMETypes.st,v 1.37 2002-09-10 13:50:49 penk Exp $'
 ! !
 MIMETypes initialize!