예제 #1
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
    def sigaba_setup(self, rotor_num, num_iterations=1):
        param = tlvobject.TlvEntry().to_sequence([
            tlvobject.TlvEntry().to_int(rotor_num),
            tlvobject.TlvEntry().to_int(num_iterations)
        ])
        res = self.do_method_call(self._handle, 'sigabasetup', param)

        return res
예제 #2
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
 def make_state(self, machine_name, machine_config, rotor_pos=''):
     params = [
         tlvobject.TlvEntry().to_string(machine_name),
         tlvobject.TlvDict.dict_to_tlv(machine_config),
         tlvobject.TlvEntry().to_string(rotor_pos)
     ]
     param = tlvobject.TlvEntry().to_sequence(params)
     res = tlvobject.TlvServer.method_call(self._server_address, "rmsk2",
                                           "makestate", param)
     return res[0]
예제 #3
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
    def get_randomizer_params(self):
        param = tlvobject.TlvEntry().to_null()
        res = self.do_method_call(self._handle, 'getrandparm', param)

        if (len(res) == 1) and (res[0] == ''):
            res = []

        return res
예제 #4
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
 def set_rotor_positions(self, new_positions):
     param = tlvobject.TlvEntry().to_string(new_positions)
     res = self.do_method_call(self._handle, 'setpositions', param)
예제 #5
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
 def get_rotor_positions(self):
     param = tlvobject.TlvEntry().to_null()
     res = self.do_method_call(self._handle, 'getpositions', param)
     return res[0]
예제 #6
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
 def get_description(self):
     param = tlvobject.TlvEntry().to_null()
     res = self.do_method_call(self._handle, 'getdescription', param)
     return res[0]
예제 #7
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
 def get_default_state(self, machine_name):
     param = tlvobject.TlvEntry().to_string(machine_name)
     res = tlvobject.TlvServer.method_call(self._server_address, "rmsk2",
                                           "getdefaultstate", param)
     return res[0]
예제 #8
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
 def randomize_rotor_set_state(self, rotor_set_name):
     param = tlvobject.TlvEntry().to_string(rotor_set_name)
     res = self.do_method_call(self._handle, 'randomizerotorsetstate',
                               param)
예제 #9
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
    def get_rotor_set_names(self):
        param = tlvobject.TlvEntry().to_null()
        res = self.do_method_call(self._handle, 'getrotorsetnames', param)

        return res
예제 #10
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
 def go_to_letter_state(self):
     param = tlvobject.TlvEntry().to_null()
     res = self.do_method_call(self._handle, 'gotoletterstate', param)
예제 #11
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
 def get_config(self):
     param = tlvobject.TlvEntry().to_null()
     res = self.do_method_call(self._handle, 'getconfig', param)
     return tlvobject.TlvDict.parsed_tlv_to_dict(res[0])
예제 #12
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
 def get_state(self):
     param = tlvobject.TlvEntry().to_null()
     res = self.do_method_call(self._handle, 'getstate', param)
     return res[0]
예제 #13
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
 def decrypt(self, data_to_decrypt):
     param = tlvobject.TlvEntry().to_string(data_to_decrypt.lower())
     res = self.do_method_call(self._handle, 'decrypt', param)
     return res[0]
예제 #14
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
 def __init__(self, machine_state, server_address):
     super().__init__(server_address)
     param = tlvobject.TlvEntry().to_byte_array(machine_state)
     res = self.do_method_call('new', 'rotorproxy', param)
     self._handle = res[0]
예제 #15
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
 def set_state(self, new_state):
     param = tlvobject.TlvEntry().to_byte_array(new_state)
     res = self.do_method_call(self._handle, 'setstate', param)
예제 #16
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
    def get_permutations(self, num_iterations=0):
        param = tlvobject.TlvEntry().to_int(num_iterations)
        res = self.do_method_call(self._handle, 'getpermutations', param)
        res = list(map(lambda x: list(x), res))

        return res
예제 #17
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
 def randomize_state(self, randomize_param=''):
     param = tlvobject.TlvEntry().to_string(randomize_param)
     res = self.do_method_call(self._handle, 'randomizestate', param)
예제 #18
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
    def get_rotor_set_state(self, rotor_set_name):
        param = tlvobject.TlvEntry().to_string(rotor_set_name)
        res = self.do_method_call(self._handle, 'getrotorsetstate', param)

        return res[0]
예제 #19
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
    def step(self, num_iterations=1):
        param = tlvobject.TlvEntry().to_int(num_iterations)
        res = self.do_method_call(self._handle, 'step', param)

        return res
예제 #20
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
 def set_rotor_set_state(self, rotor_set_name, rotor_set_data):
     param = tlvobject.TlvEntry().to_sequence([
         tlvobject.TlvEntry().to_string(rotor_set_name),
         tlvobject.TlvEntry().to_byte_array(rotor_set_data)
     ])
     res = self.do_method_call(self._handle, 'setrotorsetstate', param)
예제 #21
0
파일: rotorsim.py 프로젝트: rmsk2/rmsk2
 def gaf_to_bp_wiring(self, plug_spec):
     param = tlvobject.TlvEntry().to_string(plug_spec)
     res = tlvobject.TlvServer.method_call(self._server_address, "rmsk2",
                                           "gaftobpwiring", param)
     return res[0]