provide icon attribute; work in progress: BSCW interface
git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@2606 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
		
							parent
							
								
									5bfe771ab9
								
							
						
					
					
						commit
						18f29f8d9a
					
				
					 8 changed files with 843 additions and 29 deletions
				
			
		|  | @ -22,13 +22,15 @@ Base implementation for accessing external content objects. | ||||||
| $Id$ | $Id$ | ||||||
| """ | """ | ||||||
| 
 | 
 | ||||||
|  | import os | ||||||
| from zope.app.container.contained import Contained | from zope.app.container.contained import Contained | ||||||
| from zope.cachedescriptors.property import Lazy | from zope.cachedescriptors.property import Lazy | ||||||
| from zope import component | from zope import component | ||||||
| from zope.interface import implements | from zope.interface import implements | ||||||
| 
 | 
 | ||||||
| from cybertools.integrator.interfaces import IContainerFactory, IFileFactory | from cybertools.integrator.interfaces import IContainerFactory | ||||||
| from cybertools.integrator.interfaces import IReadContainer, IFile, IImage | from cybertools.integrator.interfaces import IItemFactory, IFileFactory | ||||||
|  | from cybertools.integrator.interfaces import IReadContainer, IItem, IFile, IImage | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # proxy base (sample) classes | # proxy base (sample) classes | ||||||
|  | @ -37,14 +39,20 @@ class ReadContainer(Contained): | ||||||
| 
 | 
 | ||||||
|     implements(IReadContainer) |     implements(IReadContainer) | ||||||
| 
 | 
 | ||||||
|     factoryName = 'sample' |  | ||||||
|     __parent__ = None |     __parent__ = None | ||||||
|  |     factoryName = 'sample' | ||||||
|  | 
 | ||||||
|  |     icon = 'folder' | ||||||
| 
 | 
 | ||||||
|     def __init__(self, address, **kw): |     def __init__(self, address, **kw): | ||||||
|         self.address = address |         self.address = address | ||||||
|         for k, v in kw.items(): |         for k, v in kw.items(): | ||||||
|             setattr(self, k, v) |             setattr(self, k, v) | ||||||
| 
 | 
 | ||||||
|  |     @Lazy | ||||||
|  |     def itemFactory(self): | ||||||
|  |         return component.getUtility(IItemFactory, name=self.factoryName) | ||||||
|  | 
 | ||||||
|     @Lazy |     @Lazy | ||||||
|     def fileFactory(self): |     def fileFactory(self): | ||||||
|         return component.getUtility(IFileFactory, name=self.factoryName) |         return component.getUtility(IFileFactory, name=self.factoryName) | ||||||
|  | @ -82,14 +90,24 @@ class ReadContainer(Contained): | ||||||
|     has_key = __contains__ |     has_key = __contains__ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class File(object): | class Item(object): | ||||||
| 
 | 
 | ||||||
|     implements(IFile) |     implements(IItem) | ||||||
| 
 | 
 | ||||||
|     contentType = None |     contentType = None | ||||||
|     data = None |     icon = 'item' | ||||||
|     __parent__ = None |     __parent__ = None | ||||||
| 
 | 
 | ||||||
|  |     def __init__(self, address, **kw): | ||||||
|  |         self.address = address | ||||||
|  |         for k, v in kw.items(): | ||||||
|  |             setattr(self, k, v) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class File(Item): | ||||||
|  | 
 | ||||||
|  |     implements(IFile) | ||||||
|  | 
 | ||||||
|     def __init__(self, address, contentType, **kw): |     def __init__(self, address, contentType, **kw): | ||||||
|         self.address = address |         self.address = address | ||||||
|         self.contentType = contentType |         self.contentType = contentType | ||||||
|  | @ -104,11 +122,17 @@ class File(object): | ||||||
|     def getSize(self): |     def getSize(self): | ||||||
|         return len(self.data) |         return len(self.data) | ||||||
| 
 | 
 | ||||||
|  |     @property | ||||||
|  |     def icon(self): | ||||||
|  |         return (mimeTypes.get(self.contentType) or ['unknown'])[0] | ||||||
| 
 | 
 | ||||||
| def Image(File): | 
 | ||||||
|  | class Image(File): | ||||||
| 
 | 
 | ||||||
|     implements(IImage) |     implements(IImage) | ||||||
| 
 | 
 | ||||||
|  |     icon = 'image' | ||||||
|  | 
 | ||||||
|     def getImageSize(self): |     def getImageSize(self): | ||||||
|         return 0, 0 |         return 0, 0 | ||||||
| 
 | 
 | ||||||
|  | @ -130,9 +154,33 @@ class ContainerFactory(Factory): | ||||||
|     proxyClass = ReadContainer |     proxyClass = ReadContainer | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | class ItemFactory(Factory): | ||||||
|  | 
 | ||||||
|  |     implements(IItemFactory) | ||||||
|  | 
 | ||||||
|  |     proxyClass = Item | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| class FileFactory(Factory): | class FileFactory(Factory): | ||||||
| 
 | 
 | ||||||
|     implements(IFileFactory) |     implements(IFileFactory) | ||||||
| 
 | 
 | ||||||
|     proxyClass = File   # real implementations should also care about images |     proxyClass = File   # real implementations should also care about images | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | # provide a dictionary of MIME types with extensions = icon names | ||||||
|  | 
 | ||||||
|  | class MimeTypes(dict): | ||||||
|  | 
 | ||||||
|  |     def __init__(self): | ||||||
|  |         super(MimeTypes, self).__init__() | ||||||
|  |         fn = os.path.join(os.path.dirname(__file__), 'mime.types') | ||||||
|  |         mtFile = open(fn, 'r') | ||||||
|  |         for line in mtFile: | ||||||
|  |             line = line.strip() | ||||||
|  |             if line: | ||||||
|  |                 parts = line.split() | ||||||
|  |                 self[parts[0]] = parts[1:] | ||||||
|  |         mtFile.close() | ||||||
|  | 
 | ||||||
|  | mimeTypes = MimeTypes() | ||||||
|  |  | ||||||
|  | @ -30,8 +30,8 @@ from zope.cachedescriptors.property import Lazy | ||||||
| from zope.contenttype import guess_content_type | from zope.contenttype import guess_content_type | ||||||
| from zope.interface import implements, Attribute | from zope.interface import implements, Attribute | ||||||
| 
 | 
 | ||||||
