29 lines
851 B
Python
29 lines
851 B
Python
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')
|