zzmez commited on
Commit
59961c2
·
1 Parent(s): 058edcf

feat: add new slider for min sent

Browse files
.gitignore ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ 01.testing.ipynb
2
+ __pycache__/
3
+ data/
4
+ utils/__pycache__/
app.py CHANGED
@@ -3,13 +3,14 @@ from utils.gradio_utils import *
3
  import os
4
 
5
 
6
-
7
  USER = os.getenv("USERNAME")
8
  PASS = os.getenv("PASSWORD")
9
 
 
10
  list_iface = gr.Interface(fn=compute_offer,
11
  inputs=[gr.File(label="Upload CSV", type="file"),
12
- gr.Slider(1, 365, value=30, step=1, label="Days", info="Number of days to look back")
 
13
  ],
14
  outputs="dataframe")
15
 
 
3
  import os
4
 
5
 
 
6
  USER = os.getenv("USERNAME")
7
  PASS = os.getenv("PASSWORD")
8
 
9
+
10
  list_iface = gr.Interface(fn=compute_offer,
11
  inputs=[gr.File(label="Upload CSV", type="file"),
12
+ gr.Slider(1, 365, value=30, step=1, label="Days", info="Number of days to look back"),
13
+ gr.Slider(5000, 100000, value=15000, step=1, label="Minimum Sent", info="Minimum number of emails sent")
14
  ],
15
  outputs="dataframe")
16
 
utils/generate_multi_commands_v2.sh ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #/bin/bash
2
+
3
+ LISTS="937415_50525-sup.txt 937416_50298-sup.txt 937417_50216-sup.txt 937418_50869-sup.txt"
4
+ OFFER_NAME="HOM"
5
+ SEND_PER_BATCH=440
6
+ SLEEP_DEL_Q=50
7
+ SLEEP=50
8
+
9
+ for list in $LISTS; do
10
+ cmp_id=`echo $list | cut -f 1 -d"_"`
11
+ num_lines=`wc -l /home/pmta/list/${list} | cut -f 1 -d" "`
12
+ n_iter=$(($num_lines/$SEND_PER_BATCH+1))
13
+ cfg_file="/feeder/comcast/config_${OFFER_NAME}_${cmp_id}"
14
+
15
+ cp /feeder/comcast/config $cfg_file
16
+
17
+ sed -E -i 's/cmpid = "[^"]*"/cmpid = "'${cmp_id}'"/g' "$cfg_file"
18
+ sed -E -i 's|(listfile = "/home/pmta/list/)[^"]+"|\1'${list}'"|g' "$cfg_file"
19
+
20
+ cat <<- EOF >>commands_${OFFER_NAME}.txt
21
+ ext 'echo Pun config ${OFFER_NAME} ${cmp_id}'
22
+ ext 'cp /feeder/comcast/config_${OFFER_NAME}_${cmp_id} /feeder/comcast/config'
23
+ f
24
+ clspl
25
+ t
26
+ sleep 10
27
+ EOF
28
+
29
+ for iter in $(seq ${n_iter}); do
30
+ cat <<- EOF2 >>commands_${OFFER_NAME}.txt
31
+ send ${SEND_PER_BATCH},True
32
+ sleep ${SLEEP_DEL_Q}
33
+ ext 'pmta delete --queue=*/*'
34
+ sleep ${SLEEP}
35
+ EOF2
36
+ done
37
+
38
+ done
utils/gradio_utils.py CHANGED
@@ -231,7 +231,7 @@ def generate_ips_per_subclass(ip_subclasses: str, num_of_ips: int) -> str:
231
 
232
 
233
  ### GENERATE TOP LISTS ###
234
- def compute_offer(csv_file, days_lookback):
235
  cmp_list = ['MSP', 'HOM', 'NTU', 'HCK', 'DDS', 'MNP', 'PSC', 'DTL', 'GVS', 'ANP', 'WDR', 'BSG']
236
 
237
  #raw_df = pd.read_csv('tools/data/30.08.2023.gabriel.sabau.campanii.csv', parse_dates=['Data'])
@@ -246,7 +246,7 @@ def compute_offer(csv_file, days_lookback):
246
  comcast_df['Click Open'] = comcast_df['Click Open'].str.replace('%', '').astype(float)
247
  exclude_list = comcast_df[comcast_df['Data'] > (pd.Timestamp('now') - pd.Timedelta(days=days_lookback))]['Oferta'].unique()
248
  comcast_df = comcast_df[~comcast_df['Oferta'].isin(exclude_list)]
249
- comcast_df = comcast_df[comcast_df['Send'] > 350000]
250
  comcast_df = comcast_df[comcast_df['Lista Custom'].str.contains('open')]
251
 
252
  comcast_df.reset_index(drop=True, inplace=True)
 
231
 
232
 
233
  ### GENERATE TOP LISTS ###
234
+ def compute_offer(csv_file, days_lookback, min_sent):
235
  cmp_list = ['MSP', 'HOM', 'NTU', 'HCK', 'DDS', 'MNP', 'PSC', 'DTL', 'GVS', 'ANP', 'WDR', 'BSG']
236
 
237
  #raw_df = pd.read_csv('tools/data/30.08.2023.gabriel.sabau.campanii.csv', parse_dates=['Data'])
 
246
  comcast_df['Click Open'] = comcast_df['Click Open'].str.replace('%', '').astype(float)
247
  exclude_list = comcast_df[comcast_df['Data'] > (pd.Timestamp('now') - pd.Timedelta(days=days_lookback))]['Oferta'].unique()
248
  comcast_df = comcast_df[~comcast_df['Oferta'].isin(exclude_list)]
249
+ comcast_df = comcast_df[comcast_df['Send'] > int(min_sent)]
250
  comcast_df = comcast_df[comcast_df['Lista Custom'].str.contains('open')]
251
 
252
  comcast_df.reset_index(drop=True, inplace=True)