feat: add new slider for min sent
Browse files- .gitignore +4 -0
- app.py +3 -2
- utils/generate_multi_commands_v2.sh +38 -0
- utils/gradio_utils.py +2 -2
.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'] >
|
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)
|