Es un script en Python diseñado para facilitar la sincronización y gestión de archivos entre servidores SMB (Server Message Block) y WebDAV (Web Distributed Authoring and Versioning). Especialmente útil para empresas que requieren automatizar la transferencia y el procesamiento de archivos PDF entre diferentes plataformas de almacenamiento.
- Conexión automática a servidores SMB y WebDAV.
- Transferencia y renombramiento de archivos PDF basados en condiciones específicas.
- Filtrado y manejo de archivos recursivamente en directorios de SMB.
- Registro detallado de operaciones para facilitar el seguimiento y la depuración.
Lista de requisitos previos necesarios :
- Python 3.8 🐍
- Bibliotecas:
smb.SMBConnection
,webdav3.client
Instrucciones paso a paso para instalar y configurar tu proyecto. Por ejemplo:
git clone git@github.com:Niskeletor/contaFacturas.git
pip install -r requirements.txt
Antes de ejecutar el script, es necesario configurar las credenciales y rutas de los servidores SMB y WebDAV. Estos datos se deben proporcionar a través de un archivo configuracion.json
o mediante variables de entorno.
Si se opta por la estructura de configuracion.json
:
{
"nombre_usuario": "usuario",
"pass": "contraseña",
"nombre_servidor": "nombreServidor",
"nombre_cliente": "nombreCliente",
"direccion_servidor": "direccionServidor",
"base_webdav_path": "/ruta/base/webdav",
"servicio_nombre": "nombreServicio",
"ruta_compartida_tb": "/ruta/compartida",
// ... otras configuraciones
}
Si se opta por las variables de entorno :
NOMBRE_USUARIO=Usuario@dominio.local
PASS=passwordUsuarioDominio
NOMBRE_SERVIDOR=Netbios
NOMBRE_CLIENTE=MiPC
DIRECCION_SERVIDOR=DireccionIPServidor
WEBDAV_HOSTNAME=https://nube.nexcloud.com/remote.php/dav/files/usuario/
WEBDAV_LOGIN=usuarioWebdav
WEBDAV_PASSWORD=passworduserWebdav
Caution
No uses la configuracion y credenciales desde un JSON en producción. Es un alto riesgo de seguridad
contaFacturas/
├─ README.md
│
├─ smbwebdav.py
├─ conf.env
├─ app.py
├─ requirements.txt
│
└── configuracion.json
Para ejecutar el script, usa el siguiente comando:
python app.py
Las contribuciones son bienvenidas. Si deseas contribuir al proyecto, por favor, haz un fork del repositorio y crea un pull request con tus cambios.
______ _ _
| ___ \(_) | |
| | | |_ ___ ____ ___ _ | | ____
| | | | |/___)/ ___) _ \ / || |/ _ )
| | | | |___ ( (__| |_| ( (_| ( (/ /
|_| |_|_(___/ \____)___/ \____|\____)
Este proyecto está licenciado bajo MIT, siéntete de hacer el cambio que necesites! Espero que esto sea para ti una palanca de ayuda si estás comenzando con el scripting o con algún lenguaje de programación