Gabriel Sabau commited on
Commit
7443b9e
·
1 Parent(s): d271c73

feat: Add team dropdown to interface for filtering by team

Browse files
Files changed (2) hide show
  1. app.py +1 -0
  2. utils/gradio_utils.py +10 -5
app.py CHANGED
@@ -17,6 +17,7 @@ list_iface = gr.Interface(fn=compute_offer,
17
  gr.Slider(0, 365, value=3, step=1, label="Days", info="Number of days to look back"),
18
  gr.Slider(5000, 10000000, value=1000000, step=1, label="Minimum Sent", info="Minimum number of emails sent"),
19
  gr.Dropdown(["Comcast", "Yahoo", "Hotmail", "Aol"], value="Yahoo", label="Domain"),
 
20
  gr.Radio(["Newsletters", "Offers", 'Offers - IDs only'], label="Type", value="Offers - IDs only"),
21
  gr.Textbox(label="Exclude list", info="Example: INH,MNP", value="INH,DHI,HHP,RTA,JVR,HTH,FNC,SCD,ENH,WIP")],
22
  outputs="dataframe")
 
17
  gr.Slider(0, 365, value=3, step=1, label="Days", info="Number of days to look back"),
18
  gr.Slider(5000, 10000000, value=1000000, step=1, label="Minimum Sent", info="Minimum number of emails sent"),
19
  gr.Dropdown(["Comcast", "Yahoo", "Hotmail", "Aol"], value="Yahoo", label="Domain"),
20
+ gr.Dropdown(["All", "Team 1", "Team 2"], value="Team 2", label="Team"),
21
  gr.Radio(["Newsletters", "Offers", 'Offers - IDs only'], label="Type", value="Offers - IDs only"),
22
  gr.Textbox(label="Exclude list", info="Example: INH,MNP", value="INH,DHI,HHP,RTA,JVR,HTH,FNC,SCD,ENH,WIP")],
23
  outputs="dataframe")
utils/gradio_utils.py CHANGED
@@ -246,20 +246,25 @@ def _limit_chars(input_string: str, limit: int = 35) -> str:
246
  return input_string[:limit]
247
 
248
  ### GENERATE TOP LISTS ###
249
- def compute_offer(csv_file, days_lookback, min_sent, domain, offer_type, x_list):
250
  pd.set_option('display.max_colwidth', 10)
251
- # cmp_list = ['MSP', 'HOM', 'NTU', 'HCK', 'DDS', 'MNP', 'PSC', 'DTL', 'GVS', 'ANP', 'WDR', 'BSG'] #1
252
 
253
- #raw_df = pd.read_csv('tools/data/30.08.2023.gabriel.sabau.campanii.csv', parse_dates=['Data'])
254
  df_all = pd.read_csv(csv_file.name, parse_dates=['Data'])
255
- # raw_df = pd.read_csv(csv_file.name, parse_dates=['Data']) #1
 
 
 
 
 
 
256
 
257
  cols = ['Campanie', 'Oferta', 'Nume', 'Server', 'User',
258
  'Lista Custom', 'Data', 'HClicks', 'Clicks', 'Unscribers', 'Openers',
259
  'Click Open', 'Leads', 'CLike', 'Complains', 'Traps', 'Send', 'ECPM', 'Comision', 'Domeniu']
260
 
261
  exclude_list = df_all[(df_all['Data'] > (pd.Timestamp('now') - pd.Timedelta(days=days_lookback))) \
262
- & (df_all['Domeniu'] == domain)]['Oferta'].unique()
 
263
  df_all = df_all[~df_all['Oferta'].isin(exclude_list)]
264
 
265
  df_all = df_all[df_all['Send'] > int(min_sent)]
 
246
  return input_string[:limit]
247
 
248
  ### GENERATE TOP LISTS ###
249
+ def compute_offer(csv_file, days_lookback, min_sent, domain, team, offer_type, x_list, ):
250
  pd.set_option('display.max_colwidth', 10)
 
251
 
 
252
  df_all = pd.read_csv(csv_file.name, parse_dates=['Data'])
253
+ if team == "Team 1":
254
+ team_members = ['Ana Boros', 'Adrian Pop',
255
+ 'Liviu Avram', 'Alexandru Popescu', 'Vlad Draghici']
256
+ elif team == "Team 2":
257
+ team_members = ['Cristi Rusu', 'Robert Rachiteanu', 'Adrian Sabau','Gabriel Sabau']
258
+ else:
259
+ team_members = [] # All
260
 
261
  cols = ['Campanie', 'Oferta', 'Nume', 'Server', 'User',
262
  'Lista Custom', 'Data', 'HClicks', 'Clicks', 'Unscribers', 'Openers',
263
  'Click Open', 'Leads', 'CLike', 'Complains', 'Traps', 'Send', 'ECPM', 'Comision', 'Domeniu']
264
 
265
  exclude_list = df_all[(df_all['Data'] > (pd.Timestamp('now') - pd.Timedelta(days=days_lookback))) \
266
+ & (df_all['Domeniu'] == domain)\
267
+ & (df_all['User'].isin(team_members))]['Oferta'].unique()
268
  df_all = df_all[~df_all['Oferta'].isin(exclude_list)]
269
 
270
  df_all = df_all[df_all['Send'] > int(min_sent)]