James McCool commited on
Commit
0fd7f83
·
1 Parent(s): fc6e107

Refactor FD lineup data retrieval in app.py to streamline logic for handling priority variables and slate types. This update consolidates the data fetching process, ensuring consistent DataFrame creation and enhancing overall code readability and maintainability.

Browse files
Files changed (1) hide show
  1. app.py +99 -96
app.py CHANGED
@@ -278,104 +278,107 @@ def init_DK_lineups(type_var, slate_var, prio_var, prio_mix):
278
 
279
  @st.cache_data(ttl = 60)
280
  def init_FD_lineups(type_var,slate_var, prio_var, prio_mix):
281
-
282
- if type_var == 'Regular':
283
- if slate_var == 'Main':
284
- collection = db['FD_MLB_name_map']
285
- cursor = collection.find()
286
- raw_data = pd.DataFrame(list(cursor))
287
- names_dict = dict(zip(raw_data['key'], raw_data['value']))
288
-
289
- collection = db['FD_MLB_seed_frame']
290
- if prio_var == None:
291
- cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
292
- cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
293
- raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
294
- else:
295
- cursor = collection.find().sort(prio_var, -1).limit(10000)
296
- raw_display = pd.DataFrame(list(cursor))
297
-
298
- raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
299
- dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL']
300
- # Map names
301
- raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
302
- elif slate_var == 'Secondary':
303
- collection = db['FD_MLB_Secondary_name_map']
304
- cursor = collection.find()
305
- raw_data = pd.DataFrame(list(cursor))
306
- names_dict = dict(zip(raw_data['key'], raw_data['value']))
307
-
308
- collection = db['FD_MLB_Secondary_seed_frame']
309
- if prio_var == None:
310
- cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
311
- cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
312
- raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
313
- else:
314
- cursor = collection.find().sort(prio_var, -1).limit(10000)
315
- raw_display = pd.DataFrame(list(cursor))
316
-
317
- raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
318
- dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL']
319
- # Map names
320
- raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
321
- elif slate_var == 'Auxiliary':
322
- collection = db['FD_MLB_Turbo_name_map']
323
- cursor = collection.find()
324
- raw_data = pd.DataFrame(list(cursor))
325
- names_dict = dict(zip(raw_data['key'], raw_data['value']))
326
-
327
- collection = db['FD_MLB_Turbo_seed_frame']
328
- if prio_var == None:
329
- cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
330
- cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
331
- raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
332
- else:
333
- cursor = collection.find().sort(prio_var, -1).limit(10000)
334
- raw_display = pd.DataFrame(list(cursor))
335
-
336
- raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
337
- dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL']
338
- # Map names
339
- raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
340
-
341
- elif type_var == 'Showdown':
342
- if slate_var == 'Main':
343
- collection = db['FD_MLB_SD1_seed_frame']
344
- if prio_var == None:
345
- cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
346
- cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
347
- raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
348
- else:
349
- cursor = collection.find().sort(prio_var, -1).limit(10000)
350
- raw_display = pd.DataFrame(list(cursor))
351
-
352
- raw_display = raw_display[['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
353
- elif slate_var == 'Secondary':
354
- collection = db['FD_MLB_SD2_seed_frame']
355
- if prio_var == None:
356
- cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
357
- cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
358
- cursor = pd.concat([cursor1, cursor2])
359
- else:
360
- cursor = collection.find().sort(prio_var, -1).limit(10000)
361
- raw_display = pd.DataFrame(list(cursor))
362
-
363
- raw_display = raw_display[['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
364
- elif slate_var == 'Auxiliary':
365
- collection = db['FD_MLB_SD3_seed_frame']
366
- if prio_var == None:
367
- cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
368
- cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
369
- raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
370
- else:
371
- cursor = collection.find().sort(prio_var, -1).limit(10000)
372
- raw_display = pd.DataFrame(list(cursor))
373
-
374
- raw_display = raw_display[['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
375
 
376
- FD_seed = raw_display.to_numpy()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
377
 
378
- return FD_seed
379
 
380
  @st.cache_data
381
  def convert_df_to_csv(df):
 
278
 
279
  @st.cache_data(ttl = 60)
280
  def init_FD_lineups(type_var,slate_var, prio_var, prio_mix):
281
+
282
+ if prio_var == 'Mix':
283
+ prio_var = None
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
284
 
285
+ if type_var == 'Regular':
286
+ if slate_var == 'Main':
287
+ collection = db['FD_MLB_name_map']
288
+ cursor = collection.find()
289
+ raw_data = pd.DataFrame(list(cursor))
290
+ names_dict = dict(zip(raw_data['key'], raw_data['value']))
291
+
292
+ collection = db['FD_MLB_seed_frame']
293
+ if prio_var == None:
294
+ cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
295
+ cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
296
+ raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
297
+ else:
298
+ cursor = collection.find().sort(prio_var, -1).limit(10000)
299
+ raw_display = pd.DataFrame(list(cursor))
300
+
301
+ raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
302
+ dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL']
303
+ # Map names
304
+ raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
305
+ elif slate_var == 'Secondary':
306
+ collection = db['FD_MLB_Secondary_name_map']
307
+ cursor = collection.find()
308
+ raw_data = pd.DataFrame(list(cursor))
309
+ names_dict = dict(zip(raw_data['key'], raw_data['value']))
310
+
311
+ collection = db['FD_MLB_Secondary_seed_frame']
312
+ if prio_var == None:
313
+ cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
314
+ cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
315
+ raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
316
+ else:
317
+ cursor = collection.find().sort(prio_var, -1).limit(10000)
318
+ raw_display = pd.DataFrame(list(cursor))
319
+
320
+ raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
321
+ dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL']
322
+ # Map names
323
+ raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
324
+ elif slate_var == 'Auxiliary':
325
+ collection = db['FD_MLB_Turbo_name_map']
326
+ cursor = collection.find()
327
+ raw_data = pd.DataFrame(list(cursor))
328
+ names_dict = dict(zip(raw_data['key'], raw_data['value']))
329
+
330
+ collection = db['FD_MLB_Turbo_seed_frame']
331
+ if prio_var == None:
332
+ cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
333
+ cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
334
+ raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
335
+ else:
336
+ cursor = collection.find().sort(prio_var, -1).limit(10000)
337
+ raw_display = pd.DataFrame(list(cursor))
338
+
339
+ raw_display = raw_display[['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
340
+ dict_columns = ['P', 'C_1B', '2B', '3B', 'SS', 'OF1', 'OF2', 'OF3', 'UTIL']
341
+ # Map names
342
+ raw_display[dict_columns] = raw_display[dict_columns].apply(lambda x: x.map(names_dict))
343
+
344
+ elif type_var == 'Showdown':
345
+ if slate_var == 'Main':
346
+ collection = db['FD_MLB_SD1_seed_frame']
347
+ if prio_var == None:
348
+ cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
349
+ cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
350
+ raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
351
+ else:
352
+ cursor = collection.find().sort(prio_var, -1).limit(10000)
353
+ raw_display = pd.DataFrame(list(cursor))
354
+
355
+ raw_display = raw_display[['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
356
+ elif slate_var == 'Secondary':
357
+ collection = db['FD_MLB_SD2_seed_frame']
358
+ if prio_var == None:
359
+ cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
360
+ cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
361
+ cursor = pd.concat([cursor1, cursor2])
362
+ else:
363
+ cursor = collection.find().sort(prio_var, -1).limit(10000)
364
+ raw_display = pd.DataFrame(list(cursor))
365
+
366
+ raw_display = raw_display[['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
367
+ elif slate_var == 'Auxiliary':
368
+ collection = db['FD_MLB_SD3_seed_frame']
369
+ if prio_var == None:
370
+ cursor1 = collection.find().limit(math.ceil(10000 * (prio_mix / 100)))
371
+ cursor2 = collection.find().sort('Own', -1).limit(math.ceil(10000 * ((100 - prio_mix) / 100)))
372
+ raw_display = pd.concat([pd.DataFrame(list(cursor1)), pd.DataFrame(list(cursor2))])
373
+ else:
374
+ cursor = collection.find().sort(prio_var, -1).limit(10000)
375
+ raw_display = pd.DataFrame(list(cursor))
376
+
377
+ raw_display = raw_display[['CPT', 'FLEX1', 'FLEX2', 'FLEX3', 'FLEX4', 'FLEX5', 'salary', 'proj', 'Team', 'Team_count', 'Secondary', 'Secondary_count', 'Own']]
378
+
379
+ FD_seed = raw_display.to_numpy()
380
 
381
+ return FD_seed
382
 
383
  @st.cache_data
384
  def convert_df_to_csv(df):