<?xml version="1.0" encoding="ISO-8859-1"?>
<ss:description type="action" id="com.autodesk.XML.GetFiles"
		xmlns:ss="urn:Autodesk:Server"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="urn:Autodesk:Server Schema.xsd">
	<ss:title>Get Files</ss:title>
	<ss:section>Files</ss:section>
	<ss:output>com.autodesk.objects.FilesObject</ss:output>
	<ss:options>
		<ss:label/>
		<ss:option name="directory">
			<ss:label>Directory</ss:label>
			<ss:tooltip>
				Enter a directory name.
			</ss:tooltip>
			<ss:dirname/>
		</ss:option>
		<ss:option name="recursive">
			<ss:label>Recurse</ss:label>
			<ss:tooltip>
				Recursively list the directory contents.
			</ss:tooltip>
			<ss:checkbox default="true"/>
		</ss:option>
	</ss:options>
	<ss:code>
import os
from com.autodesk.objects import FilesObject
from java.lang import String

def getContents(base, dir, recurse):
	if dir == None:
		localRoot = base
	else:
		localRoot = os.path.join(base, dir)

	result = []
	contents = os.listdir(localRoot)
	for file in contents:
		fullname = os.path.join(localRoot, file)
		if dir == None:
			partialName = file
		else:
			partialName = os.path.join(dir, file)

		if os.path.isdir(fullname):
			if recurse:
				result.extend(getContents(base, partialName, recurse))
		else:
			result.append(fullname)

	return result


def main(input, directory, recursive):
	if directory != None and len(directory) > 0 and os.path.isdir(directory):
		return FilesObject(directory, getContents(directory, None, recursive))
	return None

	</ss:code>
</ss:description>
