def __call__(self, files, path='/'):
		num_procs = utils.get_num_procs()
		chunks = multiprocessing.Manager().list()
		procs = [multiprocessing.Process(
			target=lambda *files: chunks.extend(
				self._get_chunks(files=files, path=path)),
			args=files[num::num_procs],
		) for num in range(num_procs)]
		map(multiprocessing.Process.start, procs)
		map(multiprocessing.Process.join, procs)
		return _result(list(chunks))
	def generate(self, gen_dir='html',
		style_sheet_file=os.path.join(this_dir, 'style.css'),
		index_tmpl_file=os.path.join(this_dir, 'index.tmpl'),
	):
		index_tmpl = Template(index_tmpl_file)
		num_procs = utils.get_num_procs()
		subdirs = sorted(self._result.get_subdirs())
		#generate html for each subdirectory
		procs = [multiprocessing.Process(
			target=lambda *subdirs: self._generate_subdirs(
				subdirs=subdirs, gen_dir=gen_dir, template=index_tmpl),
			args=subdirs[num::num_procs],
		) for num in range(num_procs)]
		map(multiprocessing.Process.start, procs)
		map(multiprocessing.Process.join, procs)
		#copy in style sheet
		css_file = os.path.abspath(os.path.join(gen_dir, 'style.css'))
		print "Generating:", css_file
		open(css_file, 'w').write(Template(style_sheet_file).parse())