2019년 3월 9일 ( 주말 프로젝트 )
언어/python2019. 3. 9. 16:16
import requests
import yaml
class Attr:
@classmethod
def setting(cls):
try:
f = open(Attr.ymlFilePath(), "r", encoding="utf-8")
doc = dict(yaml.load(f))
except FileNotFoundError as e:
print (e)
exit(1)
else:
Attr.urlRequests(dict(doc.get("srv")))
return dict(doc.get("srv"))
@classmethod
def urlRequests(cls, srv):
try:
requests.get("http://{address}:{port}".format(address= srv.get("url"), port= srv.get("port")))
except requests.exceptions.ConnectionError as e:
print(e)
exit(1)
except requests.exceptions.RequestException as e:
print(e)
exit(1)
@classmethod
def ymlFilePath(cls):
filePath = "C:\\Users\\junhyeon.kim\\Desktop\\proj19\\configration\\srv.yml"
return filePath
from elasticsearch import Elasticsearch
from elasticsearch_dsl import Search
from elasticserver.Attribute import Attr
from requests import get
import os
import json
import pprint
class Elasvr:
attr = Attr.setting()
def __init__(self):
self.elasticSrvr = Elasticsearch(
hosts=[{"host":Elasvr.attr.get("url"),
"port":Elasvr.attr.get("port")}]
)
def srvHealthCheck(self):
srvInfo = dict(self.elasticSrvr.info())
health_check = dict(self.elasticSrvr.cluster.health())
result = json.dumps(
{
"name": srvInfo.get("name"),
"cluster_name": health_check.get("cluster_name"),
"status": health_check.get("status")
},
ensure_ascii=False,
indent=4
)
print (result)
def search(self, param_index, param_search):
srv = Search(using= self.elasticSrvr,
index= param_index).query("match", name=param_search)
#response = srv.execute().to_dict()["hits"]["hits"][0]
response = srv.execute().to_dict()["hits"]["hits"]
if response == []:
return response
else:
'''
_index, _type, _id, _score, _source
'''
print (response[0]["_source"])
return response[0]["_source"]
def __del__(self):
self.elasticSrvr.exists
def main():
enode = Elasvr()
enode.srvHealthCheck()
enode.search(param_index="hex_color_list", param_search="b")
if __name__ == "__main__":
main()
'언어 > python' 카테고리의 다른 글
python + outlook (0) | 2019.03.31 |
---|---|
selenium_ (0) | 2019.03.11 |
data crawling (0) | 2019.03.03 |
python + 지하철 + 이미지 (0) | 2019.02.24 |
pysimplegui (0) | 2019.02.10 |