docs: def change_location(src, tgt, move=False, verbose=True):
      '''
      Copies/moves/deletes locations
  
      :param src:
          Source location where to copy from
      :param tgt:
          Target location where to copy to
  
          * To backup `src`, set `tgt` explicitly to ``True``. \
          `tgt` will be set to `src` + '_backup_' + \
          :func:`util.system.get_timestamp` then
  
      :param move:
          Deletes original location after copy (a.k.a. move)
  
          * To delete `src` , set `tgt` explicitly to ``False`` \
          and `move` to ``True`` (be careful!!1!)
  
      :param verbose:
          Show warnings
      '''
  
      from photon.util.system import shell_notify
  
      if _path.exists(src):
          if tgt:
              if _path.isfile(src):
                  _copy2(src, search_location(
                      tgt, create_in=_path.dirname(tgt), verbose=verbose)
                  )
              else:
                  for l in _listdir(src):
                      change_location(
                          _path.abspath(_path.join(src, l)),
                          _path.abspath(_path.join(tgt, l))
                      )
          if move:
              if _path.isdir(src) and not _path.islink(src):
                  _rmtree(src)
              else:
                  _remove(src)
          if verbose:
              shell_notify(
                  '%s location' % (
                      'deleted'
                      if not tgt and move else
                      'moved'
                      if move else
                      'copied'
                  ),
                  more=dict(src=src, tgt=tgt)
              )