hacf-fr / freebox-api

Manage your freebox in Python using the Freebox OS API
https://readthedocs.org/projects/freebox-api/
GNU General Public License v3.0
31 stars 17 forks source link

app_auth file custom localisation #623

Closed reglisse69 closed 9 months ago

reglisse69 commented 9 months ago

Bonjour,

J'utilise cette librairie depuis un moment avec succès, notamment pour générer un fichier hosts depuis les périphériques de la freebox que je soumets à mon dns (dnsmasq/pihole).

Aucun problème jusqu'à ce que je décide de ne plus utiliser pyenv pour installer python et ses dépendances, mais python3 fournit par l'OS (debian ici).

Lancé alors avec un utilisateur lamda, la librairie pose problème à l'écriture du fichier d'authentification. En effet un utilisateur lamba ne peut pas écrire dans le répertoire d'installation python du système (ici /usr/local/lib/python3.11/dist-packages/freebox_api/app_auth).

Existe-t'il un moyen de paramétrer la localisation de ce fichier app_auth ?

Merci.

Exemple du code

async def hostfile():
    try:
        fbx = Freepybox()
        await fbx.open(host=freebox.fqdn, port=freebox.port)

       [...]

    except FileNotFoundError as e:
        log.critical(f"File error {e}")
        sys.exit(1)

    except PermissionError as e:
        log.critical(f"Permission error {e}")
        sys.exit(1)

    except Exception as e:
        log.critical(f"Unexpected error {e}")
        sys.exit(1)

    except:
        log.critical(f"Problem while querying freebox  on {freebox.fqdn}:{freebox.port}")
        log.warning(f"Remember to remove {dirname(app_auth)}/app_auth if needed or adjust rights on FreeboxOS")
        sys.exit(1)

Le retour :

Read application authorization file
No valid authorization file found
Please confirm the authentification on the freebox
Application authorization granted
Permission error [Errno 13] Permission denied: '/usr/local/lib/python3.11/dist-packages/freebox_api/app_auth
reglisse69 commented 9 months ago

Désolé, issue ouverte un peu vite.

Déjà implémenté : Freepybox(token_file=...)

reglisse69 commented 9 months ago

Merci !