""" 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 upload_esg_pdf(name): """ 根据名称保存该企业证书 """ try: path = get_gen_report_path(name=name) database = '评价' collection = 'ESG评价证书' 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