add slot_position and sim_position

This commit is contained in:
2022-03-25 22:44:43 +01:00
parent a025c8c9fa
commit cd8d837aaf
4 changed files with 24 additions and 18 deletions
+5 -9
View File
@@ -31,10 +31,6 @@ current_card_pool_slot = 1
current_sim_position = 1 current_sim_position = 1
def get_devices_ports() -> list:
return MODEM_POOL_PORTS
def send_command(cmd: str, ser, wait_time_in_s: int = 0) -> bytes: def send_command(cmd: str, ser, wait_time_in_s: int = 0) -> bytes:
ser.write(cmd.encode()) ser.write(cmd.encode())
msg = ser.read(100) msg = ser.read(100)
@@ -131,7 +127,7 @@ def handle_sms(sms):
def init_modems() -> list: def init_modems() -> list:
modems = [] modems = []
for port in get_devices_ports(): for port in params.MODEM_POOL_PORTS:
serial_modem = create_modem_for_port(port) serial_modem = create_modem_for_port(port)
if serial_modem: if serial_modem:
modems.append(serial_modem) modems.append(serial_modem)
@@ -178,15 +174,15 @@ def on_ready_for_otp(e: Event, commandor: CommandorPage):
def start_book(): def start_book():
slot_number = 27 start_slot_number = 27
slot_sum = 27 end_slot_number = 27
for i in range(slot_number, slot_sum + 1): for i in range(start_slot_number, end_slot_number + 1):
card_pool.reset() card_pool.reset()
logger.info("will switch to " + str(i)) logger.info("will switch to " + str(i))
global current_card_pool_slot global current_card_pool_slot
current_card_pool_slot = i current_card_pool_slot = i
card_pool.switch_to_slot(i) card_pool.switch_to_slot(i)
modem_pool = ModemPool(get_devices_ports()) modem_pool = ModemPool(MODEM_POOL_PORTS)
modem_pool.reset_all_modems() modem_pool.reset_all_modems()
modem_list = init_modems() modem_list = init_modems()
# read the contact, and contact the 2 objects together # read the contact, and contact the 2 objects together
+2 -2
View File
@@ -95,8 +95,8 @@ class ModemPool:
self._log_sender.send_log(phone_number, source=self.TAG, subject=SUBJECT_SIM_INFO, self._log_sender.send_log(phone_number, source=self.TAG, subject=SUBJECT_SIM_INFO,
type=LOG_APPOINTMENT_SUCCESS) type=LOG_APPOINTMENT_SUCCESS)
# write the number to sim card's phonebook # write the number to sim card's phonebook
cmd = f'AT+CPBW={self.phone_number_position},\"{phone_number}\"\r' # cmd = f'AT+CPBW={self.phone_number_position},\"{phone_number}\"\r'
self._send_command(cmd, ser, wait_time_in_s=2) # self._send_command(cmd, ser, wait_time_in_s=2)
def _select_sim_storage(self, ser) -> bool: def _select_sim_storage(self, ser) -> bool:
# use SIM Card storage # use SIM Card storage
+12 -2
View File
@@ -7,25 +7,33 @@ class SimInfoPojo:
update_at: int update_at: int
position: int position: int
operator: str operator: str
slot_position: str
sim_position: str
def __init__(self, phone: str, ccid: str, position, operator: str, update_at: int = int(time.time())): def __init__(self, phone: str, ccid: str, position, operator: str, slot_position, sim_position,
update_at: int = int(time.time())):
self.phone = phone self.phone = phone
self.ccid = ccid self.ccid = ccid
self.update_at = update_at self.update_at = update_at
self.position = position self.position = position
self.operator = operator self.operator = operator
self.slot_position = slot_position
self.sim_position = sim_position
@staticmethod @staticmethod
def from_firestore_dict(source): def from_firestore_dict(source):
phone = source['phone'] phone = source['phone']
ccid = source['ccid'] ccid = source['ccid']
sim_position = source['sim_position']
slot_position = source['slot_position']
update_at = None update_at = None
if 'update_at' in source: if 'update_at' in source:
update_at = source['update_at'] update_at = source['update_at']
position = None position = None
if 'position' in source: if 'position' in source:
position = source['position'] position = source['position']
result = SimInfoPojo(phone=phone, ccid=ccid, update_at=update_at, position=position, operator="") result = SimInfoPojo(phone=phone, ccid=ccid, update_at=update_at, sim_position=sim_position,
slot_position=slot_position, position=position, operator="")
if 'operator' in source: if 'operator' in source:
operator = source['operator'] operator = source['operator']
result.operator = operator result.operator = operator
@@ -39,6 +47,8 @@ class SimInfoPojo:
u'update_at': self.update_at, u'update_at': self.update_at,
u'position': self.position, u'position': self.position,
u'operator': self.operator, u'operator': self.operator,
u'slot_position': self.slot_position,
u'sim_position': self.sim_position,
} }
return dest return dest
+5 -5
View File
@@ -5,19 +5,19 @@ import params
from modems.ModemPool import ModemPool from modems.ModemPool import ModemPool
from logs.AppLogging import init_logger from logs.AppLogging import init_logger
from logs.LogSender import LOG_SUBJECT_EVENT, TYPE_EVENT_RESET_ALL_SIM_CARDS from logs.LogSender import LOG_SUBJECT_EVENT, TYPE_EVENT_RESET_ALL_SIM_CARDS
from main import card_pool, get_devices_ports from main import card_pool
def read_all_the_phone_number(): def read_all_the_phone_number():
params.oracle_log_sender.send_log(msg="SIM卡自检开始", subject=LOG_SUBJECT_EVENT, type=TYPE_EVENT_RESET_ALL_SIM_CARDS) params.oracle_log_sender.send_log(msg="SIM卡自检开始", subject=LOG_SUBJECT_EVENT, type=TYPE_EVENT_RESET_ALL_SIM_CARDS)
slot_number = 1 start_slot_number = 1
slot_sum = 26 end_slot_number = 26
params.firebase_store_manager.clear_all_sim_info() params.firebase_store_manager.clear_all_sim_info()
for i in range(slot_number, slot_sum + 1): for i in range(start_slot_number, end_slot_number + 1):
card_pool.reset() card_pool.reset()
logger.info("will switch to " + str(i)) logger.info("will switch to " + str(i))
card_pool.switch_to_slot(i) card_pool.switch_to_slot(i)
modem_pool = ModemPool(get_devices_ports()) modem_pool = ModemPool(params.MODEM_POOL_PORTS)
modem_pool.reset_all_modems() modem_pool.reset_all_modems()
modem_pool.get_raw_phone_number(i) modem_pool.get_raw_phone_number(i)