コード例 #1
0
    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()
コード例 #2
0
    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()
コード例 #3
0
    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