parameters: (self)
return_statement: return all(fe.status is not None for fe in self.files_ext)
docstring: Tell if the scan is over or not
          :rtype: boolean
          :return: True if the scan is over
docstring_summary: Tell if the scan is over or not
          :rtype: boolean
          :return: True if the scan is over
docstring_tokens: Tell if the scan is over or not : rtype : boolean : return : True if the scan is over
function: def finished(self):
          """Tell if the scan is over or not
          :rtype: boolean
          :return: True if the scan is over
          """
          if self.status == IrmaScanStatus.finished:
              return True
          # Check min. status
          # It could happend that launched status
          # is not yet received and files_ext are already
          # there so just check that we are at least at uploaded
          if self.status < IrmaScanStatus.uploaded:
              return False
          return all(fe.status is not None for fe in self.files_ext)
function_tokens: def finished ( self ) : if self . status == IrmaScanStatus . finished : return True # Check min. status # It could happend that launched status # is not yet received and files_ext are already # there so just check that we are at least at uploaded if self . status < IrmaScanStatus . uploaded : return False return all ( fe . status is not None for fe in self . files_ext )