default=61000, ) parser.add_argument( "--gpg-key", help="GnuPG Key id", ) parser.add_argument( "ifname", ) parser.add_argument( "file", type=argparse.FileType("r"), ) args = parser.parse_args() sensorSock = SensorSocketEthernet(args.ifname, args.port, args.no_ip) sensorXML = SensorXML(args.schema) sensorXML.parse(args.file.read()) sensorGPG = None dataStr = None if args.gpg_key is not None: gpg = SensorGnuPG(args.gpg_key) sensorLAN = SensorLAN(sensorSock, sensorXML, sensorGPG) sensorLAN.send()
while True: (readData, fromAddr) = sock.recvfrom(4092) signed = gpg.isSigned(readData) valid = False if signed: data = gpg.verify(readData) else: data = readData if data is not None: valid = True try: pprint.pprint(xml.parse(data)) if signed and not valid: print "Data is invalid signed" elif not signed: print "Data wasn't signed" except: valid = False print "Read %d from %s, %d" % (len(readData), fromAddr[0], fromAddr[1]) if not valid: print "Data wasn't valid" if gpg is not None and gpg.keyMissing: print "Key is missing"
#args.table = res["tableId"] print u"Create fusion table:" print u" - (id STRING, name STRING, time DATETIME, value NUMBER)" print u" - share it with this email %s" % key["client_email"] sys.exit() elif args.table.startswith("delete-"): print u"Deleting table", args.table[7:] print fusiontables.table().delete(tableId=args.table[7:]).execute() sys.exit() if args.input is None: sys.exit() xml = SensorXML() d = xml.parse(args.input.read()) time = datetime.now().strftime("%Y-%m-%d %H:%M:%S") query = u"" for s in d["Sensors"]: query += u"INSERT INTO %s (id, name, time, value) VALUES ('%s', '%s', '%s', '%s');" % ( args.table, s["id"], s["name"], time, s["value"], ) print fusiontables.query().sql(sql=query).execute()
#!/usr/bin/python # vi: et sw=2 fileencoding=utf8 # import argparse from SensorLAN import SensorXML parser = argparse.ArgumentParser() parser.add_argument( "--schema", help="SensorLAN xsd schema", ) parser.add_argument( "file", type=argparse.FileType("rb"), ) args = parser.parse_args() xml = SensorXML(args.schema) xml.parse(args.file.read()) print "Valid"