Ejemplo n.º 1
0
def sanitizeName(name, isClass):
	if (name == None or len(name) == 0):
		return ''
	result = name
	if (isClass):
		result = result[0].upper() + name[1:]
	else:
		result = result[0].lower() + name[1:]
	result = result.replace(' ', '')
	result = result.replace('/', '')
	result = result.replace('.', '')
	result = result.replace(' ', '')
	result = result.replace("'", '')
	result = result.replace('´', '')
	result = result.replace('`', '')
	result = result.replace('(', '_')
	result = result.replace(')', '_')
	result = result.replace('-', '_')

	SDTAbbreviate.abbreviate(result)
	
	return result
Ejemplo n.º 2
0
def print3OneM2MXSD(domain, directory, options):
	global headerText, domainDefinition, namespacePrefix, enumTypes, doAbbreviations, targetNamespace
	global abbreviationsInFile

	#
	#	Get various parameters
	#

	# read license text
	lfile = options['licensefile']
	if lfile != None:
		with open(lfile, 'rt') as f:
			headerText = f.read()

	# get the domain and domain prefix
	domainDefinition = options['domain']
	if domainDefinition == None:
		domainDefinition = ''

	namespacePrefix = options['namespaceprefix']
	if namespacePrefix == None:			# ERROR
		print('Error: XSD name space prefix not set')
		return

	# get target name space 
	targetNamespace = options['xsdtargetnamespace']
	if targetNamespace == None:
		targetNamespace = 'undefined'

	# get in and out file names for abbreviations
	abbreviationsInFile = options['abbreviationsinfile']



	# Read abbreviations
	SDTAbbreviate.readAbbreviations(abbreviationsInFile)

	# Create package path and make directories
	packagePath = directory + os.sep + domain.id.replace('.', os.sep)
	path = pathlib.Path(packagePath)
	try:
		path.mkdir(parents=True)
	except FileExistsError as e:
		pass # on purpose. We override files for now
	package = sanitizePackage(domain.id)

	# Export ModuleClasses
	for module in domain.modules:
		exportModuleClass(module, package, path)

	# Export Devices
	for device in domain.devices:
		exportDevice(device, package, path)

	# Export enum types
	exportEnumTypes(path)

	# Export found Actions
	exportActions(path)


	# Export abbreviations
	exportAbbreviations(path, SDTAbbreviate.getAbbreviations())