Mercurial > hg > simpypi
comparison tests/multipart.py @ 64:bb8d993376aa
* convenience methods for multipart form
* include this in test globals
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Thu, 01 Mar 2012 18:15:34 -0800 |
parents | af1476a936fc |
children |
comparison
equal
deleted
inserted
replaced
63:af1476a936fc | 64:bb8d993376aa |
---|---|
6 """ | 6 """ |
7 | 7 |
8 import itertools | 8 import itertools |
9 import mimetools | 9 import mimetools |
10 import mimetypes | 10 import mimetypes |
11 from cStringIO import StringIO | 11 import os |
12 import urllib | 12 import urllib |
13 import urllib2 | 13 import urllib2 |
14 from cStringIO import StringIO | |
14 | 15 |
15 class MultiPartForm(object): | 16 class MultiPartForm(object): |
16 """Accumulate the data to be used when posting a form.""" | 17 """Accumulate the data to be used when posting a form.""" |
17 | 18 |
18 def __init__(self): | 19 def __init__(self): |
25 | 26 |
26 def add_field(self, name, value): | 27 def add_field(self, name, value): |
27 """Add a simple field to the form data.""" | 28 """Add a simple field to the form data.""" |
28 self.form_fields.append((name, value)) | 29 self.form_fields.append((name, value)) |
29 | 30 |
30 def add_file(self, fieldname, filename, fileHandle, mimetype=None): | 31 def add_file(self, fieldname, path, mimetype=None): |
31 """Add a file to be uploaded.""" | 32 filename = os.path.basename(path) |
33 f = file(path) | |
34 self.add_file_obj(fieldname, filename, f, mimetype) | |
35 f.close() | |
36 | |
37 def add_file_obj(self, fieldname, filename, fileHandle, mimetype=None): | |
38 """Add a file object to be uploaded.""" | |
32 body = fileHandle.read() | 39 body = fileHandle.read() |
33 if mimetype is None: | 40 if mimetype is None: |
34 mimetype = mimetypes.guess_type(filename)[0] or 'application/octet-stream' | 41 mimetype = mimetypes.guess_type(filename)[0] or 'application/octet-stream' |
35 self.files.append((fieldname, filename, mimetype, body)) | 42 self.files.append((fieldname, filename, mimetype, body)) |
36 | 43 |