diff --git a/main.py b/main.py index 30a4074..2b6b8cb 100755 --- a/main.py +++ b/main.py @@ -285,6 +285,11 @@ def adviceLastSN(requestId, modem): logger.info('Failed to get last sn from history, retrying in 15 secs') sleep(15) adviceLastSN(requestid, modem) + + elif lastSNFromHistory == 'P2P TRANSFER': + topupMessage = "Topup gagal berdasarkan advice. Trx terakhir adalah P2P Transfer." + pushTopupStatus(requestId, '40', topupMessage) + DISABLE_SEM = 0 elif lastSNFromHistory == LAST_SN: topupMessage = "Topup gagal berdasarkan advice. {0} = {1}. {2}".format(lastSNFromHistory, LAST_SN, message) diff --git a/test_xltunai.py b/test_xltunai.py index 2b6695f..e26beab 100644 --- a/test_xltunai.py +++ b/test_xltunai.py @@ -130,3 +130,4 @@ def test_getPulsaFromUssdResponseMessage(): def test_getLastSNFromMessage(): assert xltunai.getLastSNFromHistoryMessage('Transaksi Terakhir : 20063778248257/5500/12-02-2016 14:37:08/M201312021528418273770285/P201511211752675316198716/RELOAD XL 5000') == '20063778248257' + assert xltunai.getLastSNFromHistoryMessage('Transaksi Terakhir :\n20063778248257/5500/12-02-2016 14:37:08/M201312021528418273770285/P201511211752675316198716/RELOAD XL 5000') == '20063778248257' diff --git a/xltunai.py b/xltunai.py index f19b74c..4c493ea 100644 --- a/xltunai.py +++ b/xltunai.py @@ -144,12 +144,15 @@ def getPulsaFromUssdResponseMessage(message): def getMasaAktifFromUssdResponseMessage(message): masa_aktif = re.findall(' s[\./]d (\w+)\.', message) if not masa_aktif: - return; + return masa_aktif = time.strptime(masa_aktif[0], '%d%b%y') return time.strftime("%Y-%m-%d", masa_aktif) def getLastSNFromHistoryMessage(message): - sn = re.findall(r"Transaksi Terakhir :\s*(\d+)", message) + if re.findall(r"P2P TRANSFER", message): + return 'P2P TRANSFER' + + sn = re.findall(r"Transaksi Terakhir\s:\s(\d+)", message) if sn: - return sn + return sn[0]