diff --git a/main.py b/main.py index 23d80e4..5caa362 100755 --- a/main.py +++ b/main.py @@ -36,6 +36,8 @@ SLEEP_BETWEEN_BALANCE_N_TOPUP = config.getint('globals', 'SLEEP_BETWEEN_BALANCE_ TOPUP_USSD_TIMEOUT = config.getint('globals', 'TOPUP_USSD_TIMEOUT') SLEEP_AFTER_USSD_ERROR = 180 +NEED_CHECK_BALANCE = False + MIN_SIGNAL_STRENGTH = 0 try: MIN_SIGNAL_STRENGTH = config.getint('globals', 'MIN_SIGNAL_STRENGTH') @@ -97,6 +99,7 @@ def handleSms(sms): global LAST_PRODUCT global LAST_REQUEST_ID global LAST_SN + global NEED_CHECK_BALANCE try: logger.info(u'Incoming SMS from: {0}; Time: {1}; Message: {2}'.format(sms.number, sms.time, sms.text)) @@ -164,7 +167,7 @@ def handleSms(sms): if sms.text.find('Anda terima uang XLTunai') >= 0: LAST_SN = xltunai.getSNFromReceiveTransferMessage(sms.text) logger.info('Override LAST_SN: {0}'.format(LAST_SN)) - checkBalance(modem) + NEED_CHECK_BALANCE = True return if sms.text.find('Kirim uang ke ') == 0: @@ -588,11 +591,16 @@ def publishMessageToRedis(): def pullLoop(modem): global TERMINATING + global NEED_CHECK_BALANCE while True: signalStrength = modem.signalStrength saveSignalStrengthToRedis(signalStrength) - + + if NEED_CHECK_BALANCE: + checkBalance(modem) + NEED_CHECK_BALANCE = False + if TERMINATING: logger.info('Terminated by request signal') sys.exit(0)