def reply_with_selfie_drafts(recipient_id, img): badge = Image.open("assets/" + user_db[recipient_id]["template"] + ".png") badge.thumbnail(img.size) # pasting badge on bottom right edge img.paste(badge, (img.size[0] - badge.size[0], img.size[1] - badge.size[1]), badge) temp_filepath = 'assets/selfie-' + str(uuid.uuid4()) + '.png' img.save(temp_filepath) params = {"access_token": access_token} data = { "recipient[id]": recipient_id, "message[attachment][type]": "image", "message[attachment][payload][]": "" } items = [] for name, value in data.items(): items.append(MultipartParam(name, value)) items.append(MultipartParam.from_file("file", temp_filepath)) url = "https://graph.facebook.com/v2.6/me/messages?" + urllib.urlencode( params) datagen, headers = multipart_encode(items) request = urllib2.Request(url, datagen, headers) print "#### REQUEST" response = urllib2.urlopen(request) print response.read() os.remove(temp_filepath)
def poster_multipart(url, additionalParams, filename): # Register the streaming http handlers with urllib2 #register_openers() username = ConfigSectionMap("Mascot")['username'] password = ConfigSectionMap("Mascot")['password'] login_url = MASCOT_CGI + '/login.pl' #ConfigSectionMap("Mascot")['login_url'] #To include cookie handling #opener = register_openers() #opener.add_handler(urllib2.HTTPCookieProcessor(cookielib.CookieJar())) cookiejar = cookielib.CookieJar() loginOpener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar)) params = urllib.urlencode({ 'username': username, 'password': password, 'action': 'login' }) request = urllib2.Request(login_url, params) login = loginOpener.open(request) #print login.read() # Upload File # use the login cookie for file upload register_openers(cookiejar=cookiejar) # Start the multipart/form-data encoding of the file "DSC0001.jpg" # "image1" is the name of the parameter, which is normally set # via the "name" parameter of the HTML <input> tag. # headers contains the necessary Content-Type and Content-Length # datagen is a generator object that yields the encoded parameters items = [] #wrap post parameters for name, value in additionalParams.items(): items.append(MultipartParam(name, value)) #add file #fileobj=open(filename, "rb") #MultipartParam(name, value=None, filename=None, filetype=None, filesize=None, fileobj=None, cb=None) items.append(MultipartParam.from_file('FILE', filename)) #items.append(MultipartParam('infile', open(filename, "r"),filetype='text/plain; charset=utf8')) # Data for MS/MS ion searches must be supplied as an ASCII file #items.append(MultipartParam('FILE',fileobj ,filetype='application/octet-stream')) datagen, headers = multipart_encode(items) user_agent = 'Mozilla/5.0' headers['User-Agent'] = user_agent #headers['Content-Transfer-Encoding']= 'base64' #s = "".join(datagen) # Create the Request object #request = urllib2.Request(url, b2a_base64(s), headers) request = urllib2.Request(url, datagen, headers) #To add basic authentication to the request #auth = base64.encodestring('%s:%s' % (username, password))[:-1] # This is just standard un/pw encoding #request.add_header('Authorization', 'Basic %s' % auth ) # Add Auth header to request # Actually do the request, and get the response return urllib2.urlopen(request)
def make_request(self, path, data=None, ajax=False, debug=True): url = path if path.startswith("http") else self.url + path if ajax: url += '&ajax=true' if '?' in url else '?ajax=true' request = None if data: items = [] # wrap post parameters for name, value in data.items(): if isinstance(value, file): # add file items.append(MultipartParam.from_file(name, value.name)) else: items.append(MultipartParam(name, value)) datagen, headers = multipart_encode(items) request = urllib2.Request(url, datagen, headers) else: request = urllib2.Request(url=url) if ajax: request.add_header('X_REQUESTED_WITH', 'XMLHttpRequest') try: # return urllib2.urlopen(request) return self.opener.open(request) except urllib2.HTTPError as ex: if not debug: raise logger.error('error in request to %s' % path) logger.error(ex.reason) logger.error(ex.read()) raise
def make_request(self, path, data=None, ajax=False, debug=True): url = path if path.startswith("http") else self.url + path if ajax: url += '&ajax=true' if '?' in url else '?ajax=true' request = None if data: items = [] # wrap post parameters for name, value in data.items(): if isinstance(value, file): # add file items.append(MultipartParam.from_file(name, value.name)) else: items.append(MultipartParam(name, value)) datagen, headers = multipart_encode(items) request = urllib2.Request(url, datagen, headers) else: request = urllib2.Request(url=url) if ajax: request.add_header('X_REQUESTED_WITH', 'XMLHttpRequest') try: # return urllib2.urlopen(request) return self.opener.open(request) except urllib2.HTTPError as ex: if not debug: raise logger.info('error in request to %s' % path) logger.info(ex.reason) logger.info(ex.read()) raise
def voice(file_path, apikey): time.sleep(SLEEP_TIME) register_openers() items = [ MultipartParam('apikey', apikey), MultipartParam.from_file('wav', file_path) ] datagen, headers = multipart_encode(items) request = urllib2.Request(EMPATH_URL, datagen, headers) readObject = urllib2.urlopen(request) # type: object if readObject.getcode() != 200: print("HTTP status %d" % (readObject.getcode())) response = json.load(readObject) print(response) if response['error'] != 0: print("analyze error %d" % (response['error'])) return anger_num = response['anger'] * (MAX_RANGE // 50) print(anger_num) print(format(anger_num, 'x')) while True: if subprocess.check_call([ "gatttool", "-b", "24:0A:C4:07:84:3E", "--char-write-req", "-a", "0x002a", "-n", format(anger_num, 'x') ]) == 0: break
def do_url_request(self, api_call, multipart=False, data=None, files=[], **kwargs): """ Issues a url request. """ # Read the credentials from the config file (.transifexrc) home = os.getenv('USERPROFILE') or os.getenv('HOME') txrc = os.path.join(home, ".transifexrc") config = ConfigParser.RawConfigParser() if not os.path.exists(txrc): print "Cannot find the ~/.transifexrc!" raise ProjectNotInit() # FIXME do some checks :) config.read(txrc) username = config.get('API credentials', 'username') passwd = config.get('API credentials', 'password') token = config.get('API credentials', 'token') hostname = config.get('API credentials', 'hostname') # Create the Url kwargs['hostname'] = hostname url = API_URLS[api_call] % kwargs password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm() password_manager.add_password(None, hostname, username,passwd) auth_handler = urllib2.HTTPBasicAuthHandler(password_manager) opener = None headers = None req = None if multipart: # Register the streaming http handlers with urllib2 opener = register_openers() opener.add_handler(auth_handler) file_params = [] # iterate through 2-tuples for f in files: file_params.append(MultipartParam.from_file(f[0], f[1])) # headers contains the necessary Content-Type and Content-Length # data is a generator object that yields the encoded parameters data, headers = multipart_encode(file_params) req = urllib2.Request(url=url, data=data, headers=headers) # FIXME: This is used till we have a fix from Chris. base64string = base64.encodestring('%s:%s' % (username, passwd))[:-1] authheader = "Basic %s" % base64string req.add_header("Authorization", authheader) else: opener = urllib2.build_opener(auth_handler) urllib2.install_opener(opener) req = urllib2.Request(url=url, data=data) fh = urllib2.urlopen(req) raw = fh.read() fh.close() return raw
def test_multipart_encode_list(self): with tempfile.NamedTemporaryFile('w+b') as file: file.write(b'world') file.flush() param = MultipartParam.from_file('hello', file) self.assertIsNotNone(param) print(param)
def generate_multipart_photo(qqid, skey, full_filename, boundary): filename = os.path.split(full_filename)[-1].split(".")[0] image_param = None try: image_param = MultipartParam.from_file("filename", full_filename) except OSError, e: if e.errno == 2: log_paperboy("File not found %s" % full_filename) raise e
def submit_old(self, text="TEXT TO DELETE", tag=blinepython, file=None, file_descr="description not known", file2=None, file_descr2="description not known", file3=None, file_descr3="description not known", runnum=None): #def submit(self,text="TEXT TO DELETE",tag="sxrpython",file=None,file_descr="description not known",file2=None,file_descr2="description not known",file3=None,file_descr3="description not known"): exper_id = self.logbook_experiments[self.experiment]['id'] url = ws_url + '/LogBook/iNewFFEntry4grabberJSON.php' if (file is None): data = (('author_account', logbook_author), ('id', exper_id), ('message_text', text), ('scope', 'experiment'), ('num_tags', '1'), ('tag_name_0', blinepython), ('tag_value_0', tag)) elif (file2 is None): data = (('author_account', logbook_author), ('id', exper_id), ('message_text', text), ('scope', 'experiment'), ('num_tags', '1'), ('tag_name_0', blinepython), ('tag_value_0', tag), MultipartParam.from_file("file1", file), ("file1", file_descr)) elif (file3 is None): data = (('author_account', logbook_author), ('id', exper_id), ('message_text', text), ('scope', 'experiment'), ('num_tags', '1'), ('tag_name_0', blinepython), ('tag_value_0', tag), MultipartParam.from_file("file1", file), ("file1", file_descr), MultipartParam.from_file("file2", file2), ("file2", file_descr2)) else: data = (('author_account', logbook_author), ('id', exper_id), ('message_text', text), ('scope', 'experiment'), ('num_tags', '1'), ('tag_name_0', blinepython), ('tag_value_0', tag), MultipartParam.from_file("file1", file), ("file1", file_descr), MultipartParam.from_file("file2", file2), ("file2", file_descr2), MultipartParam.from_file("file3", file3), ("file3", file_descr3)) datagen, headers = multipart_encode(data) try: req = urllib2.Request(url, datagen, headers) response = urllib2.urlopen(req) the_page = response.read() result = simplejson.loads(the_page) if result['status'] != 'success': tkMessageBox.showerror("Error", result['message']) new_message_id = int(result['message_id']) except urllib2.URLError, reason: tkMessageBox.showerror("Submit New Message Error", reason)
def submit(outputfile): items = [] items.append(MultipartParam('logtype', 'Detailed')) items.append(MultipartParam('hwid', 'HW4')) items.append(MultipartParam.from_file('infile', trecEvalOutputPathFolder + outputfile)) datagen, headers = multipart_encode(items) base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '') headers['Authorization'] = "Basic %s" % base64string request = urllib2.Request(url, datagen, headers) result = urllib2.urlopen(request) t = result.read() map_all, P10, P20, P30, win, loss, mapdict = findMAP(t) return map_all, P10, P20, P30, win, loss
def send_request(url, params=None, files=None, method=None): """ Send a request to the SARA Life Science Grid Portal, using the provided arguments. Returns text content. @param url: url to request / submit to @param params: dictionary of parameters that should be POSTed to the url (optional) @param files: dictionary of files that should be POSTed to the url (optional) @param method: string HTTP method (optional: POST when params of files are provided, GET otherwise) """ #Encode data data = None headers = {} multipart_params = [] if params: for key, value in params.iteritems(): multipart_params.append(MultipartParam(key, value)) if files: for key, value in files.iteritems(): multipart_params.append(MultipartParam.from_file(key, value)) if multipart_params: data, headers = multipart_encode(multipart_params) #Create request headers.update(Accept='text/plain') request = urllib2.Request(url=url, headers=headers, data=data) # Set method, which could be DELETE if method: request.get_method = lambda: method # Add authentication, explicitly not using the urllib2.HTTPBasicAuthHandler, as it caused frequent failures if 'lsg_username' not in os.environ or 'lsg_password' not in os.environ: _load_lsg_credentials() base64string = base64.encodestring(os.environ['lsg_username'] + ':' + os.environ['lsg_password']).replace( '\n', '') request.add_header("Authorization", "Basic %s" % base64string) #Send request over opener and retrieve response try: response = URLLIB2_OPENER.open(request, timeout=180) except urllib2.HTTPError as err: print url print err for key in sorted(err.hdrs.keys()): print key, err.hdrs[key] raise err #Retrieve content = response.read() response.close() return content
def send_request(url, params=None, files=None, method=None): """ Send a request to the SARA Life Science Grid Portal, using the provided arguments. Returns text content. @param url: url to request / submit to @param params: dictionary of parameters that should be POSTed to the url (optional) @param files: dictionary of files that should be POSTed to the url (optional) @param method: string HTTP method (optional: POST when params of files are provided, GET otherwise) """ #Encode data data = None headers = {} multipart_params = [] if params: for key, value in params.iteritems(): multipart_params.append(MultipartParam(key, value)) if files: for key, value in files.iteritems(): multipart_params.append(MultipartParam.from_file(key, value)) if multipart_params: data, headers = multipart_encode(multipart_params) #Create request headers.update(Accept='text/plain') request = urllib2.Request(url=url, headers=headers, data=data) # Set method, which could be DELETE if method: request.get_method = lambda: method # Add authentication, explicitly not using the urllib2.HTTPBasicAuthHandler, as it caused frequent failures if 'lsg_username' not in os.environ or 'lsg_password' not in os.environ: _load_lsg_credentials() base64string = base64.encodestring(os.environ['lsg_username'] + ':' + os.environ['lsg_password']).replace('\n', '') request.add_header("Authorization", "Basic %s" % base64string) #Send request over opener and retrieve response try: response = URLLIB2_OPENER.open(request, timeout=180) except urllib2.HTTPError as err: print url print err for key in sorted(err.hdrs.keys()): print key, err.hdrs[key] raise err #Retrieve content = response.read() response.close() return content
def sendPhoto( chatid, photofilename ): try: items = [] items.append(MultipartParam('chat_id', chatid)) items.append(MultipartParam.from_file('photo', photofilename)) datagen, headers = multipart_encode(items) req = Request('https://api.telegram.org/{bot}:{api key}/sendPhoto', datagen, headers) print req rsp = urlopen(req) print rsp except Exception, e: print 'send photo error' print e print URLError
def voice_rgb(file_path, apikey): time.sleep(SLEEP_TIME) register_openers() items = [ MultipartParam('apikey', apikey), MultipartParam.from_file('wav', file_path) ] datagen, headers = multipart_encode(items) request = urllib2.Request(EMPATH_URL, datagen, headers) readObject = urllib2.urlopen(request) # type: object if readObject.getcode() != 200: print("HTTP status %d" % (readObject.getcode())) response = json.load(readObject) print(response) if response['error'] != 0: print("analyze error %d" % (response['error'])) return list = [('anger', response['anger']), ('joy', response['joy']), ('sorrow', response['sorrow']), ('calm', response['calm'])] max_num = max(list, key=max_func) if max_num[0] == 'calm': rgb = int('ffffff', 16) else: red = (response['anger'] + response['energy'] / 2) * (MAX_RANGE // 50) if red > 255: red = 255 green = (response['joy'] + response['energy'] / 2) * (MAX_RANGE // 50) if green > 255: green = 255 blue = (response['sorrow'] + response['energy'] / 2) * (MAX_RANGE // 50) if blue > 255: blue = 255 rgb = (red << 16) + (green << 8) + blue print("rgb=", rgb) while True: if subprocess.check_call([ "gatttool", "-b", "24:0A:C4:07:84:3E", "--char-write-req", "-a", "0x002a", "-n", format(rgb, 'x') ]) == 0: break
def postFileRequest(url, paramName, fileObj, additionalHeaders={}, additionalParams={}): items = [] # wrap post parameters for name, value in additionalParams.items(): items.append(MultipartParam(name, value)) # add file items.append(MultipartParam.from_file(paramName, fileObj)) datagen, headers = multipart_encode(items) # add headers for item, value in additionalHeaders.iteritems(): headers[item] = value return urllib2.Request(url, datagen, headers)
def voice(file_path, apikey): time.sleep(5) url = "https://api.webempath.net/v2/analyzeWav" register_openers() items = [MultipartParam('apikey', apikey), MultipartParam.from_file('wav', file_path)] datagen, headers = multipart_encode(items) request = urllib2.Request(url, datagen, headers) readObject = urllib2.urlopen(request) # type: object if readObject.getcode() != 200: print("HTTP status %d" % (readObject.getcode())) response = json.load(readObject) print(response) if response["error"] > 0: print(response["error"])
def _fill_buffer(self, in_data, frame_count, time_info, status_flags): """Continuously collect data from the audio stream, into the buffer.""" ###print "check" wf = wave.open("part.wav", 'wb') wf.setnchannels(CHANNELS) wf.setsampwidth(self._audio_interface.get_sample_size(FORMAT)) wf.setframerate(RATE) wf.writeframes(in_data) wf.close() items.append(MultipartParam.from_file('wav', 'part.wav')) datagen, headers = multipart_encode(items) request = urllib2.Request(url, datagen, headers) response = urllib2.urlopen(request) if response.getcode() == 200: print(response.read()) else: print("HTTP status %d" % (response.getcode())) self._buff.put(in_data) return None, pyaudio.paContinue
def empath_call(sample_size, in_data): wf = wave.open("part.wav", 'wb') wf.setnchannels(CHANNELS) wf.setsampwidth(sample_size) wf.setframerate(RATE) wf.writeframes(in_data) wf.close() items.append(MultipartParam.from_file('wav', 'part.wav')) datagen, headers = multipart_encode(items) #print "dummy" #""" request = urllib2.Request(url, datagen, headers) response = urllib2.urlopen(request) if response.getcode() == 200: print "" print(response.read()) print "" else: print("HTTP status %d" % (response.getcode()))
import poster from poster.encode import multipart_encode, MultipartParam from poster.streaminghttp import register_openers import urllib2 import uuid # Register the streaming http handlers with urllib2 register_openers() # Start the multipart/form-data encoding of the file "DSC0001.jpg" # "image1" is the name of the parameter, which is normally set # via the "name" parameter of the HTML <input> tag. # headers contains the necessary Content-Type and Content-Length # datagen is a generator object that yields the encoded parameters file = MultipartParam.from_file("file1", "test.tlog") file.filetype = 'application/vnd.mavlink.tlog' params = { #'tlog1.tlog': file, # the name doesn't matter if the content type is correct #'tlog1.tlog': open("mav.tlog", "rb"), 'autoCreate': 'true', 'login': '******', 'password': '******', 'email': '*****@*****.**', 'fullName': 'Bob Bumblesticks', 'api_key': 'APPID.DEVKEY' # DONT FORGET YOUR KEY } datagen, headers = poster.encode.multipart_encode(MultipartParam.from_params(params) + [file]) # Create the Request object
def make_request(self, path, data=None, ajax=False, debug=True, force_login=False): url = path if path.startswith("http") else self.url + path if ajax: url += '&force_ajax=true' if '?' in url else '?force_ajax=true' request = None # Create a fake request to store login details. _request = None _session_id = None if force_login: session_cookie = settings.SESSION_COOKIE_NAME for cookie in self.cookies.cookiejar: if cookie.name == session_cookie: _session_id = cookie.value self.response_cookies += "; %s=%s" % (session_cookie, _session_id) # _request = self.force_login(self.u) # # Save the session values. # _request.session.save() # logger.info(_request.session) # # Set the cookie to represent the session. # logger.info(" -- session %s == %s " % (cookie.value, _request.session.session_key)) # cookie.value = _request.session.session_key # cookie.expires = None # self.cookies.cookiejar.set_cookie(cookie) if data: items = [] # wrap post parameters for name, value in data.items(): if isinstance(value, file): # add file items.append(MultipartParam.from_file(name, value.name)) else: if name == 'csrfmiddlewaretoken' and _request and _request.META['CSRF_COOKIE']: value = _request.META['CSRF_COOKIE'] self.csrf_token = value for cookie in self.cookies.cookiejar: if cookie.name == 'csrftoken': cookie.value = value self.cookies.cookiejar.set_cookie(cookie) items.append(MultipartParam(name, value)) logger.debug(" MultipartParam: %s / %s: " % (name, value)) datagen, headers = multipart_encode(items) request = urllib2.Request(url, datagen, headers) else: request = urllib2.Request(url=url) if self.csrf_token: request.add_header('X-CSRFToken', self.csrf_token) if self.response_cookies: request.add_header('cookie', self.response_cookies) if ajax: request.add_header('X_REQUESTED_WITH', 'XMLHttpRequest') try: return self.opener.open(request) except urllib2.HTTPError as ex: if not debug: raise logger.error('error in request to %s' % path) logger.error(ex.reason) logger.error(ex.read()) raise
writeWav("001_down.wav", downData, downFs) # 分割 # 一応既に同じ名前のディレクトリがないか確認。 file = os.path.exists("001_bunkatsu") # print(file) if file == False: # 保存先のディレクトリの作成 os.mkdir("001_bunkatsu") # 5秒で分割 num_cut = cut_wav("001_down.wav", 5) for i in range(num_cut): print "n=", i url = "https://api.webempath.net/v2/analyzeWav" register_openers() items = [] items.append( MultipartParam('apikey', "CNqfAmuTAA914F_p9ayy50PoBnMm3eMVRuULz6HRoG8")) items.append( MultipartParam.from_file('wav', '001_bunkatsu/' + str(i) + '.wav')) datagen, headers = multipart_encode(items) request = urllib2.Request(url, datagen, headers) response = urllib2.urlopen(request) if response.getcode() == 200: print(response.read()) else: print("HTTP status %d" % (response.getcode())) i = i + 1
from poster.encode import multipart_encode, MultipartParam from poster.streaminghttp import register_openers import urllib2 url = "https://api.webempath.net/v2/analyzeWav" register_openers() items = [] items.append( MultipartParam('apikey', "esGUIKDDbUTK3F550ftJigAzhpFMsEHqlytxKOYT0aI")) items.append(MultipartParam.from_file('wav', 'result.wav')) datagen, headers = multipart_encode(items) request = urllib2.Request(url, datagen, headers) response = urllib2.urlopen(request) if response.getcode() == 200: print(response.read()) else: print("HTTP status %d" % (response.getcode()))
from poster.encode import multipart_encode, MultipartParam from poster.streaminghttp import register_openers import urllib2 url = "https://api.webempath.net/v2/analyzeWav" register_openers() items = [] items.append( MultipartParam('apikey', "pRRD0_BLi6LtsfC92TyLtBOcwsuYyWMWnHXg6QGBXDY")) items.append(MultipartParam.from_file('wav', "./sample.wav")) datagen, headers = multipart_encode(items) request = urllib2.Request(url, datagen, headers) response = urllib2.urlopen(request) if response.getcode() == 200: print(response.read()) else: print("HTTP status %d" % (response.getcode()))
def submit_msg_to_elog(ws_url, usr, ins, sta, exp, cmd, logbook_experiments, lst_tag=[''], run='', msg_id='', msg='', lst_descr=[''], lst_fname=['']): exper_id = logbook_experiments[exp]['id'] url = ws_url + '/LogBook/NewFFEntry4grabberJSON.php' child_output = '' if cmd is not None: child_output = os.popen(cmd).read() if (run != '') and (msg_id != ''): print 'run', run print 'message_id', msg_id msg = "\nInconsistent input:" \ + "\nRun number can't be used togher with the parent message ID." \ + "\nChoose the right context to post the screenshot and try again." print msg return params = [('author_account', usr), ('id', exper_id), ('message_text', msg), ('text4child', child_output)] #('instrument' , ins), #('experiment' , exp), if run != '': params.append(('scope', 'run')) params.append(('run_num', run)) elif msg_id != '': params.append(('scope', 'message')) params.append(('message_id', msg_id)) else: params.append(('scope', 'experiment')) if lst_tag != ['']: params.append(('num_tags', str(len(lst_tag)))) for i, tag in enumerate(lst_tag): s = '%d' % (i) params.append(('tag_name_' + s, tag)) params.append(('tag_value_' + s, '')) if lst_fname != ['']: for i, (fname, descr) in enumerate(zip(lst_fname, lst_descr)): s = '%d' % (i + 1) params.append(MultipartParam.from_file('file' + s, fname)) params.append(('file' + s, descr)) #!!!!!!!!!!!!!!!!!!!!!!! # print 'params:', params # return {'status': 'error', 'message': 'Bad Error message'} # return {'status': 'success', 'message_id': '123456'} #!!!!!!!!!!!!!!!!!!!!!!! datagen, headers = multipart_encode(params) try: #print 'Try to submit message: \nurl: ', url, '\ndatagen:', datagen, '\nheaders:' , headers req = urllib2.Request(url, datagen, headers) response = urllib2.urlopen(req) the_page = response.read() result = simplejson.loads(the_page) #print 'result:', result #NORMAL: result: {'status': 'success', 'message_id': '125263'} #ERROR: result: {'status': 'error', 'message': 'Run number 285 has not been found. Allowed range of runs is: 2..826.'} if result['status'] == 'success': print 'New message ID:', result['message_id'] #else : # print 'Error:', result['message'] return result except urllib2.URLError, reason: msg = 'Submit New Message Error ' + str(reason) #print msg return {'status': 'error', 'message': msg}
import poster from poster.encode import multipart_encode, MultipartParam from poster.streaminghttp import register_openers import urllib2 import uuid # Register the streaming http handlers with urllib2 register_openers() # Start the multipart/form-data encoding of the file "DSC0001.jpg" # "image1" is the name of the parameter, which is normally set # via the "name" parameter of the HTML <input> tag. # headers contains the necessary Content-Type and Content-Length # datagen is a generator object that yields the encoded parameters file = MultipartParam.from_file("file1", "test.tlog") file.filetype = 'application/vnd.mavlink.tlog' params = { #'tlog1.tlog': file, # the name doesn't matter if the content type is correct #'tlog1.tlog': open("mav.tlog", "rb"), 'autoCreate': 'true', 'login': '******', 'password': '******', 'email': '*****@*****.**', 'fullName': 'Bob Bumblesticks', 'api_key': 'APPID.DEVKEY' # DONT FORGET YOUR KEY } datagen, headers = poster.encode.multipart_encode( MultipartParam.from_params(params) + [file]) # Create the Request object
def get_batch_request(): batch_request_file = open("batch_request/batch_request.xml") batch_request = batch_request_file.read() batch_request = batch_request.replace("{{filename}}", "Request.csv") batch_request = batch_request.replace("{{application_batch_id}}", get_next_batch_id()) batch_request = batch_request.replace("{{message_timestamp}}", datetime.datetime.now().isoformat() + "Z") username = '******' password = '******' url = "https://maxcvservices.dnb.com:8443/V2.0/Batches" token = get_auth_token(username, password) # Register the streaming http handlers with urllib2 register_openers() # Start the multipart/form-data encoding of the file "DSC0001.jpg" # "image1" is the name of the parameter, which is normally set # via the "name" parameter of the HTML <input> tag. request_param = MultipartParam.from_params({'request' : }) # headers contains the necessary Content-Type and Content-Length # datagen is a generator object that yields the encoded parameters datagen, headers = MultipartParam.from_file({"image1": open("DSC0001.jpg", "rb")}) # Create the Request object request = urllib2.Request("http://localhost:5000/upload_image", datagen, headers) # Actually do the request, and get the response print urllib2.urlopen(request).read()
def submit_msg_to_elog(ws_url, usr, ins, sta, exp, cmd, logbook_experiments, lst_tag=[''], run='', msg_id='', msg='', lst_descr=[''], lst_fname=['']): exper_id = logbook_experiments[exp]['id'] url = ws_url+'/LogBook/NewFFEntry4grabberJSON.php' child_output = '' if cmd is not None: child_output = os.popen(cmd).read() if (run != '') and (msg_id != '') : print 'run', run print 'message_id', msg_id msg = "\nInconsistent input:" \ + "\nRun number can't be used togher with the parent message ID." \ + "\nChoose the right context to post the screenshot and try again." print msg return params = [ ('author_account', usr), ('id' , exper_id), ('message_text' , msg), ('text4child' , child_output) ] #('instrument' , ins), #('experiment' , exp), if run != '' : params.append(('scope', 'run')) params.append(('run_num', run)) elif msg_id != '' : params.append(('scope', 'message')) params.append(('message_id', msg_id)) else: params.append(('scope', 'experiment')) if lst_tag !=[''] : params.append(('num_tags' , str(len(lst_tag)))) for i,tag in enumerate(lst_tag) : s = '%d' % (i) params.append(('tag_name_' + s , tag)) params.append(('tag_value_' + s , '')) if lst_fname != [''] : for i,(fname, descr) in enumerate( zip(lst_fname, lst_descr) ) : s = '%d' % (i+1) params.append(MultipartParam.from_file('file' + s, fname)) params.append(('file' + s, descr)) #!!!!!!!!!!!!!!!!!!!!!!! # print 'params:', params # return {'status': 'error', 'message': 'Bad Error message'} # return {'status': 'success', 'message_id': '123456'} #!!!!!!!!!!!!!!!!!!!!!!! datagen,headers = multipart_encode(params) try: #print 'Try to submit message: \nurl: ', url, '\ndatagen:', datagen, '\nheaders:' , headers req = urllib2.Request(url, datagen, headers) response = urllib2.urlopen(req) the_page = response.read() result = simplejson.loads(the_page) #print 'result:', result #NORMAL: result: {'status': 'success', 'message_id': '125263'} #ERROR: result: {'status': 'error', 'message': 'Run number 285 has not been found. Allowed range of runs is: 2..826.'} if result['status'] == 'success': print 'New message ID:', result['message_id'] #else : # print 'Error:', result['message'] return result except urllib2.URLError, reason: msg = 'Submit New Message Error ' + str(reason) #print msg return {'status': 'error', 'message': msg}
from poster.encode import multipart_encode, MultipartParam from poster.streaminghttp import register_openers import urllib2 url="https://api.webempath.net/v2/analyzeWav" register_openers() items = [] items.append(MultipartParam('apikey', "sEYnCj27dk2RE_SUF-UDJwqfAbOsphqjDd9nr8XJLvE")) items.append(MultipartParam.from_file('wav', "voice2.wav")) datagen, headers = multipart_encode(items) request = urllib2.Request(url, datagen, headers) response = urllib2.urlopen(request) if response.getcode() == 200: print(response.read()) else: print("HTTP status %d" % (response.getcode()))
from poster.encode import multipart_encode, MultipartParam from poster.streaminghttp import register_openers import urllib2 url = "https://api.webempath.net/v2/analyzeWav" register_openers() items = [] items.append( MultipartParam('apikey', "jZNehSahdorqYqYUSPg8HYaI9fTHdl1SRvQoglcHQV8")) items.append(MultipartParam.from_file('wav', "recoding4.wav")) datagen, headers = multipart_encode(items) request = urllib2.Request(url, datagen, headers) response = urllib2.urlopen(request) if response.getcode() == 200: print(response.read()) else: print("HTTP status %d" % (response.getcode()))
try: localFile = open(package_filename, "wb") localFile.write(data) localFile.close() except Exception, e: print ("failed to create local file, " + str(e)) sys.exit(1) # # upload package file onto TOT # register_openers() # datagen, headers = multipart_encode( { 'file' : open( ipa_filename, 'rb' ), 'changelog' : build_name + '.' + str( build_number ), 'submit' : 'Submit' } ) ipa = MultipartParam.from_file("file", package_filename) ipa.filetype = "application/octet-stream" changelog = MultipartParam("changelog", str(build_number)) submit = MultipartParam("submit", "Submit") datagen, headers = multipart_encode([ipa, changelog, submit]) request = urllib2.Request(config["tot_url"] + "/upload.php", datagen, headers) print urllib2.urlopen(request).read() # delete the package os.remove(package_filename) # # save the current build number #