tfse-model-api-v0.2/Certificate/db.py

78 lines
1.8 KiB
Python

"""
Mongo_tfse
"""
import pymongo
from bson import ObjectId
from gridfs import GridFS
from Certificate.scripts.path_tool import get_gen_report_path
DB_HOST = '116.63.130.34'
DB_USER = 'root'
DB_PASS = 'sromitdTW569kC#M'
DB_PORT = 27018
client = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format(DB_USER, DB_PASS, DB_HOST, DB_PORT))
def upload_pdf(name):
"""
根据名称保存该企业证书
"""
try:
path = get_gen_report_path(name=name)
database = '评价'
collection = '评价证书'
fs = GridFS(client[database], collection)
content = open(path, 'rb').read()
pdf_id = fs.put(content, content_type='application/pdf', filename=name)
return str(pdf_id)
except Exception:
return False
def download_pdf(pdf_id):
"""
根据pdf_id查询pdf文件
"""
database = '评价'
collection = '综合信用报告'
fs = GridFS(client[database], collection)
data = fs.get(ObjectId(pdf_id)).read()
return data
def find_tfse_db(**kwargs):
"""
查询数据库记录
Parameters:
kwargs: 查询条件
Returns:
data: tfse数据
"""
collection = client[kwargs['db']][kwargs['col']]
result = collection.find(kwargs['query'], {'_id': False})
data = list(result)
return data
def update_data(param1, param2, param3, param4):
"""
根据查询条件更新数据
Parameters:
param1: str 数据库
param2: str 数据表
param3: dict 查询条件
param4: dict 更新数据
Returns:
res: bool 保存结果
"""
try:
collection = client[param1][param2]
collection.update_one(param3, {"$set": param4}, upsert=True)
return True
except Exception:
return False