| 
					
				 | 
			
			
				@@ -125,10 +125,41 @@ async def create_req_detail(req:deco_request_detail): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ,'h_class':req.h_class,'type':req.type,'budget':req.budget,'size':req.size,'bed_num':req.bed_num 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ,'liv_num':req.liv_num,'bath_num':req.bath_num,'style':req.style,'prefer_date':req.prefer_date,'time_stamp':req.time_stamp,'gender':req.gender}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         req.id = pk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        make_req_df() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return return_code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else : 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return return_code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def make_req_df(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/hhh?charset=utf8mb4') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    statement = 'SELECT * FROM deco_request ORDER BY time_stamp DESC' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    #2021-05-23 15:57:43 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    df = pd.DataFrame() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for row in db.query(statement): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        date_format = "%Y-%M-%d %H:%M:%S" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #fdate = datetime.strptime(row['ts_date'],date_format) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fdate = row['time_stamp'].strftime('%Y-%m-%d') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        df = df.append({'serial id':row['id'],'姓名':['name'],'email':row['email'],'電話':row['phone'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ,'地區':row['loc'],'房屋類型':row['h_class'],"房屋型態":row['type'],'預算':row['budget'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ,'坪數':row['size'],'房數':row['bed_num'],'廳數':row['liv_num'],'衛浴數':row['bath_num'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ,'風格類型':row['style'],'預選裝修日期':row['prefer_date']}, ignore_index=True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        save_sheet(df,'deco_request','sheet1') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def save_sheet(df,filename,tabname,startpos='A1'): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    scope = ['https://spreadsheets.google.com/feeds', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            'https://www.googleapis.com/auth/drive'] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#    credentials = ServiceAccountCredentials.from_json_keyfile_name('c:\\keys\\spread2.json', scope) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    credentials = ServiceAccountCredentials.from_json_keyfile_name('spread2.json', scope) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    gc = gspread.authorize(credentials) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    spread = Spread(filename,creds=credentials) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    spread.df_to_sheet(df, index=False, sheet=tabname, start=startpos, replace=False) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     
			 |