# Modul: testRequests
# Date: 03.07.2015
# Author: dtonal - Torben Mueller <*****@*****.**>
# Summary: Modul to do first request testing.
import apiRequests
import utils

import requests
import json
import doctest

utils.loggingMode = 3

try:
    utils.logMessage("Testing detail request for gasstation with fix id")
    jsonData = apiRequests.detailRequest(
        "8f9a684e-975d-4856-9eb9-9cc14d241b7b")
    print(type(jsonData))
    utils.logMessage("Requesting details finished.")
    if jsonData is None:
        utils.logMessage("Error while requesting details.")
    else:
        utils.logMessage("Requesting details succeded.")
        utils.logRequestResponse(jsonData)

    utils.logMessage("Testing list request for gasstation with fix parameters")
    jsonData = apiRequests.listRequest("53.223546", "10.169761", "10", "price",
                                       "diesel")
    utils.logMessage("Requesting list finished.")
    if jsonData is None:
        utils.logMessage("Error while requesting list.")
    else:
import utils

import requests
import json
import doctest

from influxdb import InfluxDBClient

utils.loggingMode = 3
client = InfluxDBClient("10.0.0.21", 8086, "", "", "consumption")

with open('tankstellen.conf', 'r') as stations:
    for station in stations:
        try:
            #utils.logMessage("Fetching station")
            jsonData = apiRequests.detailRequest(station.rstrip())
            if jsonData is None:
                utils.logMessage("Error while requesting details.")
            else:
                #utils.logMessage("Requesting details succeded.")
                with open('sorten.conf', 'r') as sorten:
                    json_body = [{
                        "measurement": "spritpreise",
                        "tags": {
                            "tankstelle": station.rstrip()
                        },
                        "fields": {}
                    }]
                    for sorte in sorten:
                        if sorte.rstrip() in jsonData["station"]:
                            json_body[0]['fields'].update({
예제 #3
0
if __name__ == "__main__":
    logger = logging.getLogger('miner')
    logger.info("Start mining")
    logger.info("Establishing DB connection")
    dbHandle = connectDb.connect()
    if dbHandle is None:
        logger.critical("Cannot connect to db, exiting")
        sys.exit("Cannot connect to db.")
    logger.info("Connect DB - getting handle successfully")
    try:
        #Getting a list of all stations in in the db
        stations= dbHandle.stations.find()
        for i in stations:
            #iterate trough all stations and do a detailRequest
            logger.info("Getting details for stationId = " + i["_id"])
            detailRequestResult = apiRequests.detailRequest(i["_id"])
            if detailRequestResult is not None:
                #build and add generally data to filtered result dict
                filteredResult = dict()
                filteredResult["dateTime"] = datetime.datetime.now()
                filteredResult["stationId"] = i["_id"]
                if "diesel" in detailRequestResult["station"]:
                    #create a diesel price document
                    filteredResult["price"] =  detailRequestResult["station"]["diesel"]
                    dbHandle.dieselPrices.insert_one(filteredResult)
                    logger.info("diesel added")
                if "e5" in detailRequestResult["station"]:
                    #reuse diesel price document for e5 doc
                    filteredResult["price"] =  detailRequestResult["station"]["e5"]
                    dbHandle.e5Prices.insert_one(filteredResult)
                    logger.info("e5 added")
예제 #4
0
# Modul: testRequests
# Date: 03.07.2015
# Author: dtonal - Torben Mueller <*****@*****.**>
# Summary: Modul to do first request testing.
import apiRequests
import utils

import requests
import json
import doctest

utils.loggingMode=3

try:
    utils.logMessage("Testing detail request for gasstation with fix id")
    jsonData=apiRequests.detailRequest("8f9a684e-975d-4856-9eb9-9cc14d241b7b")
    print(type(jsonData))
    utils.logMessage("Requesting details finished.")
    if jsonData is None:
        utils.logMessage("Error while requesting details.")
    else:
        utils.logMessage("Requesting details succeded.")
        utils.logRequestResponse(jsonData)
        
    utils.logMessage("Testing list request for gasstation with fix parameters")
    jsonData=apiRequests.listRequest("53.223546", "10.169761", "10", "price", "diesel")
    utils.logMessage("Requesting list finished.")
    if jsonData is None:
        utils.logMessage("Error while requesting list.")
    else:
        utils.logMessage("Requesting list succeded.")
예제 #5
0
if __name__ == "__main__":
    logger = logging.getLogger('miner')
    logger.info("Start mining")
    logger.info("Establishing DB connection")
    dbHandle = connectDb.connect()
    if dbHandle is None:
        logger.critical("Cannot connect to db, exiting")
        sys.exit("Cannot connect to db.")
    logger.info("Connect DB - getting handle successfully")
    try:
        #Getting a list of all stations in in the db
        stations = dbHandle.stations.find()
        for i in stations:
            #iterate trough all stations and do a detailRequest
            logger.info("Getting details for stationId = " + i["_id"])
            detailRequestResult = apiRequests.detailRequest(i["_id"])
            if detailRequestResult is not None:
                #build and add generally data to filtered result dict
                filteredResult = dict()
                filteredResult["dateTime"] = datetime.datetime.now()
                filteredResult["stationId"] = i["_id"]
                if "diesel" in detailRequestResult["station"]:
                    #create a diesel price document
                    filteredResult["price"] = detailRequestResult["station"][
                        "diesel"]
                    dbHandle.dieselPrices.insert_one(filteredResult)
                    logger.info("diesel added")
                if "e5" in detailRequestResult["station"]:
                    #reuse diesel price document for e5 doc
                    filteredResult["price"] = detailRequestResult["station"][
                        "e5"]