import os from urllib.parse import quote_plus import pymysql from dotenv import load_dotenv from sqlalchemy import create_engine class QuantCommon: def __init__(self): load_dotenv() self.user = os.getenv('DB_USER') self.pw = os.getenv('DB_PW') self.engine_for_pw = quote_plus(self.pw) self.host = os.getenv('DB_HOST') self.port = int(os.getenv('DB_PORT')) self.db = os.getenv('DB_DB') def create_engine(self): return create_engine(f'mysql+pymysql://{self.user}:{self.engine_for_pw}@{self.host}:{self.port}/{self.db}') def connect(self): return pymysql.connect(user=self.user, passwd=self.pw, host=self.host, port=self.port, db=self.db, charset='utf8')