~unity-2d-team/unity-2d/Shell-MultiMonitor

« back to all changes in this revision

Viewing changes to grackle/client.py

  • Committer: Aaron Bentley
  • Date: 2012-01-10 11:06:36 UTC
  • Revision ID: aaron@canonical.com-20120110110636-fztfdo4gn1qfqty3
Add skeleton grackle-put-message.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
import httplib
2
 
from urlparse import urlunparse
3
 
from urllib import quote
4
 
 
5
 
 
6
 
def message_path(archive_name, message_id):
7
 
    return '/%s/%s' % (quote(archive_name), quote(message_id))
8
 
 
9
 
 
10
 
class GrackleClient:
11
 
 
12
 
    def __init__(self, host, port):
13
 
        self.host = host
14
 
        self.port = port
15
 
 
16
 
    def message_url(self, archive_name, message_id):
17
 
        netloc = '%s:%d' % (self.host, self.port)
18
 
        path = message_path(archive_name, message_id)
19
 
        return urlunparse(('http', netloc, path, '', '', ''))
20
 
 
21
 
    def put_message(self, archive_name, message_id, file_obj):
22
 
        url = self.message_url(archive_name, message_id)
23
 
        connection = httplib.HTTPConnection(self.host, self.port)
24
 
        connection.request('PUT', url, file_obj.read())
25
 
        response = connection.getresponse()
26
 
        data = response.read()
27
 
        if response.status == httplib.BAD_REQUEST:
28
 
            raise Exception('wtf')
29
 
        elif response.status == httplib.CREATED:
30
 
            return
31
 
        else:
32
 
            raise Exception('!!')
 
1
def put_message(archive_name, fileobj):
 
2
    pass