def _bind_processor_preferences(self, cp):
        try:
            bind_preference(self, 'system_lock',
                            'pychron.hardware.enable_system_lock')

            bind_preference(cp, 'system_lock',
                            'pychron.hardware.enable_system_lock')
            bind_preference(cp, 'system_lock_address',
                            'pychron.hardware.system_lock_address')
            bind_preference(cp, 'system_lock_name',
                            'pychron.hardware.system_lock_name')

            #        ip = InitializationParser(os.path.join(setup_dir, 'initialization.xml'))
            ip = InitializationParser()
            names = []
            hosts = dict()
            for name, host in ip.get_systems():
                names.append(name)
                hosts[name] = host

            pref = self.application.preferences
            pref.set('pychron.hardware.system_lock_names', names)
            pref.set('pychron.hardware.system_lock_addresses', hosts)

            name = pref.get('pychron.hardware.system_lock_name')

            try:
                if name:
                    pref.set('pychron.hardware.system_lock_address',
                             hosts[name.strip("'").lower()])
                else:
                    pref.set('pychron.hardware.system_lock_address',
                             hosts[names[0].lower()])
            except Exception, err:
                pass
                #            import traceback
                #            traceback.print_exc()
                #            print 'system lock exception', err

            pref.save()
    def bind_preferences(self, cp):
        try:
            bind_preference(self, 'system_lock', 'pychron.hardware.enable_system_lock')

            bind_preference(cp, 'system_lock', 'pychron.hardware.enable_system_lock')
            bind_preference(cp, 'system_lock_address', 'pychron.hardware.system_lock_address')
            bind_preference(cp, 'system_lock_name', 'pychron.hardware.system_lock_name')

    #        ip = InitializationParser(os.path.join(setup_dir, 'initialization.xml'))
            ip = InitializationParser()
            names = []
            hosts = dict()
            for name, host in ip.get_systems():
                names.append(name)
                hosts[name] = host

            pref = self.application.preferences
            pref.set('pychron.hardware.system_lock_names', names)
            pref.set('pychron.hardware.system_lock_addresses', hosts)

            name = pref.get('pychron.hardware.system_lock_name')

            try:
                if name:
                    pref.set('pychron.hardware.system_lock_address',
                              hosts[name.strip("'").lower()])
                else:
                    pref.set('pychron.hardware.system_lock_address',
                              hosts[names[0].lower()])
            except Exception, err:
                pass
    #            import traceback
    #            traceback.print_exc()
    #            print 'system lock exception', err

            pref.save()