Cómo ejecutar hook dependiendo de la ubicación del archivo

Estoy involucrado en un proyecto de Python donde se usan pestañas, sin embargo, no las estoy usando en todos los demás códigos que escribo, es vital usarlas en ese proyecto en particular. Los proyectos se encuentran en un directorio bajo directorios específicos. ES DECIR

\main_folder
    \project1
    \project2
    \project3
...etc

Tengo un par de funciones / ganchos en el archivo abierto y lo guardo para destabificar y tabular todo el buffer en el que trabajo.

 ;; My Functions
(defun untabify-buffer ()
            "Untabify current buffer"
        (interactive)
        (untabify (point-min) (point-max)))

(defun tabify-buffer ()
        "Tabify current buffer"
        (interactive)
        (tabify (point-min) (point-max)))

;; HOOKS
; untabify buffer on open
(add-hook 'find-file-hook 'untabify-buffer)
; tabify on save
(add-hook 'before-save-hook 'tabify-buffer)

Si lo pongo en un archivo .emacs se ejecuta en cada archivo .py que abro, que no es lo que quiero. Lo que me gustaría tener es que estos ganchos se usen solo en una carpeta particular con sus respectivas subcarpetas. Intenté .dir_locals pero solo funciona para propiedades no ganchos. No puedo usar ganchos en modos específicos (es decir, modo python) ya que casi todos los proyectos están escritos en python. Para ser sincero, intenté escribir elisp conditional save pero fallé.

Respuestas a la pregunta(2)

Su respuesta a la pregunta