code: def listFileParents(self, logical_file_name="", block_id=0, block_name=""):
          
          #self.logger.debug("lfn %s, block_name %s, block_id :%s" % (logical_file_name, block_name, block_id))
          if not logical_file_name and not block_name and not block_id:
              dbsExceptionHandler('dbsException-invalid-input', \
                  "Logical_file_name, block_id or block_name is required for fileparents api", self.logger.exception )
          with self.dbi.connection() as conn:
              sqlresult = self.fileparentlist.execute(conn, logical_file_name, block_id, block_name)
              d = {}
              #self.logger.debug(sqlresult)
              for i in sqlresult:
                  k = i['this_logical_file_name']
                  v = i['parent_logical_file_name']
                  d.setdefault(k, []).append(v)
              for k, v in d.iteritems():
                  yield {'logical_file_name':k, 'parent_logical_file_name': v}
              del d
docs: required parameter: logical_file_name or block_name
          returns: this_logical_file_name, parent_logical_file_name, parent_file_id