Spaces:
				
			
			
	
			
			
		Sleeping
		
	
	
	
			
			
	
	
	
	
		
		
		Sleeping
		
	
		James McCool
		
	commited on
		
		
					Commit 
							
							·
						
						a15c0a1
	
1
								Parent(s):
							
							986c3ed
								
Refactor app.py: Remove Google Sheets integration and related credentials, simplifying the connection initialization to only MongoDB. Update return values and clean up unused variables for improved clarity and performance.
Browse files
    	
        app.py
    CHANGED
    
    | @@ -9,52 +9,18 @@ import pulp | |
| 9 | 
             
            import numpy as np
         | 
| 10 | 
             
            import pandas as pd
         | 
| 11 | 
             
            import streamlit as st
         | 
| 12 | 
            -
            import gspread
         | 
| 13 | 
             
            import pymongo
         | 
| 14 | 
             
            from itertools import combinations
         | 
| 15 |  | 
| 16 | 
             
            @st.cache_resource
         | 
| 17 | 
             
            def init_conn():
         | 
| 18 | 
            -
                    scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                    credentials = {
         | 
| 21 | 
            -
                      "type": "service_account",
         | 
| 22 | 
            -
                      "project_id": "model-sheets-connect",
         | 
| 23 | 
            -
                      "private_key_id": st.secrets['model_sheets_connect_pk'],
         | 
| 24 | 
            -
                      "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDiu1v/e6KBKOcK\ncx0KQ23nZK3ZVvADYy8u/RUn/EDI82QKxTd/DizRLIV81JiNQxDJXSzgkbwKYEDm\n48E8zGvupU8+Nk76xNPakrQKy2Y8+VJlq5psBtGchJTuUSHcXU5Mg2JhQsB376PJ\nsCw552K6Pw8fpeMDJDZuxpKSkaJR6k9G5Dhf5q8HDXnC5Rh/PRFuKJ2GGRpX7n+2\nhT/sCax0J8jfdTy/MDGiDfJqfQrOPrMKELtsGHR9Iv6F4vKiDqXpKfqH+02E9ptz\nBk+MNcbZ3m90M8ShfRu28ebebsASfarNMzc3dk7tb3utHOGXKCf4tF8yYKo7x8BZ\noO9X4gSfAgMBAAECggEAU8ByyMpSKlTCF32TJhXnVJi/kS+IhC/Qn5JUDMuk4LXr\naAEWsWO6kV/ZRVXArjmuSzuUVrXumISapM9Ps5Ytbl95CJmGDiLDwRL815nvv6k3\nUyAS8EGKjz74RpoIoH6E7EWCAzxlnUgTn+5oP9Flije97epYk3H+e2f1f5e1Nn1d\nYNe8U+1HqJgILcxA1TAUsARBfoD7+K3z/8DVPHI8IpzAh6kTHqhqC23Rram4XoQ6\nzj/ZdVBjvnKuazETfsD+Vl3jGLQA8cKQVV70xdz3xwLcNeHsbPbpGBpZUoF73c65\nkAXOrjYl0JD5yAk+hmYhXr6H9c6z5AieuZGDrhmlFQKBgQDzV6LRXmjn4854DP/J\nI82oX2GcI4eioDZPRukhiQLzYerMQBmyqZIRC+/LTCAhYQSjNgMa+ZKyvLqv48M0\n/x398op/+n3xTs+8L49SPI48/iV+mnH7k0WI/ycd4OOKh8rrmhl/0EWb9iitwJYe\nMjTV/QxNEpPBEXfR1/mvrN/lVQKBgQDuhomOxUhWVRVH6x03slmyRBn0Oiw4MW+r\nrt1hlNgtVmTc5Mu+4G0USMZwYuOB7F8xG4Foc7rIlwS7Ic83jMJxemtqAelwOLdV\nXRLrLWJfX8+O1z/UE15l2q3SUEnQ4esPHbQnZowHLm0mdL14qSVMl1mu1XfsoZ3z\nJZTQb48CIwKBgEWbzQRtKD8lKDupJEYqSrseRbK/ax43DDITS77/DWwHl33D3FYC\nMblUm8ygwxQpR4VUfwDpYXBlklWcJovzamXpSnsfcYVkkQH47NuOXPXPkXQsw+w+\nDYcJzeu7F/vZqk9I7oBkWHUrrik9zPNoUzrfPvSRGtkAoTDSwibhoc5dAoGBAMHE\nK0T/ANeZQLNuzQps6S7G4eqjwz5W8qeeYxsdZkvWThOgDd/ewt3ijMnJm5X05hOn\ni4XF1euTuvUl7wbqYx76Wv3/1ZojiNNgy7ie4rYlyB/6vlBS97F4ZxJdxMlabbCW\n6b3EMWa4EVVXKoA1sCY7IVDE+yoQ1JYsZmq45YzPAoGBANWWHuVueFGZRDZlkNlK\nh5OmySmA0NdNug3G1upaTthyaTZ+CxGliwBqMHAwpkIRPwxUJpUwBTSEGztGTAxs\nWsUOVWlD2/1JaKSmHE8JbNg6sxLilcG6WEDzxjC5dLL1OrGOXj9WhC9KX3sq6qb6\nF/j9eUXfXjAlb042MphoF3ZC\n-----END PRIVATE KEY-----\n",
         | 
| 25 | 
            -
                      "client_email": "[email protected]",
         | 
| 26 | 
            -
                      "client_id": "100369174533302798535",
         | 
| 27 | 
            -
                      "auth_uri": "https://accounts.google.com/o/oauth2/auth",
         | 
| 28 | 
            -
                      "token_uri": "https://oauth2.googleapis.com/token",
         | 
| 29 | 
            -
                      "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
         | 
| 30 | 
            -
                      "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/gspread-connection%40model-sheets-connect.iam.gserviceaccount.com"
         | 
| 31 | 
            -
                    }
         | 