| from cybertools.integrator.base import ContainerFactory, FileFactory | from cybertools.integrator.base import ContainerFactory, ItemFactory, FileFactory | ||||||
| from cybertools.integrator.base import ReadContainer, File, Image | from cybertools.integrator.base import ReadContainer, Item, File, Image | ||||||
| from cybertools.text import mimetypes | from cybertools.text import mimetypes | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -62,7 +62,10 @@ class ReadContainer(ReadContainer): | ||||||
|     def data(self): |     def data(self): | ||||||
|         data = self.server.get_attributes(self.address, |         data = self.server.get_attributes(self.address, | ||||||
|                 ['__class__', 'type', 'id', 'name', 'descr', 'url_link'], 1, True) |                 ['__class__', 'type', 'id', 'name', 'descr', 'url_link'], 1, True) | ||||||
|         return dict((item['id'], item) for item in data[1]) |         if len(data) > 1: | ||||||
|  |             return dict((item['id'], item) for item in data[1]) | ||||||
|  |         else: | ||||||
|  |             return {} | ||||||
| 
 | 
 | ||||||
|     def keys(self): |     def keys(self): | ||||||
|         return self.data.keys() |         return self.data.keys() | ||||||
|  | @ -79,14 +82,16 @@ class ReadContainer(ReadContainer): | ||||||
|         if key not in self.data: |         if key not in self.data: | ||||||
|             return default |             return default | ||||||
|         item = self.data[key] |         item = self.data[key] | ||||||
|         if 'Folder' in item['__class__']: |         itemType = item['__class__'].split('.')[-1] | ||||||
|  |         if itemType == 'Folder': | ||||||
|             return self.containerFactory(item['id'], server=self.server, |             return self.containerFactory(item['id'], server=self.server, | ||||||
|                                          name=item['name']) |                                          name=item['name']) | ||||||
|         elif 'Document' in item['__class__']: |         elif itemType == 'Document': | ||||||
|             return self.fileFactory(item['id'], item['type'], server=self.server, |             return self.fileFactory(item['id'], contentType=item['type'], | ||||||
|                                     name=item['name']) |                                     server=self.server, name=item['name']) | ||||||
|         else: |         else: | ||||||
|             return OtherObject(item['id'], None, server=self.server, name=item['name']) |             return self.itemFactory(item['id'], server=self.server, | ||||||
|  |                                     name=item['name'], type=itemType) | ||||||
| 
 | 
 | ||||||
|     def values(self): |     def values(self): | ||||||
|         return [self.get(k) for k in self] |         return [self.get(k) for k in self] | ||||||
|  | @ -101,6 +106,13 @@ class ReadContainer(ReadContainer): | ||||||
|         return key in self.keys() |         return key in self.keys() | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | class Item(Item): | ||||||
|  | 
 | ||||||
|  |     @property | ||||||
|  |     def icon(self): | ||||||
|  |         return self.type.lower() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| class File(File): | class File(File): | ||||||
| 
 | 
 | ||||||
|     contentType = None |     contentType = None | ||||||
|  | @ -113,11 +125,6 @@ class File(File): | ||||||
|         return 0 |         return 0 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class OtherObject(File): |  | ||||||
| 
 |  | ||||||
|     data = u'' |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # factory classes | # factory classes | ||||||
| 
 | 
 | ||||||
| class ContainerFactory(ContainerFactory): | class ContainerFactory(ContainerFactory): | ||||||
|  | @ -131,10 +138,18 @@ class ContainerFactory(ContainerFactory): | ||||||
|         return self.proxyClass(address, server=server, **kw) |         return self.proxyClass(address, server=server, **kw) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | class ItemFactory(ItemFactory): | ||||||
|  | 
 | ||||||
|  |     proxyClass = Item | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| class FileFactory(FileFactory): | class FileFactory(FileFactory): | ||||||
| 
 | 
 | ||||||
|     def __call__(self, address, **kw): |     def __call__(self, address, **kw): | ||||||
|         contentType = kw.pop('type', 'application/octet-stream') |         contentType = kw.pop('contentType', 'application/octet-stream') | ||||||
|         obj = File(address, contentType, **kw) |         if contentType.startswith('image/'): | ||||||
|  |             obj = Image(address, contentType, **kw) | ||||||
|  |         else: | ||||||
|  |             obj = File(address, contentType, **kw) | ||||||
|         obj.contentType = contentType |         obj.contentType = contentType | ||||||
|         return obj |         return obj | ||||||
|  |  | ||||||
|  | @ -20,15 +20,33 @@ repository for testing purposes. | ||||||
|   >>> server.get_attributes('4', standardAttributes + ['containers'], 1, True) |   >>> server.get_attributes('4', standardAttributes + ['containers'], 1, True) | ||||||
|   [{...'name': 'public'...}, [{...'name': 'Introduction'...}]] |   [{...'name': 'public'...}, [{...'name': 'Introduction'...}]] | ||||||
| 
 | 
 | ||||||
| Access via read container and file proxies | Access via read container and item/file proxies | ||||||
| ------------------------------------------ | ----------------------------------------------- | ||||||
|  | 
 | ||||||
|  | Let's first register the proxy factory utilities. | ||||||
| 
 | 
 | ||||||
|   >>> from zope import component |   >>> from zope import component | ||||||
|   >>> from cybertools.integrator.bscw import ContainerFactory |   >>> from cybertools.integrator.bscw import ContainerFactory, ItemFactory, FileFactory | ||||||
|   >>> component.provideUtility(ContainerFactory(), name='bscw') |   >>> component.provideUtility(ContainerFactory(), name='bscw') | ||||||
|  |   >>> component.provideUtility(ItemFactory(), name='bscw') | ||||||
|  |   >>> component.provideUtility(FileFactory(), name='bscw') | ||||||
|  | 
 | ||||||
|  | We can now access the root object of the BSCW repository | ||||||
| 
 | 
 | ||||||
|   >>> from cybertools.integrator.interfaces import IContainerFactory |   >>> from cybertools.integrator.interfaces import IContainerFactory | ||||||
|   >>> root = component.getUtility(IContainerFactory, name='bscw')('4', server=server) |   >>> root = component.getUtility(IContainerFactory, name='bscw')('4', server=server) | ||||||
| 
 | 
 | ||||||
|   >>> sorted(root) |   >>> sorted(root.items()) | ||||||
|   ['bs_5'] |   [('bs_5', <...ReadContainer object...>)] | ||||||
|  | 
 | ||||||
|  |   >>> root.icon | ||||||
|  |   'folder' | ||||||
|  | 
 | ||||||
|  |   >>> bs_5 = root['bs_5'] | ||||||
|  |   >>> data = server.get_attributes('bs_5', | ||||||
|  |   ...       ['__class__', 'type', 'id', 'name', 'descr', 'url_link'], 1, True) | ||||||
|  | 
 | ||||||
|  |   >>> bs_5.items() | ||||||
|  |   [] | ||||||
|  |   >>> bs_5.icon | ||||||
|  |   'folder' | ||||||
|  |  | ||||||
|  | @ -98,6 +98,7 @@ class File(File): | ||||||
| class Image(File): | class Image(File): | ||||||
| 
 | 
 | ||||||
