Commit f1c3c3e1efaf7e58728b0c89f766e2dc7816b412
1 parent
6f184db816
Exists in
master
sn kirim xltunai
Showing 3 changed files with 24 additions and 9 deletions Side-by-side Diff
main.py
... | ... | @@ -112,28 +112,28 @@ def handleSms(sms): |
112 | 112 | |
113 | 113 | enablePull() |
114 | 114 | return |
115 | - | |
115 | + | |
116 | 116 | if sms.text.find('Maaf, transaksi gagal') >= 0: |
117 | 117 | pushTopupStatus(LAST_REQUEST_ID, '40', sms.text) |
118 | 118 | return |
119 | 119 | |
120 | - elif sms.text.find('PIN yang Anda masukkan salah. Silahkan ulangi kembali') >= 0: | |
120 | + if sms.text.find('PIN yang Anda masukkan salah. Silahkan ulangi kembali') >= 0: | |
121 | 121 | pushTopupStatus(LAST_REQUEST_ID, '91', sms.text) |
122 | 122 | return |
123 | 123 | |
124 | - elif sms.text.find('Maaf, saldo XL-Tunai anda tidak cukup') >= 0: | |
124 | + if sms.text.find('Maaf, saldo XL-Tunai anda tidak cukup') >= 0: | |
125 | 125 | pushTopupStatus(LAST_REQUEST_ID, '40', sms.text) |
126 | 126 | return |
127 | 127 | |
128 | - elif sms.text.find('Maaf, layanan ini hanya untuk nomor tujuan prabayar XL') >= 0: | |
128 | + if sms.text.find('Maaf, layanan ini hanya untuk nomor tujuan prabayar XL') >= 0: | |
129 | 129 | pushTopupStatus(LAST_REQUEST_ID, '14', sms.text) |
130 | 130 | return |
131 | 131 | |
132 | - elif sms.text.find('Mohon maaf, nomor yang Anda masukkan tidak valid') >= 0: | |
132 | + if sms.text.find('Mohon maaf, nomor yang Anda masukkan tidak valid') >= 0: | |
133 | 133 | pushTopupStatus(LAST_REQUEST_ID, '14', sms.text) |
134 | 134 | return |
135 | 135 | |
136 | - elif sms.text.find('Mohon maaf, transaksi Anda melebihi limit nominal bulanan') >= 0: | |
136 | + if sms.text.find('Mohon maaf, transaksi Anda melebihi limit nominal bulanan') >= 0: | |
137 | 137 | pushTopupStatus(LAST_REQUEST_ID, '40', sms.text) |
138 | 138 | |
139 | 139 | logger.info('Monthly limit for "{0}" detected, removing from product list'.format(LAST_PRODUCT)) |
... | ... | @@ -141,19 +141,24 @@ def handleSms(sms): |
141 | 141 | logger.warning('Monthly limit for "{0}" exceeded. New active products: "{1}"'.format(LAST_PRODUCT, PRODUCTS)) |
142 | 142 | return |
143 | 143 | |
144 | - elif sms.text.find('Maaf, transaksi Anda masih dalam proses') >= 0: | |
144 | + if sms.text.find('Maaf, transaksi Anda masih dalam proses') >= 0: | |
145 | 145 | pushTopupStatus(LAST_REQUEST_ID, '68', sms.text) |
146 | 146 | return |
147 | 147 | |
148 | - elif sms.text.find('Maaf, saat ini sistem sedang proses maintenance') >= 0: | |
148 | + if sms.text.find('Maaf, saat ini sistem sedang proses maintenance') >= 0: | |
149 | 149 | pushTopupStatus(LAST_REQUEST_ID, '91', sms.text) |
150 | 150 | return |
151 | 151 | |
152 | - elif sms.text.find('Anda terima uang XLTunai') >= 0: | |
152 | + if sms.text.find('Anda terima uang XLTunai') >= 0: | |
153 | 153 | LAST_SN = xltunai.getSNFromReceiveTransferMessage(sms.text) |
154 | 154 | logger.info('Override LAST_SN: {0}'.format(LAST_SN)) |
155 | 155 | return |
156 | 156 | |
157 | + if sms.text.find('Kirim uang ke ') == 0: | |
158 | + LAST_SN = xltunai.getSNFromSentTransferMessage(sms.text) | |
159 | + logger.info('Override LAST_SN: {0}'.format(LAST_SN)) | |
160 | + return | |
161 | + | |
157 | 162 | destination = xltunai.getDestinationFromMessage(sms.text) |
158 | 163 | if destination == '': |
159 | 164 | logger.warning('handleSms: gagal parsing nomor tujuan') |
test_xltunai.py
... | ... | @@ -137,3 +137,6 @@ def test_getSNFromReceiveTransferMessage(): |
137 | 137 | |
138 | 138 | def test_getSNFromCashInMessage(): |
139 | 139 | assert xltunai.getSNFromCashInMessage('Terimakasih, transaksi CASH IN ke akun 6287886957792 berhasil. Jumlah transaksi Rp 5000000, biaya 0. Saldo anda saat ini 5000000 . Ref ID: 96346333194106') == '96346333194106' |
140 | + | |
141 | +def test_getSNFromSentTransferMessage(): | |
142 | + assert xltunai.getSNFromSentTransferMessage('Kirim uang ke 6287886957795 an DIDIT ARIYANTO sebesar Rp 580000 berhasil pada 20/02/2016 21:48:54.Ref id 79811319924606. Info hub 817') == '79811319924606' |
xltunai.py
... | ... | @@ -90,6 +90,13 @@ def getSNFromReceiveTransferMessage(message): |
90 | 90 | except: |
91 | 91 | return |
92 | 92 | |
93 | +def getSNFromSentTransferMessage(message): | |
94 | + try: | |
95 | + sn = "".join(re.findall(r'Ref id (\d+)', message)) | |
96 | + return sn | |
97 | + except: | |
98 | + return | |
99 | + | |
93 | 100 | def getSNFromCashInMessage(message): |
94 | 101 | try: |
95 | 102 | sn = "".join(re.findall(r'Ref ID: (\d+)$', message)) |