code: def execute_hook(self, event_name):
          
          hook = self.settings.hooks.get_string('{!s}'.format(event_name))
          if hook is not None and hook != "":
              hook = hook.split()
              try:
                  subprocess.Popen(hook)
              except OSError as oserr:
                  if oserr.errno == 8:
                      log.error("Hook execution failed! Check shebang at first line of %s!", hook)
                      log.debug(traceback.format_exc())
                  else:
                      log.error(str(oserr))
              except Exception as e:
                  log.error("hook execution failed! %s", e)
                  log.debug(traceback.format_exc())
              else:
                  log.debug("hook on event %s has been executed", event_name)
docs: Execute shell commands related to current event_name