|     width = height = 0 |     width = height = 0 | ||||||
|  |     icon = 'image' | ||||||
| 
 | 
 | ||||||
|     def getImageSize(self): |     def getImageSize(self): | ||||||
|         return self.width, self.height |         return self.width, self.height | ||||||
|  |  | ||||||
|  | @ -39,12 +39,16 @@ Accessing Objects in the Filesystem | ||||||
|   'application/x-tar' |   'application/x-tar' | ||||||
|   >>> file.getSize() |   >>> file.getSize() | ||||||
|   432L |   432L | ||||||
|  |   >>> file.icon | ||||||
|  |   'tar' | ||||||
| 
 | 
 | ||||||
|   >>> logo = sub['loops_logo.png'] |   >>> logo = sub['loops_logo.png'] | ||||||
|   >>> logo.contentType |   >>> logo.contentType | ||||||
|   'image/png' |   'image/png' | ||||||
|   >>> logo.getImageSize() |   >>> logo.getImageSize() | ||||||
|   (145, 42) |   (145, 42) | ||||||
|  |   >>> logo.icon | ||||||
|  |   'image' | ||||||
| 
 | 
 | ||||||
|   >>> html = top['index.html'] |   >>> html = top['index.html'] | ||||||
|   >>> html.contentType |   >>> html.contentType | ||||||
|  | @ -55,4 +59,6 @@ Accessing Objects in the Filesystem | ||||||
|       <a href="sub">Subdirectory</a> |       <a href="sub">Subdirectory</a> | ||||||
|       <a href="sub/demo.tgz">Demo</a>... |       <a href="sub/demo.tgz">Demo</a>... | ||||||
|   </html>... |   </html>... | ||||||
|  |   >>> html.icon | ||||||
|  |   'html' | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -28,7 +28,25 @@ from zope.app.publication.interfaces import IFileContent | ||||||
| from zope.interface import Interface, Attribute | from zope.interface import Interface, Attribute | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class IFile(IFile, IFileContent): | class IProxy(Interface): | ||||||
|  | 
 | ||||||
|  |     icon = Attribute('The name of an icon that may be used for symbolizing ' | ||||||
|  |                 'this object.') | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class IReadContainer(IProxy, IReadContainer): | ||||||
|  |     """ A readable container of items. | ||||||
|  |     """ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class IItem(IProxy, Interface): | ||||||
|  |     """ A terminal kind of object, i.e. not a container of other objects. | ||||||
|  |     """ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class IFile(IItem, IFile, IFileContent): | ||||||
|  | 
 | ||||||
|  |     contentType = Attribute('The MIME type of the object.') | ||||||
| 
 | 
 | ||||||
