I am posting some dictionarty data to Web2py,  Certain data POSTS 
consistently succeed, and certain data POSTS consistently fail.  Both 
return <Response 200>, but the second data dictionary fails to post, with 
no error / exception raised.

This data consistently succeeds to POST:

data = {"batt chrg": {
            "dat": "-999%",
            "measurement": "percent",
            "unit": "electric",
            "entrytype": "subunitStatus"
            },
         "pv gen": {
             "dat": "-999 W",
             "measurement": "level",
             "unit": "electric",
             "entrytype": "subunitStatus"
             }
         }

This data (longer dictionary) consistently Fails to POST:

data = {"download": {
            "entrytype": "subunitStatus",
            "dat": "9 Mbit/s",
            "measurement": "level",
            "unit": "comms"},
        "batt chrg": {
            "entrytype": "subunitStatus",
            "dat": "94.4%",
            "measurement": "percent",
            "unit": "electric"},
         "pv gen": {
             "entrytype": "subunitStatus",
             "dat": "543 W",
             "measurement": "level",
             "unit": "electric"},
         "living space": {
             "entrytype": "subunitStatus",
             "dat": "72 F",
             "measurement": "level",
             "unit": "hvac"},
         "ping": {
             "entrytype": "subunitStatus",
             "dat": "60 ms",
             "measurement": "level",
             "unit": "comms"},
         "invert load": {
             "entrytype": "subunitStatus",
             "dat": "402 W",
             "measurement": "level",
             "unit": "electric"},
         "humidity": {
             "entrytype": "subunitStatus",
             "dat": "45%",
             "measurement": "level",
             "unit": "hvac"},
         "upload": {
             "entrytype": "subunitStatus",
             "dat": "8 Mbit/s",
             "measurement": "level",
             "unit": "comms"
             }
         }

Client-side python code:

import requests
from requests.auth import HTTPBasicAuth
from datetime import datetime
import json

auth=HTTPBasicAuth('LoginID', 'Password')
unitid = '19700111'
uploaded = 'no'
data = {
    'unitid': unitid,
    'uploaded': uploaded,
    'time_stamp': str(datetime.now()),
    'data_list': json.dumps(data),
    }

rq = requests.post(
"https://XXXXX.pythonanywhere.com/XXX/default/api/packed_data.json";,
data=data,
auth=auth,
headers={'Connection':'close'}
)

Here is the (standard) server-side Web2py code:
def api():  
    response.view = 'generic.'+request.extension
    def GET(*args,**vars):
        patterns = 'auto'
        parser = db.parse_as_rest(patterns,args,vars)
        if parser.status == 200:
            return dict(content=parser.response)
        else:
            raise HTTP(parser.status,parser.error)
    def POST(table_name,**vars):
        return db[table_name].validate_and_insert(**vars)
    def PUT(table_name,record_id,**vars):
        return db(db[table_name]._id==record_id).update(**vars)
    def DELETE(table_name,record_id):
        return db(db[table_name]._id==record_id).delete()
    return dict(GET=GET, POST=POST, PUT=PUT, DELETE=DELETE)

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/web2py/0a418b46-5385-4124-a280-fda439da717e%40googlegroups.com.

Reply via email to