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')
 |