Skip to content

Instantly share code, notes, and snippets.

@icehongssii
Last active May 29, 2018 13:36
Show Gist options
  • Save icehongssii/79ad5a2a8777cfe85b8f14fffcc04950 to your computer and use it in GitHub Desktop.
Save icehongssii/79ad5a2a8777cfe85b8f14fffcc04950 to your computer and use it in GitHub Desktop.
import json
import requests
import db_query_frames
import time
class InfluxHandler(object):
def __init__(self, _db_name = None, _host_frame = db_query_frames.WRITE_HOST):
self.db_host = _host_frame.format(database_name = _db_name)
self.db_name = _db_name
self._session = requests.Session()
adapter = requests.adapters.HTTPAdapter(
pool_connections=int(db_query_frames.pool_size),
pool_maxsize=int(db_query_frames.pool_size)
)
def _request(self,url,method='GET',data={},headers = db_query_frames.headers,params=None):
if params is None: params = {}
resp = self._session.request(url=url, method=method, data=data, headers=headers, params=None)
print resp.status_code
#TODO to make raw qurey
def query_making(self, query):
if param is None:
print query
#TODO
def create_database(self, dbname):
self.query_making("CREATE DATABASE {0}".format(dbname))
def write_point(self,data = {}):
data = self.generateTagsForDatabaseFromDict(data)
self._request(url=self.db_host,method="POST",data = data)
def generateTagsForDatabaseFromDict(self, _elements):
print _elements["time"]
medium_frame = ""
frame = "%s=%s"
for _key in _elements:
if _key == "tags":
tag_frame = []
for _elem_key in _elements[_key]:
#_elem_key
tag_frame.append(frame % (_elem_key,str(_elements[_key][_elem_key])))
tag_frame = ",".join(tag_frame)
if _key == "fields":
field_frame = []
for _elem_key in _elements[_key]:
field_frame.append(frame % (_elem_key, str(_elements[_key][_elem_key])))
field_frame = ",".join(field_frame)
return db_query_frames.WRITE_DATA.format(measurement = _elements["measurement"],
tags = tag_frame,
fields=field_frame,
timestamp = _elements["time"])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment