Motor attributes

The following example demonstrates how motor attributes are set to some default values:

#!/usr/bin/env python

from PyTango import *

def setDefaults( name):
    defaults = {'Acceleration': 10000,
		'BaseRate': 20,
		'Conversion': 1000,
		'SettleTime': 0.1,
		'SlewRate': 10000,
		'SlewRateMax': 1044000,
		'SlewRateMin': 0,
		'StepBacklash': 100,
		'StepCalibration': 0,
		'StepCalibrationUser': 0,
		'StepLimitMax': 500000,
		'StepLimitMin': -500000,
		'UnitCalibration': 0,
		'UnitCalibrationUser': 0}
    
    dev = DeviceProxy( name)
    
    try:
	print( "Device %s " % name)
	for key in list( defaults.keys()):
	    print( " %s to %s " % ( str(key) defaults[ key]))
	    attr = dev.read_attribute( key)
	    attr.value = defaults[ key]
	    dev.write_attribute( attr.name, attr.value)

    except DevFailed:
        extype, value = sys.exc_info()[:2]
        print( "Failed with exception %s" % str(extype))
        for err in value:
            print( " reason ", err.reason)
            print( " desc ", err.desc)
            print( " origin ", err.origin)
            print( " severity ", err.severity)
        sys.exit()
    except:
        print( " Failed to access ", name)
	print( sys.exc_info()[0])
	sys.exit()
        
    return 1
#
# ---- main
#
db = Database()
devices = db.get_device_exported( "*mot*")

for name in devices:
    setDefaults( name)