stuppid_bot

Python build multipart

Jun 21st, 2013
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.11 KB | None | 0 0
  1. # модуль mimetypes не может работать с кириллическими типами(например, "аудио/AMR") и падает
  2. mime_types = {
  3.     'bmp': 'image/bmp',
  4.     'gif': 'image/gif',
  5.     'jpg': 'image/jpeg',
  6.     'jpeg': 'image/jpeg',
  7.     'png': 'image/png'
  8. }
  9.  
  10. def build_multipart(boundary, fields, files=None):
  11.     L = ['']
  12.     for k, v in fields.items():
  13.         L.append('Content-Disposition: form-data; name="' + k + '"\r\n\r\n' + v)
  14.     if files:
  15.         for k, v in files.items():
  16.             f = open(v, 'r')
  17.             data = f.read()
  18.             f.close()
  19.             filename = v.replace('\\', '/').split('/')[-1]
  20.             parts = filename.split('.')
  21.             extension = parts[-1].lower() if len(parts) > 1 else ''
  22.             content_type = mime_types[extension] if extension in mime_types else 'application/octet-stream'
  23.             L.append('Content-Disposition: form-data; name="' + k + '"; filename="' + filename + '"\r\nContent-Type: ' + content_type + '\r\n\r\n' + data)
  24.     return ('\r\n--' + boundary + '\r\n').join(L) + '\r\n--' + boundary + '--\r\n'
Advertisement
Add Comment
Please, Sign In to add comment