| 32 | 
            -
                    
         | 
| 33 | 
            -
                    credentials2 = {
         | 
| 34 | 
            -
                      "type": "service_account",
         | 
| 35 | 
            -
                      "project_id": "sheets-api-connect-378620",
         | 
| 36 | 
            -
                      "private_key_id": st.secrets['sheets_api_connect_pk'],
         | 
| 37 | 
            -
                      "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCtKa01beXwc88R\nnPZVQTNPVQuBnbwoOfc66gW3547ja/UEyIGAF112dt/VqHprRafkKGmlg55jqJNt\na4zceLKV+wTm7vBu7lDISTJfGzCf2TrxQYNqwMKE2LOjI69dBM8u4Dcb4k0wcp9v\ntW1ZzLVVuwTvmrg7JBHjiSaB+x5wxm/r3FOiJDXdlAgFlytzqgcyeZMJVKKBQHyJ\njEGg/1720A0numuOCt71w/2G0bDmijuj1e6tH32MwRWcvRNZ19K9ssyDz2S9p68s\nYDhIxX69OWxwScTIHLY6J2t8txf/XMivL/636fPlDADvBEVTdlT606n8CcKUVQeq\npUVdG+lfAgMBAAECggEAP38SUA7B69eTfRpo658ycOs3Amr0JW4H/bb1rNeAul0K\nZhwd/HnU4E07y81xQmey5kN5ZeNrD5EvqkZvSyMJHV0EEahZStwhjCfnDB/cxyix\nZ+kFhv4y9eK+kFpUAhBy5nX6T0O+2T6WvzAwbmbVsZ+X8kJyPuF9m8ldcPlD0sce\ntj8NwVq1ys52eosqs7zi2vjt+eMcaY393l4ls+vNq8Yf27cfyFw45W45CH/97/Nu\n5AmuzlCOAfFF+z4OC5g4rei4E/Qgpxa7/uom+BVfv9G0DIGW/tU6Sne0+37uoGKt\nW6DzhgtebUtoYkG7ZJ05BTXGp2lwgVcNRoPwnKJDxQKBgQDT5wYPUBDW+FHbvZSp\nd1m1UQuXyerqOTA9smFaM8sr/UraeH85DJPEIEk8qsntMBVMhvD3Pw8uIUeFNMYj\naLmZFObsL+WctepXrVo5NB6RtLB/jZYxiKMatMLUJIYtcKIp+2z/YtKiWcLnwotB\nWdCjVnPTxpkurmF2fWP/eewZ+wKBgQDRMtJg7etjvKyjYNQ5fARnCc+XsI3gkBe1\nX9oeXfhyfZFeBXWnZzN1ITgFHplDznmBdxAyYGiQdbbkdKQSghviUQ0igBvoDMYy\n1rWcy+a17Mj98uyNEfmb3X2cC6WpvOZaGHwg9+GY67BThwI3FqHIbyk6Ko09WlTX\nQpRQjMzU7QKBgAfi1iflu+q0LR+3a3vvFCiaToskmZiD7latd9AKk2ocsBd3Woy9\n+hXXecJHPOKV4oUJlJgvAZqe5HGBqEoTEK0wyPNLSQlO/9ypd+0fEnArwFHO7CMF\nycQprAKHJXM1eOOFFuZeQCaInqdPZy1UcV5Szla4UmUZWkk1m24blHzXAoGBAMcA\nyH4qdbxX9AYrC1dvsSRvgcnzytMvX05LU0uF6tzGtG0zVlub4ahvpEHCfNuy44UT\nxRWW/oFFaWjjyFxO5sWggpUqNuHEnRopg3QXx22SRRTGbN45li/+QAocTkgsiRh1\nqEcYZsO4mPCsQqAy6E2p6RcK+Xa+omxvSnVhq0x1AoGAKr8GdkCl4CF6rieLMAQ7\nLNBuuoYGaHoh8l5E2uOQpzwxVy/nMBcAv+2+KqHEzHryUv1owOi6pMLv7A9mTFoS\n18B0QRLuz5fSOsVnmldfC9fpUc6H8cH1SINZpzajqQA74bPwELJjnzrCnH79TnHG\nJuElxA33rFEjbgbzdyrE768=\n-----END PRIVATE KEY-----\n",
         | 
| 38 | 
            -
                      "client_email": "gspread-connection@sheets-api-connect-378620.iam.gserviceaccount.com",
         | 
| 39 | 
            -
                      "client_id": "106625872877651920064",
         | 
| 40 | 
            -
                      "auth_uri": "https://accounts.google.com/o/oauth2/auth",
         | 
| 41 | 
            -
                      "token_uri": "https://oauth2.googleapis.com/token",
         | 
| 42 | 
            -
                      "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
         | 
| 43 | 
            -
                      "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/gspread-connection%40sheets-api-connect-378620.iam.gserviceaccount.com"
         | 
| 44 | 
            -
                    }
         | 
