docs: def run(self):
          """Will call self.launch() after performing some checks"""
          # Check already exists #
          if self.status == "READY": return self.launch()
          # Check name conflict #
          if self.status == "DUPLICATE":  message = "Job with same name '%s' already in queue, but we lost the script."
          if self.status == "QUEUED":     message = "Job '%s' already in queue."
          if self.status == "RUNNING":    message = "Job '%s' already running."
          if self.status == "FINISHED":   message = "Job '%s' already ended successfully."
          if self.status == "ABORTED":    message = "Job '%s' was killed without any output file (?)."
          if self.status == "CANCELED":   message = "Job '%s' was canceled or killed while running."
          if self.status == "INTERUPTED": message = "Job '%s' is not running. We don't know why. Look at the log file."
          print Color.i_red + message % (self.name,) + Color.end
          print "Job might have run already (?). Not starting."