def _deleteFile(self,directory,fn,dentry,db,service):
<EOL>logger.debug("<STR_LIT>"%(fn))<EOL>if fn not in db:<EOL><INDENT>print("<STR_LIT>"%(fn))<EOL>return False<EOL><DEDENT>servicenames=db[fn]['<STR_LIT>'].keys()<EOL>if service is None:<EOL><INDENT>servicelist=servicenames<EOL><DEDENT>else:<EOL><INDENT>servicelist=[service]<EOL><DEDENT>for service in servicelist:<EOL><INDENT>if not db[fn]['<STR_LIT>'].has_key(service):<EOL><INDENT>print("<STR_LIT>"%(service))<EOL>continue<EOL><DEDENT>if db[fn]['<STR_LIT>'][service]['<STR_LIT:status>']!=self.ST_DELETED:<EOL><INDENT>print("<STR_LIT>"%(fn,service))<EOL>continue<EOL><DEDENT>if self.sman.GetServiceObj(service).Remove(directory,fn):<EOL><INDENT>del db[fn]['<STR_LIT>'][service]<EOL>logger.debug('<STR_LIT>'%(fn,service))<EOL><DEDENT>else:<EOL><INDENT>logger.error('<STR_LIT>'%(fn,service))<EOL>continue<EOL><DEDENT><DEDENT>if len(db[fn]['<STR_LIT>'].keys())==<NUM_LIT:0>:<EOL><INDENT>del db[fn]<EOL><DEDENT>return True<EOL>
Deletets file and changes status to '?' if no
        more services manages the file