Gabriel Sabau
commited on
Commit
·
7443b9e
1
Parent(s):
d271c73
feat: Add team dropdown to interface for filtering by team
Browse files- app.py +1 -0
- 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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
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)]
|