def command_refill(self, args): f = open(args.input_file, "rb") cartridge_crypted = bytearray(f.read()) f.close() machine_number = machine.get_number_from_type(args.machine_type) m = manager.Manager(crypto.Desx_Crypto(), checksum.Crc16_Checksum()) c = m.decode(machine_number, args.eeprom_uid, cartridge_crypted) material_name = c.material_name if args.material_name == None else args.material_name manufacturing_lot = c.manufacturing_lot if args.manufacturing_lot == None else args.manufacturing_lot manufacturing_date = datetime.now() serial_number = int(c.serial_number)+1 if args.serial_number == None else args.serial_number initial_material_quantity = float(c.initial_material_quantity) if args.initial_material_quantity == None else args.initial_material_quantity new_c = cartridge.Cartridge(serial_number, material_name, manufacturing_lot, manufacturing_date, manufacturing_date, initial_material_quantity, initial_material_quantity, c.key_fragment, c.version, c.signature) eeprom = m.encode(machine_number, args.eeprom_uid, new_c) f = open(args.output_file, "wb") f.write(eeprom) f.close()
def command_create(self, args): cart = cartridge.Cartridge( args.serial_number, args.material_name, args.manufacturing_lot, args.manufacturing_date, args.use_date, args.initial_material_quantity, args.current_material_quantity, args.key_fragment, args.version, args.signature) machine_number = machine.get_number_from_type(args.machine_type) m = manager.Manager(crypto.Desx_Crypto(), checksum.Crc16_Checksum()) eeprom = m.encode(machine_number, args.eeprom_uid, cart) f = open(args.output_file, "wb") f.write(eeprom) f.close()
def _eeprom_create(self, args): cart = cartridge.Cartridge( args.serial_number, args.material_name, args.manufacturing_lot, args.manufacturing_date, args.use_date, args.initial_material_quantity, args.current_material_quantity, args.key_fragment, args.version, args.signature) machine_number = machine.get_number_from_type(args.machine_type) m = manager.Manager(crypto.Desx_Crypto(), checksum.Crc16_Checksum()) eeprom = m.encode(machine_number, args.eeprom_uid, cart) mode = "w" if args.use_ascii == True: eeprom = self._make_ascii(args, cart, eeprom, machine_number) else: mode += "b" f = open(args.output_file, mode) f.write(eeprom) f.close() return