| 45 | 
            -
             | 
| 46 | 
             
                    uri = st.secrets['mongo_uri']
         | 
| 47 | 
             
                    client = pymongo.MongoClient(uri, retryWrites=True, serverSelectionTimeoutMS=500000)
         | 
| 48 | 
             
                    db = client["NFL_Database"]
         | 
| 49 | 
            -
                 
         | 
| 50 | 
            -
                    NFL_Data = st.secrets['NFL_Data']
         | 
| 51 | 
            -
             | 
| 52 | 
            -
                    gc = gspread.service_account_from_dict(credentials)
         | 
| 53 | 
            -
                    gc2 = gspread.service_account_from_dict(credentials2)
         | 
| 54 |  | 
| 55 | 
            -
                    return  | 
| 56 |  | 
| 57 | 
            -
             | 
| 58 |  | 
| 59 | 
             
            game_format = {'Win Percentage': '{:.2%}','First Inning Lead Percentage': '{:.2%}',
         | 
| 60 | 
             
                          'Fifth Inning Lead Percentage': '{:.2%}', '8+ runs': '{:.2%}', 'DK LevX': '{:.2%}', 'FD LevX': '{:.2%}'}
         | 
| @@ -150,7 +116,7 @@ try: | |
| 150 | 
             
            except:
         | 
| 151 | 
             
                dk_lineups = pd.DataFrame(columns=dk_columns)
         | 
| 152 | 
             
                fd_lineups = pd.DataFrame(columns=fd_columns)
         | 
| 153 | 
            -
             | 
| 154 | 
             
            t_stamp = f"Last Update: " + str(dk_roo_raw['timestamp'][0]) + f" CST"
         | 
| 155 |  | 
| 156 | 
             
            tab1, tab2, tab3, tab4, tab5, tab6, tab7 = st.tabs(["Team Stacks Range of Outcomes", "Overall Range of Outcomes", "QB Range of Outcomes", "RB Range of Outcomes", "WR Range of Outcomes", "TE Range of Outcomes", "Optimals"])
         | 
|  | |
| 9 | 
             
            import numpy as np
         | 
| 10 | 
             
            import pandas as pd
         | 
| 11 | 
             
            import streamlit as st
         | 
|  | |
| 12 | 
             
            import pymongo
         | 
| 13 | 
             
            from itertools import combinations
         | 
| 14 |  | 
| 15 | 
             
            @st.cache_resource
         | 
| 16 | 
             
            def init_conn():
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
|  | |
| 17 | 
             
                    uri = st.secrets['mongo_uri']
         | 
| 18 | 
             
                    client = pymongo.MongoClient(uri, retryWrites=True, serverSelectionTimeoutMS=500000)
         | 
| 19 | 
             
                    db = client["NFL_Database"]
         | 
|  | |
|  | |
|  | |
|  | |
|  | |
| 20 |  | 
| 21 | 
            +
                    return db
         | 
| 22 |  | 
| 23 | 
            +
            db = init_conn()
         | 
| 24 |  | 
| 25 | 
             
            game_format = {'Win Percentage': '{:.2%}','First Inning Lead Percentage': '{:.2%}',
         | 
| 26 | 
             
                          'Fifth Inning Lead Percentage': '{:.2%}', '8+ runs': '{:.2%}', 'DK LevX': '{:.2%}', 'FD LevX': '{:.2%}'}
         | 
|  | |
| 116 | 
             
            except:
         | 
| 117 | 
             
                dk_lineups = pd.DataFrame(columns=dk_columns)
         | 
| 118 | 
             
                fd_lineups = pd.DataFrame(columns=fd_columns)
         | 
| 119 | 
            +
             | 
| 120 | 
             
            t_stamp = f"Last Update: " + str(dk_roo_raw['timestamp'][0]) + f" CST"
         | 
| 121 |  | 
| 122 | 
             
            tab1, tab2, tab3, tab4, tab5, tab6, tab7 = st.tabs(["Team Stacks Range of Outcomes", "Overall Range of Outcomes", "QB Range of Outcomes", "RB Range of Outcomes", "WR Range of Outcomes", "TE Range of Outcomes", "Optimals"])
         |