es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo subir un objeto similar a un archivo a Nextcloud con Python utilizando easywebdav?

Quiero exportar los fondos de pantalla directamente a mi nextcloud, excepto que no funciona sabiendo que estoy manipulando un objeto en Python

import easywebdav
from wallhaven.api import Wallhaven

# Configuración de Webdav
webdav = easywebdav.connect('192.168.1.40', username='Uri3l', password='micontraseña', protocol='http', port=80, verify_ssl=False)

# Directorio de destino
Mydir = webdav.cd("Wallhaven")

# Resultados de búsqueda
results = wallhaven.search()

# Guardar fondos de pantalla
for wallpaper in results.data:
    wallpaper.save(os.path.dirname(Mydir))

download()

Recibo este error como objeto os.PathLike cuando ejecuto el código

File "/home/dark/Dev/Bot/WallHaven-Bot/Bot_with_api.py", line 39, in download
    wallpaper.save(os.path.dirname(Mydir))
  File "/usr/lib/python3.9/posixpath.py", line 152, in dirname
    p = os.fspath(p)
TypeError: expected str, bytes or os.PathLike object, not NoneType
~/Dev ᐅ 
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que la variable Mydir no está siendo asignada correctamente o está devolviendo un objeto NoneType. Esto está causando un error en la línea wallpaper.save(os.path.dirname(Mydir)), ya que os.path.dirname espera una cadena o un objeto PathLike, no un NoneType. Es posible que debas verificar si webdav.cd("Wallhaven") es correcto y si devuelve una ruta de directorio válida. Además, puedes intentar usar str(Mydir) en lugar de os.path.dirname(Mydir) para convertir cualquier objeto PathLike en una cadena.

Comments are closed.