|     def getData(num): |     def getData(num): | ||||||
|         """ Return num bytes from the file`s data. |         """ Return num bytes from the file`s data. | ||||||
|  | @ -52,8 +70,12 @@ class IContainerFactory(IProxyFactory): | ||||||
|     """ |     """ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | class IItemFactory(IProxyFactory): | ||||||
|  |     """ Creates general terminal proxy objects. | ||||||
|  |     """ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| class IFileFactory(IProxyFactory): | class IFileFactory(IProxyFactory): | ||||||
|     """ Creates file proxy objects for the external specification |     """ Creates file proxy objects for the external specification | ||||||
|         given. |         given. | ||||||
|     """ |     """ | ||||||
| 
 |  | ||||||
|  |  | ||||||
							
								
								
									
										701
									
								
								integrator/mime.types
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										701
									
								
								integrator/mime.types
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,701 @@ | ||||||
|  | application/activemessage | ||||||
|  | application/andrew-inset			ez | ||||||
|  | application/applefile | ||||||
|  | application/atomicmail | ||||||
|  | application/batch-SMTP | ||||||
|  | application/beep+xml | ||||||
|  | application/cals-1840 | ||||||
|  | application/commonground | ||||||
|  | application/cu-seeme				cu | ||||||
|  | application/cybercash | ||||||
|  | application/dca-rft | ||||||
|  | application/dec-dx | ||||||
|  | application/docbook+xml | ||||||
|  | application/dsptype				tsp | ||||||
|  | application/dvcs | ||||||
|  | application/edi-consent | ||||||
|  | application/edi-x12 | ||||||
|  | application/edifact | ||||||
|  | application/eshop | ||||||
|  | application/font-tdpfr | ||||||
|  | application/futuresplash			spl | ||||||
|  | application/ghostview | ||||||
|  | application/hta					hta | ||||||
|  | application/http | ||||||
|  | application/hyperstudio | ||||||
|  | application/iges | ||||||
|  | application/index | ||||||
|  | application/index.cmd | ||||||
|  | application/index.obj | ||||||
|  | application/index.response | ||||||
|  | application/index.vnd | ||||||
|  | application/iotp | ||||||
|  | application/ipp | ||||||
|  | application/isup | ||||||
|  | application/java-archive			jar | ||||||
|  | application/java-serialized-object		ser | ||||||
|  | application/java-vm				class | ||||||
|  | application/mac-binhex40			hqx | ||||||
|  | application/mac-compactpro			cpt | ||||||
|  | application/macwriteii | ||||||
|  | application/marc | ||||||
|  | application/mathematica				nb | ||||||
|  | application/mathematica-old | ||||||
|  | application/msaccess				mdb | ||||||
|  | application/msword				doc dot | ||||||
|  | application/news-message-id | ||||||
|  | application/news-transmission | ||||||
|  | application/ocsp-request | ||||||
|  | application/ocsp-response | ||||||
|  | application/octet-stream			bin | ||||||
|  | application/oda					oda | ||||||
|  | application/ogg					ogg | ||||||
|  | application/parityfec | ||||||
|  | application/pdf					pdf | ||||||
|  | application/pgp-encrypted | ||||||
|  | application/pgp-keys				key | ||||||
|  | application/pgp-signature			pgp | ||||||
|  | application/pics-rules				prf | ||||||
|  | application/pkcs10 | ||||||
|  | application/pkcs7-mime | ||||||
|  | application/pkcs7-signature | ||||||
|  | application/pkix-cert | ||||||
|  | application/pkix-crl | ||||||
|  | application/pkixcmp | ||||||
|  | application/postscript				ps ai eps | ||||||
|  | application/prs.alvestrand.titrax-sheet | ||||||
|  | application/prs.cww | ||||||
|  | application/prs.nprend | ||||||
|  | application/qsig | ||||||
|  | application/rar					rar | ||||||
|  | application/rdf+xml				rdf | ||||||
|  | application/remote-printing | ||||||
|  | application/riscos | ||||||
|  | application/rss+xml				rss | ||||||
|  | application/rtf | ||||||
|  | application/sdp | ||||||
|  | application/set-payment | ||||||
|  | application/set-payment-initiation | ||||||
|  | application/set-registration | ||||||
|  | application/set-registration-initiation | ||||||
|  | application/sgml | ||||||
|  | application/sgml-open-catalog | ||||||
|  | application/sieve | ||||||
|  | application/slate | ||||||
|  | application/smil				smi smil | ||||||
|  | application/timestamp-query | ||||||
|  | application/timestamp-reply | ||||||
|  | application/vemmi | ||||||
|  | application/whoispp-query | ||||||
|  | application/whoispp-response | ||||||
|  | application/wita | ||||||
|  | application/wordperfect				wpd | ||||||
|  | application/wordperfect5.1			wp5 | ||||||
|  | application/x400-bp | ||||||
|  | application/xhtml+xml				xhtml xht | ||||||
|  | application/xml					xml xsl | ||||||
|  | application/xml-dtd | ||||||
|  | application/xml-external-parsed-entity | ||||||
|  | application/zip					zip | ||||||
|  | application/vnd.3M.Post-it-Notes | ||||||
|  | application/vnd.accpac.simply.aso | ||||||
|  | application/vnd.accpac.simply.imp | ||||||
|  | application/vnd.acucobol | ||||||
|  | application/vnd.aether.imp | ||||||
|  | application/vnd.anser-web-certificate-issue-initiation | ||||||
|  | application/vnd.anser-web-funds-transfer-initiation | ||||||
|  | application/vnd.audiograph | ||||||
|  | application/vnd.bmi | ||||||
|  | application/vnd.businessobjects | ||||||
|  | application/vnd.canon-cpdl | ||||||
|  | application/vnd.canon-lips | ||||||
|  | application/vnd.cinderella			cdy | ||||||
|  | application/vnd.claymore | ||||||
|  | application/vnd.commerce-battelle | ||||||
|  | application/vnd.commonspace | ||||||
|  | application/vnd.comsocaller | ||||||
|  | application/vnd.contact.cmsg | ||||||
|  | application/vnd.cosmocaller | ||||||
|  | application/vnd.ctc-posml | ||||||
|  | application/vnd.cups-postscript | ||||||
|  | application/vnd.cups-raster | ||||||
|  | application/vnd.cups-raw | ||||||
|  | application/vnd.cybank | ||||||
|  | application/vnd.dna | ||||||
|  | application/vnd.dpgraph | ||||||
|  | application/vnd.dxr | ||||||
|  | application/vnd.ecdis-update | ||||||
|  | application/vnd.ecowin.chart | ||||||
|  | application/vnd.ecowin.filerequest | ||||||
|  | application/vnd.ecowin.fileupdate | ||||||
|  | application/vnd.ecowin.series | ||||||
|  | application/vnd.ecowin.seriesrequest | ||||||
|  | application/vnd.ecowin.seriesupdate | ||||||
|  | application/vnd.enliven | ||||||
|  | application/vnd.epson.esf | ||||||
|  | application/vnd.epson.msf | ||||||
|  | application/vnd.epson.quickanime | ||||||
|  | application/vnd.epson.salt | ||||||
|  | application/vnd.epson.ssf | ||||||
|  | application/vnd.ericsson.quickcall | ||||||
|  | application/vnd.eudora.data | ||||||
|  | application/vnd.fdf | ||||||
|  | application/vnd.ffsns | ||||||
|  | application/vnd.flographit | ||||||
|  | application/vnd.framemaker | ||||||
|  | application/vnd.fsc.weblaunch | ||||||
|  | application/vnd.fujitsu.oasys | ||||||
|  | application/vnd.fujitsu.oasys2 | ||||||
|  | application/vnd.fujitsu.oasys3 | ||||||
|  | application/vnd.fujitsu.oasysgp | ||||||
|  | application/vnd.fujitsu.oasysprs | ||||||
|  | application/vnd.fujixerox.ddd | ||||||
|  | application/vnd.fujixerox.docuworks | ||||||
|  | application/vnd.fujixerox.docuworks.binder | ||||||
|  | application/vnd.fut-misnet | ||||||
|  | application/vnd.grafeq | ||||||
|  | application/vnd.groove-account | ||||||
|  | application/vnd.groove-identity-message | ||||||
|  | application/vnd.groove-injector | ||||||
|  | application/vnd.groove-tool-message | ||||||
|  | application/vnd.groove-tool-template | ||||||
|  | application/vnd.groove-vcard | ||||||
|  | application/vnd.hhe.lesson-player | ||||||
|  | application/vnd.hp-HPGL | ||||||
|  | application/vnd.hp-PCL | ||||||
|  | application/vnd.hp-PCLXL | ||||||
|  | application/vnd.hp-hpid | ||||||
|  | application/vnd.hp-hps | ||||||
|  | application/vnd.httphone | ||||||
|  | application/vnd.hzn-3d-crossword | ||||||
|  | application/vnd.ibm.MiniPay | ||||||
|  | application/vnd.ibm.afplinedata | ||||||
|  | application/vnd.ibm.modcap | ||||||
|  | application/vnd.informix-visionary | ||||||
|  | application/vnd.intercon.formnet | ||||||
|  | application/vnd.intertrust.digibox | ||||||
|  | application/vnd.intertrust.nncp | ||||||
|  | application/vnd.intu.qbo | ||||||
|  | application/vnd.intu.qfx | ||||||
|  | application/vnd.irepository.package+xml | ||||||
|  | application/vnd.is-xpr | ||||||
|  | application/vnd.japannet-directory-service | ||||||
|  | application/vnd.japannet-jpnstore-wakeup | ||||||
|  | application/vnd.japannet-payment-wakeup | ||||||
|  | application/vnd.japannet-registration | ||||||
|  | application/vnd.japannet-registration-wakeup | ||||||
|  | application/vnd.japannet-setstore-wakeup | ||||||
|  | application/vnd.japannet-verification | ||||||
|  | application/vnd.japannet-verification-wakeup | ||||||
|  | application/vnd.koan | ||||||
|  | application/vnd.lotus-1-2-3 | ||||||
|  | application/vnd.lotus-approach | ||||||
|  | application/vnd.lotus-freelance | ||||||
|  | application/vnd.lotus-notes | ||||||
|  | application/vnd.lotus-organizer | ||||||
|  | application/vnd.lotus-screencam | ||||||
|  | application/vnd.lotus-wordpro | ||||||
|  | application/vnd.mcd | ||||||
|  | application/vnd.mediastation.cdkey | ||||||
|  | application/vnd.meridian-slingshot | ||||||
|  | application/vnd.mif | ||||||
|  | application/vnd.minisoft-hp3000-save | ||||||
|  | application/vnd.mitsubishi.misty-guard.trustweb | ||||||
|  | application/vnd.mobius.daf | ||||||
|  | application/vnd.mobius.dis | ||||||
|  | application/vnd.mobius.msl | ||||||
|  | application/vnd.mobius.plc | ||||||
|  | application/vnd.mobius.txf | ||||||
|  | application/vnd.motorola.flexsuite | ||||||
|  | application/vnd.motorola.flexsuite.adsi | ||||||
|  | application/vnd.motorola.flexsuite.fis | ||||||
|  | application/vnd.motorola.flexsuite.gotap | ||||||
|  | application/vnd.motorola.flexsuite.kmr | ||||||
|  | application/vnd.motorola.flexsuite.ttc | ||||||
|  | application/vnd.motorola.flexsuite.wem | ||||||
|  | application/vnd.mozilla.xul+xml			xul | ||||||
|  | application/vnd.ms-artgalry | ||||||
|  | application/vnd.ms-asf | ||||||
|  | application/vnd.ms-excel			xls xlb xlt | ||||||
|  | application/vnd.ms-lrm | ||||||
|  | application/vnd.ms-pki.seccat			cat | ||||||
|  | application/vnd.ms-pki.stl			stl | ||||||
|  | application/vnd.ms-powerpoint			ppt pps | ||||||
|  | application/vnd.ms-project | ||||||
|  | application/vnd.ms-tnef | ||||||
|  | application/vnd.ms-works | ||||||
|  | application/vnd.mseq | ||||||
|  | application/vnd.msign | ||||||
|  | application/vnd.music-niff | ||||||
|  | application/vnd.musician | ||||||
|  | application/vnd.netfpx | ||||||
|  | application/vnd.noblenet-directory | ||||||
|  | application/vnd.noblenet-sealer | ||||||
|  | application/vnd.noblenet-web | ||||||
|  | application/vnd.novadigm.EDM | ||||||
|  | application/vnd.novadigm.EDX | ||||||
|  | application/vnd.novadigm.EXT | ||||||
|  | application/vnd.oasis.opendocument.chart	odc | ||||||
|  | application/vnd.oasis.opendocument.database	odb | ||||||
|  | application/vnd.oasis.opendocument.formula	odf | ||||||
|  | application/vnd.oasis.opendocument.graphics	odg | ||||||
|  | application/vnd.oasis.opendocument.graphics-template otg | ||||||
|  | application/vnd.oasis.opendocument.image	odi | ||||||
|  | application/vnd.oasis.opendocument.presentation	odp | ||||||
|  | application/vnd.oasis.opendocument.presentation-template otp | ||||||
|  | application/vnd.oasis.opendocument.spreadsheet	ods | ||||||
|  | application/vnd.oasis.opendocument.spreadsheet-template ots | ||||||
|  | application/vnd.oasis.opendocument.text		odt | ||||||
|  | application/vnd.oasis.opendocument.text-master	odm | ||||||
|  | application/vnd.oasis.opendocument.text-template ott | ||||||
|  | application/vnd.oasis.opendocument.text-web	oth | ||||||
|  | application/vnd.osa.netdeploy | ||||||
|  | application/vnd.palm | ||||||
|  | application/vnd.pg.format | ||||||
|  | application/vnd.pg.osasli | ||||||
|  | application/vnd.powerbuilder6 | ||||||
|  | application/vnd.powerbuilder6-s | ||||||
|  | application/vnd.powerbuilder7 | ||||||
|  | application/vnd.powerbuilder7-s | ||||||
|  | application/vnd.powerbuilder75 | ||||||
|  | application/vnd.powerbuilder75-s | ||||||
|  | application/vnd.previewsystems.box | ||||||
|  | application/vnd.publishare-delta-tree | ||||||
|  | application/vnd.pvi.ptid1 | ||||||
|  | application/vnd.pwg-xhtml-print+xml | ||||||
|  | application/vnd.rapid | ||||||
|  | application/vnd.rim.cod				cod | ||||||
|  | application/vnd.s3sms | ||||||
|  | application/vnd.seemail | ||||||
|  | application/vnd.shana.informed.formdata | ||||||
|  | application/vnd.shana.informed.formtemplate | ||||||
|  | application/vnd.shana.informed.interchange | ||||||
|  | application/vnd.shana.informed.package | ||||||
|  | application/vnd.smaf				mmf | ||||||
|  | application/vnd.sss-cod | ||||||
|  | application/vnd.sss-dtf | ||||||
|  | application/vnd.sss-ntf | ||||||
|  | application/vnd.stardivision.calc		sdc | ||||||
|  | application/vnd.stardivision.draw		sda | ||||||
|  | application/vnd.stardivision.impress		sdd sdp | ||||||
|  | application/vnd.stardivision.math		smf | ||||||
|  | application/vnd.stardivision.writer		sdw vor | ||||||
|  | application/vnd.stardivision.writer-global	sgl | ||||||
|  | application/vnd.street-stream | ||||||
|  | application/vnd.sun.xml.calc			sxc | ||||||
|  | application/vnd.sun.xml.calc.template		stc | ||||||
|  | application/vnd.sun.xml.draw			sxd | ||||||
|  | application/vnd.sun.xml.draw.template		std | ||||||
|  | application/vnd.sun.xml.impress			sxi | ||||||
|  | application/vnd.sun.xml.impress.template	sti | ||||||
|  | application/vnd.sun.xml.math			sxm | ||||||
|  | application/vnd.sun.xml.writer			sxw | ||||||
|  | application/vnd.sun.xml.writer.global		sxg | ||||||
|  | application/vnd.sun.xml.writer.template		stw | ||||||
|  | application/vnd.svd | ||||||
|  | application/vnd.swiftview-ics | ||||||
|  | application/vnd.symbian.install			sis | ||||||
|  | application/vnd.triscape.mxs | ||||||
|  | application/vnd.trueapp | ||||||
|  | application/vnd.truedoc | ||||||
|  | application/vnd.tve-trigger | ||||||
|  | application/vnd.ufdl | ||||||
|  | application/vnd.uplanet.alert | ||||||
|  | application/vnd.uplanet.alert-wbxml | ||||||
|  | application/vnd.uplanet.bearer-choice | ||||||
|  | application/vnd.uplanet.bearer-choice-wbxml | ||||||
|  | application/vnd.uplanet.cacheop | ||||||
|  | application/vnd.uplanet.cacheop-wbxml | ||||||
|  | application/vnd.uplanet.channel | ||||||
|  | application/vnd.uplanet.channel-wbxml | ||||||
|  | application/vnd.uplanet.list | ||||||
|  | application/vnd.uplanet.list-wbxml | ||||||
|  | application/vnd.uplanet.listcmd | ||||||
|  | application/vnd.uplanet.listcmd-wbxml | ||||||
|  | application/vnd.uplanet.signal | ||||||
|  | application/vnd.vcx | ||||||
|  | application/vnd.vectorworks | ||||||
|  | application/vnd.vidsoft.vidconference | ||||||
|  | application/vnd.visio				vsd | ||||||
|  | application/vnd.vividence.scriptfile | ||||||
|  | application/vnd.wap.sic | ||||||
|  | application/vnd.wap.slc | ||||||
|  | application/vnd.wap.wbxml			wbxml | ||||||
|  | application/vnd.wap.wmlc			wmlc | ||||||
|  | application/vnd.wap.wmlscriptc			wmlsc | ||||||
|  | application/vnd.webturbo | ||||||
|  | application/vnd.wrq-hp3000-labelled | ||||||
|  | application/vnd.wt.stf | ||||||
|  | application/vnd.xara | ||||||
|  | application/vnd.xfdl | ||||||
|  | application/vnd.yellowriver-custom-menu | ||||||
|  | application/x-123				wk | ||||||
|  | application/x-abiword				abw | ||||||
|  | application/x-apple-diskimage			dmg | ||||||
|  | application/x-bcpio				bcpio | ||||||
|  | application/x-bittorrent			torrent | ||||||
|  | application/x-cdf				cdf | ||||||
|  | application/x-cdlink				vcd | ||||||
|  | application/x-chess-pgn				pgn | ||||||
|  | application/x-core | ||||||
|  | application/x-cpio				cpio | ||||||
|  | application/x-csh				csh | ||||||
|  | application/x-debian-package			deb udeb | ||||||
|  | application/x-director				dcr dir dxr | ||||||
|  | application/x-dms				dms | ||||||
|  | application/x-doom				wad | ||||||
|  | application/x-dvi				dvi | ||||||
|  | application/x-executable | ||||||
|  | application/x-flac				flac | ||||||
|  | application/x-font				pfa pfb gsf pcf pcf.Z | ||||||
|  | application/x-freemind				mm | ||||||
|  | application/x-futuresplash			spl | ||||||
|  | application/x-gnumeric				gnumeric | ||||||
|  | application/x-go-sgf				sgf | ||||||
|  | application/x-graphing-calculator		gcf | ||||||
|  | application/x-gtar				gtar tgz taz | ||||||
|  | application/x-hdf				hdf | ||||||
|  | application/x-httpd-php				phtml pht php | ||||||
|  | application/x-httpd-php-source			phps | ||||||
|  | application/x-httpd-php3			php3 | ||||||
|  | application/x-httpd-php3-preprocessed		php3p | ||||||
|  | application/x-httpd-php4			php4 | ||||||
|  | application/x-ica				ica | ||||||
|  | application/x-internet-signup			ins isp | ||||||
|  | application/x-iphone				iii | ||||||
|  | application/x-iso9660-image			iso | ||||||
|  | application/x-java-applet | ||||||
|  | application/x-java-bean | ||||||
|  | application/x-java-jnlp-file			jnlp | ||||||
|  | application/x-javascript			js | ||||||
|  | application/x-jmol				jmz | ||||||
|  | application/x-kchart				chrt | ||||||
|  | application/x-kdelnk | ||||||
|  | application/x-killustrator			kil | ||||||
|  | application/x-koan				skp skd skt skm | ||||||
|  | application/x-kpresenter			kpr kpt | ||||||
|  | application/x-kspread				ksp | ||||||
|  | application/x-kword				kwd kwt | ||||||
|  | application/x-latex				latex | ||||||
|  | application/x-lha				lha | ||||||
|  | application/x-lzh				lzh | ||||||
|  | application/x-lzx				lzx | ||||||
|  | application/x-maker				frm maker frame fm fb book fbdoc | ||||||
|  | application/x-mif				mif | ||||||
|  | application/x-ms-wmd				wmd | ||||||
|  | application/x-ms-wmz				wmz | ||||||
|  | application/x-msdos-program			com exe bat dll | ||||||
|  | application/x-msi				msi | ||||||
|  | application/x-netcdf				nc | ||||||
|  | application/x-ns-proxy-autoconfig		pac | ||||||
|  | application/x-nwc				nwc | ||||||
|  | application/x-object				o | ||||||
|  | application/x-oz-application			oza | ||||||
|  | application/x-pkcs7-certreqresp			p7r | ||||||
|  | application/x-pkcs7-crl				crl | ||||||
|  | application/x-python-code			pyc pyo | ||||||
|  | application/x-quicktimeplayer			qtl | ||||||
|  | application/x-redhat-package-manager		rpm | ||||||
|  | application/x-rx | ||||||
|  | application/x-sh				sh | ||||||
|  | application/x-shar				shar | ||||||
|  | application/x-shellscript | ||||||
|  | application/x-shockwave-flash			swf swfl | ||||||
|  | application/x-stuffit				sit | ||||||
|  | application/x-sv4cpio				sv4cpio | ||||||
|  | application/x-sv4crc				sv4crc | ||||||
|  | application/x-tar				tar | ||||||
|  | application/x-tcl				tcl | ||||||
|  | application/x-tex-gf				gf | ||||||
|  | application/x-tex-pk				pk | ||||||
|  | application/x-texinfo				texinfo texi | ||||||
|  | application/x-trash				~ % bak old sik | ||||||
|  | application/x-troff				t tr roff | ||||||
|  | application/x-troff-man				man | ||||||
|  | application/x-troff-me				me | ||||||
|  | application/x-troff-ms				ms | ||||||
|  | application/x-ustar				ustar | ||||||
|  | application/x-videolan | ||||||
|  | application/x-wais-source			src | ||||||
|  | application/x-wingz				wz | ||||||
|  | application/x-x509-ca-cert			crt | ||||||
|  | application/x-xcf				xcf | ||||||
|  | application/x-xfig				fig | ||||||
|  | application/x-xpinstall				xpi | ||||||
|  | 
 | ||||||
|  | audio/32kadpcm | ||||||
|  | audio/basic					au snd | ||||||
|  | audio/g.722.1 | ||||||
|  | audio/l16 | ||||||
|  | audio/midi					mid midi kar | ||||||
|  | audio/mp4a-latm | ||||||
|  | audio/mpa-robust | ||||||
|  | audio/mpeg					mpga mpega mp2 mp3 m4a | ||||||
|  | audio/mpegurl					m3u | ||||||
|  | audio/parityfec | ||||||
|  | audio/prs.sid					sid | ||||||
|  | audio/telephone-event | ||||||
|  | audio/tone | ||||||
|  | audio/vnd.cisco.nse | ||||||
|  | audio/vnd.cns.anp1 | ||||||
|  | audio/vnd.cns.inf1 | ||||||
|  | audio/vnd.digital-winds | ||||||
|  | audio/vnd.everad.plj | ||||||
|  | audio/vnd.lucent.voice | ||||||
|  | audio/vnd.nortel.vbk | ||||||
|  | audio/vnd.nuera.ecelp4800 | ||||||
|  | audio/vnd.nuera.ecelp7470 | ||||||
|  | audio/vnd.nuera.ecelp9600 | ||||||
|  | audio/vnd.octel.sbc | ||||||
|  | audio/vnd.qcelp | ||||||
|  | audio/vnd.rhetorex.32kadpcm | ||||||
|  | audio/vnd.vmx.cvsd | ||||||
|  | audio/x-aiff					aif aiff aifc | ||||||
|  | audio/x-gsm					gsm | ||||||
|  | audio/x-mpegurl					m3u | ||||||
|  | audio/x-ms-wma					wma | ||||||
|  | audio/x-ms-wax					wax | ||||||
|  | audio/x-pn-realaudio-plugin | ||||||
|  | audio/x-pn-realaudio				ra rm ram | ||||||
|  | audio/x-realaudio				ra | ||||||
|  | audio/x-scpls					pls | ||||||
|  | audio/x-sd2					sd2 | ||||||
|  | audio/x-wav					wav | ||||||
|  | 
 | ||||||
|  | chemical/x-alchemy				alc | ||||||
|  | chemical/x-cache				cac cache | ||||||
|  | chemical/x-cache-csf				csf | ||||||
|  | chemical/x-cactvs-binary			cbin cascii ctab | ||||||
|  | chemical/x-cdx					cdx | ||||||
|  | chemical/x-cerius				cer | ||||||
|  | chemical/x-chem3d				c3d | ||||||
|  | chemical/x-chemdraw				chm | ||||||
|  | chemical/x-cif					cif | ||||||
|  | chemical/x-cmdf					cmdf | ||||||
|  | chemical/x-cml					cml | ||||||
|  | chemical/x-compass				cpa | ||||||
|  | chemical/x-crossfire				bsd | ||||||
|  | chemical/x-csml					csml csm | ||||||
|  | chemical/x-ctx					ctx | ||||||
|  | chemical/x-cxf					cxf cef | ||||||
|  | #chemical/x-daylight-smiles			smi | ||||||
|  | chemical/x-embl-dl-nucleotide			emb embl | ||||||
|  | chemical/x-galactic-spc				spc | ||||||
|  | chemical/x-gamess-input				inp gam gamin | ||||||
|  | chemical/x-gaussian-checkpoint			fch fchk | ||||||
|  | chemical/x-gaussian-cube			cub | ||||||
|  | chemical/x-gaussian-input			gau gjc gjf | ||||||
|  | chemical/x-gaussian-log				gal | ||||||
|  | chemical/x-gcg8-sequence			gcg | ||||||
|  | chemical/x-genbank				gen | ||||||
|  | chemical/x-hin					hin | ||||||
|  | chemical/x-isostar				istr ist | ||||||
|  | chemical/x-jcamp-dx				jdx dx | ||||||
|  | chemical/x-kinemage				kin | ||||||
|  | chemical/x-macmolecule				mcm | ||||||
|  | chemical/x-macromodel-input			mmd mmod | ||||||
|  | chemical/x-mdl-molfile				mol | ||||||
|  | chemical/x-mdl-rdfile				rd | ||||||
|  | chemical/x-mdl-rxnfile				rxn | ||||||
|  | chemical/x-mdl-sdfile				sd sdf | ||||||
|  | chemical/x-mdl-tgf				tgf | ||||||
|  | #chemical/x-mif					mif | ||||||
|  | chemical/x-mmcif				mcif | ||||||
|  | chemical/x-mol2					mol2 | ||||||
|  | chemical/x-molconn-Z				b | ||||||
|  | chemical/x-mopac-graph				gpt | ||||||
|  | chemical/x-mopac-input				mop mopcrt mpc dat zmt | ||||||
|  | chemical/x-mopac-out				moo | ||||||
|  | chemical/x-mopac-vib				mvb | ||||||
|  | chemical/x-ncbi-asn1				asn | ||||||
|  | chemical/x-ncbi-asn1-ascii			prt ent | ||||||
|  | chemical/x-ncbi-asn1-binary			val aso | ||||||
|  | chemical/x-ncbi-asn1-spec			asn | ||||||
|  | chemical/x-pdb					pdb ent | ||||||
|  | chemical/x-rosdal				ros | ||||||
|  | chemical/x-swissprot				sw | ||||||
|  | chemical/x-vamas-iso14976			vms | ||||||
|  | chemical/x-vmd					vmd | ||||||
|  | chemical/x-xtel					xtel | ||||||
|  | chemical/x-xyz					xyz | ||||||
|  | 
 | ||||||
|  | image/cgm | ||||||
|  | image/g3fax | ||||||
|  | image/gif					gif | ||||||
|  | image/ief					ief | ||||||
|  | image/jpeg					jpeg jpg jpe | ||||||
|  | image/naplps | ||||||
|  | image/pcx					pcx | ||||||
|  | image/png					png | ||||||
|  | image/prs.btif | ||||||
|  | image/prs.pti | ||||||
|  | image/svg+xml					svg svgz | ||||||
|  | image/tiff					tiff tif | ||||||
|  | image/vnd.cns.inf2 | ||||||
|  | image/vnd.djvu					djvu djv | ||||||
|  | image/vnd.dwg | ||||||
|  | image/vnd.dxf | ||||||
|  | image/vnd.fastbidsheet | ||||||
|  | image/vnd.fpx | ||||||
|  | image/vnd.fst | ||||||
|  | image/vnd.fujixerox.edmics-mmr | ||||||
|  | image/vnd.fujixerox.edmics-rlc | ||||||
|  | image/vnd.mix | ||||||
|  | image/vnd.net-fpx | ||||||
|  | image/vnd.svf | ||||||
|  | image/vnd.wap.wbmp				wbmp | ||||||
|  | image/vnd.xiff | ||||||
|  | image/x-cmu-raster				ras | ||||||
|  | image/x-coreldraw				cdr | ||||||
|  | image/x-coreldrawpattern			pat | ||||||
|  | image/x-coreldrawtemplate			cdt | ||||||
|  | image/x-corelphotopaint				cpt | ||||||
|  | image/x-icon					ico | ||||||
|  | image/x-jg					art | ||||||
|  | image/x-jng					jng | ||||||
|  | image/x-ms-bmp					bmp | ||||||
|  | image/x-photoshop				psd | ||||||
|  | image/x-portable-anymap				pnm | ||||||
|  | image/x-portable-bitmap				pbm | ||||||
|  | image/x-portable-graymap			pgm | ||||||
|  | image/x-portable-pixmap				ppm | ||||||
|  | image/x-rgb					rgb | ||||||
|  | image/x-xbitmap					xbm | ||||||
|  | image/x-xpixmap					xpm | ||||||
|  | image/x-xwindowdump				xwd | ||||||
|  | 
 | ||||||
|  | inode/chardevice | ||||||
|  | inode/blockdevice | ||||||
|  | inode/directory-locked | ||||||
|  | inode/directory | ||||||
|  | inode/fifo | ||||||
|  | inode/socket | ||||||
|  | 
 | ||||||
|  | message/delivery-status | ||||||
|  | message/disposition-notification | ||||||
|  | message/external-body | ||||||
|  | message/http | ||||||
|  | message/s-http | ||||||
|  | message/news | ||||||
|  | message/partial | ||||||
|  | message/rfc822 | ||||||
|  | 
 | ||||||
|  | model/iges					igs iges | ||||||
|  | model/mesh					msh mesh silo | ||||||
|  | model/vnd.dwf | ||||||
|  | model/vnd.flatland.3dml | ||||||
|  | model/vnd.gdl | ||||||
|  | model/vnd.gs-gdl | ||||||
|  | model/vnd.gtw | ||||||
|  | model/vnd.mts | ||||||
|  | model/vnd.vtu | ||||||
|  | model/vrml					wrl vrml | ||||||
|  | 
 | ||||||
|  | multipart/alternative | ||||||
|  | multipart/appledouble | ||||||
|  | multipart/byteranges | ||||||
|  | multipart/digest | ||||||
|  | multipart/encrypted | ||||||
|  | multipart/form-data | ||||||
|  | multipart/header-set | ||||||
|  | multipart/mixed | ||||||
|  | multipart/parallel | ||||||
|  | multipart/related | ||||||
|  | multipart/report | ||||||
|  | multipart/signed | ||||||
|  | multipart/voice-message | ||||||
|  | 
 | ||||||
|  | text/calendar					ics icz | ||||||
|  | text/comma-separated-values			csv | ||||||
|  | text/css					css | ||||||
|  | text/directory | ||||||
|  | text/english | ||||||
|  | text/enriched | ||||||
|  | text/h323					323 | ||||||
|  | text/html					html htm shtml | ||||||
|  | text/iuls					uls | ||||||
|  | text/mathml					mml | ||||||
|  | text/parityfec | ||||||
|  | text/plain					asc txt text diff pot | ||||||
|  | text/prs.lines.tag | ||||||
|  | text/rfc822-headers | ||||||
|  | text/richtext					rtx | ||||||
|  | text/rtf					rtf | ||||||
|  | text/scriptlet					sct wsc | ||||||
|  | text/t140 | ||||||
|  | text/texmacs					tm ts | ||||||
|  | text/tab-separated-values			tsv | ||||||
|  | text/uri-list | ||||||
|  | text/vnd.abc | ||||||
|  | text/vnd.curl | ||||||
|  | text/vnd.DMClientScript | ||||||
|  | text/vnd.flatland.3dml | ||||||
|  | text/vnd.fly | ||||||
|  | text/vnd.fmi.flexstor | ||||||
|  | text/vnd.in3d.3dml | ||||||
|  | text/vnd.in3d.spot | ||||||
|  | text/vnd.IPTC.NewsML | ||||||
|  | text/vnd.IPTC.NITF | ||||||
|  | text/vnd.latex-z | ||||||
|  | text/vnd.motorola.reflex | ||||||
|  | text/vnd.ms-mediapackage | ||||||
|  | text/vnd.sun.j2me.app-descriptor		jad | ||||||
|  | text/vnd.wap.si | ||||||
|  | text/vnd.wap.sl | ||||||
|  | text/vnd.wap.wml				wml | ||||||
|  | text/vnd.wap.wmlscript				wmls | ||||||
|  | text/x-bibtex					bib | ||||||
|  | text/x-c++hdr					h++ hpp hxx hh | ||||||
|  | text/x-c++src					c++ cpp cxx cc | ||||||
|  | text/x-chdr					h | ||||||
|  | text/x-crontab | ||||||
|  | text/x-csh					csh | ||||||
|  | text/x-csrc					c | ||||||
|  | text/x-dsrc					d | ||||||
|  | text/x-haskell					hs | ||||||
|  | text/x-java					java | ||||||
|  | text/x-literate-haskell				lhs | ||||||
|  | text/x-makefile | ||||||
|  | text/x-moc					moc | ||||||
|  | text/x-pascal					p pas | ||||||
|  | text/x-pcs-gcd					gcd | ||||||
|  | text/x-perl					pl pm | ||||||
|  | text/x-python					py | ||||||
|  | text/x-server-parsed-html | ||||||
|  | text/x-setext					etx | ||||||
|  | text/x-sh					sh | ||||||
|  | text/x-tcl					tcl tk | ||||||
|  | text/x-tex					tex ltx sty cls | ||||||
|  | text/x-vcalendar				vcs | ||||||
|  | text/x-vcard					vcf | ||||||
|  | 
 | ||||||
|  | video/dl					dl | ||||||
|  | video/dv					dif dv | ||||||
|  | video/fli					fli | ||||||
|  | video/gl					gl | ||||||
|  | video/mpeg					mpeg mpg mpe | ||||||
|  | video/mp4					mp4 | ||||||
|  | video/quicktime					qt mov | ||||||
|  | video/mp4v-es | ||||||
|  | video/parityfec | ||||||
|  | video/pointer | ||||||
|  | video/vnd.fvt | ||||||
|  | video/vnd.motorola.video | ||||||
|  | video/vnd.motorola.videop | ||||||
|  | video/vnd.mpegurl				mxu | ||||||
|  | video/vnd.mts | ||||||
|  | video/vnd.nokia.interleaved-multimedia | ||||||
|  | video/vnd.vivo | ||||||
|  | video/x-la-asf					lsf lsx | ||||||
|  | video/x-mng					mng | ||||||
|  | video/x-ms-asf					asf asx | ||||||
|  | video/x-ms-wm					wm | ||||||
|  | video/x-ms-wmv					wmv | ||||||
|  | video/x-ms-wmx					wmx | ||||||
|  | video/x-ms-wvx					wvx | ||||||
|  | video/x-msvideo					avi | ||||||
|  | video/x-sgi-movie				movie | ||||||
|  | 
 | ||||||
|  | x-conference/x-cooltalk				ice | ||||||
|  | 
 | ||||||
|  | x-world/x-vrml					vrm vrml wrl | ||||||
|  | @ -95,6 +95,9 @@ class BSCWServer(object): | ||||||
|         return baseAttributes |         return baseAttributes | ||||||
| 
 | 
 | ||||||
|     def get_document(self, id, version_id): |     def get_document(self, id, version_id): | ||||||
|  |         obj = self.objects.get(id) | ||||||
|  |         if obj is None: | ||||||
|  |             raise Fault(10101, 'Bad object id: %s' % id) | ||||||
|         return '' |         return '' | ||||||
| 
 | 
 | ||||||
|     def get_path(id): |     def get_path(id): | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 helmutm
						helmutm