Esempio n. 1
0
for p in data:
	# Pick which class we're using
	if p['type'] == 'M':
		e = Manager()
	else:
		e = Employee()

	# Basic Data
	e.id		= p['id']
	e.givenname = p['gn']
	e.surname	= p['sn']
	e.title		= p['t']

	# If the person has a manager, record it
	if 'm' in p:
		e.manager = employees[p['m']]
		employees[p['m']].reports.append(e)

	# Add to Employee Directory
	employees[e.id] = e


# Recursive Function to Print the Org Chart (tree)
#   person - Starting Person, required
#   limit  - How many levels deep to display, default is unlimited
#   level  - What level we're currently displaying (for formatting purposes), default is 0
def printOrgChart(person, limit=-1, level=0):
	print ("\t" * level) + person.lastfirst()

	if type(person) == Manager and (limit < 0 or limit > level):
		for report in person.reports: