parameters: (dirname)
docstring: Distclean function called in the particular case when::
  
  		top == out
  
  	:param dirname: absolute path of the folder to clean
  	:type dirname: string
docstring_summary: Distclean function called in the particular case when::
docstring_tokens: Distclean function called in the particular case when ::
function: def distclean_dir(dirname):
  	"""
  	Distclean function called in the particular case when::
  
  		top == out
  
  	:param dirname: absolute path of the folder to clean
  	:type dirname: string
  	"""
  	for (root, dirs, files) in os.walk(dirname):
  		for f in files:
  			if f.endswith(('.o', '.moc', '.exe')):
  				fname = os.path.join(root, f)
  				try:
  					os.remove(fname)
  				except OSError:
  					Logs.warn('Could not remove %r', fname)
  
  	for x in (Context.DBFILE, 'config.log'):
  		try:
  			os.remove(x)
  		except OSError:
  			pass
  
  	try:
  		shutil.rmtree('c4che')
  	except OSError:
  		pass
function_tokens: def distclean_dir ( dirname ) : for ( root , dirs , files ) in os . walk ( dirname ) : for f in files : if f . endswith ( ( '.o' , '.moc' , '.exe' ) ) : fname = os . path . join ( root , f ) try : os . remove ( fname ) except OSError : Logs . warn ( 'Could not remove %r' , fname ) for x in ( Context . DBFILE , 'config.log' ) : try : os . remove ( x ) except OSError : pass try : shutil . rmtree ( 'c4che' ) except OSError : pass