Re: RFC822Marshaller for all content uploaded with FTP/Webdav

Roché Compaan <roche-kb4xc5yObU3kQYj/0HfcvhBnub05S5/[email protected]> Mon, 22 May 2006 21:07:41 +0200
Newsgroups gmane.comp.web.zope.plone.archetypes.devel
Message-ID <1148324862.14544.23.camel@kwaaitjie>
On Tue, 2006-05-02 at 14:50 -0300, Sidnei da Silva wrote:
> On Tue, May 02, 2006 at 07:35:16PM +0200, Roché Compaan wrote:
> | I won't have time to write a PLIP and I need to fix this for the client
> | now. I'd like to fix this in a way that might be usable by you.

I didn't have time to work on this until now.

> | I am hoping for an implementation that is a bit more intelligent as
> | opposed to just having good defaults. IMO a very simple fix would be to
> | not try to demarshall a file using RFC822Marshaller if it is not
> | appropriate. Maybe even better would be to have an über marshaller that
> | uses RFC882 when appropriate and upload files that are clearly not
> | RFC822 compliant as files, not Plone documents.
> 
> That is exactly what I have in mind. One small issue is that we must
> *not* read the whole file in memory. Usually reading a small chunk of
> the file should be enough to detect which marshaller should be
> used. This should optimally use the Marshall product to make these
> settings overridable TTW.

I can't find any Python library that guesses file types based on the
*content* of the file. There is the 'file' command on linux but I don't
consider this an option since it is probably not available on windows.
What the 'file' command does give me is the strings from the 'magic'
file and this can easily be used to test for known file types.

>From "man magic":

"Each  line  of  the file specifies a test to be performed.  A test
compares the data starting at a particular  offset  in  the  file  with
a 1-byte,  2-byte, or 4-byte numeric value or a string.  If the test
succeeds, a message is  printed." 

This is the most solid ground for matching file types on their content I
have found.

Any other ideas or recommendations?

-- 
Roché Compaan
Upfront Systems                   http://www.upfrontsystems.co.za



-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642