Metadata-Version: 2.1
Name: ml_uploads
Version: 0.1.0
Summary: Módulo para subir archivos a un servidor con opciones personalizadas.
Author: Marco Antonio Molina Leija
Author-email: marcomolinaleija@hotmail.com
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: requests
Requires-Dist: requests-toolbelt

# **ML Uploader**  

ML Uploader es un paquete que permite subir archivos a un servidor mediante una API y verificar si un nombre personalizado ya existe antes de subirlo.  

## **CaracterÃ­sticas**  
- Subida de archivos con nombre personalizado y tiempo de expiraciÃ³n  
- VerificaciÃ³n de nombres duplicados antes de la subida  
- Soporte para mostrar el progreso de la subida  

---

## **InstalaciÃ³n**  
Desde la raÃ­z del proyecto (donde se encuentra `setup.py`), ejecuta:  

pip install .

---

## **Uso**  

### **Verificar si un nombre personalizado ya existe**  
Antes de subir un archivo, puedes comprobar si un nombre ya estÃ¡ registrado en el servidor:  

```python
import ml_uploads

# URL del endpoint de verificaciÃ³n
url_check = "https://marco-ml.com/files/api/check.php"
custom_name = "ejemplo_archivo"

# VerificaciÃ³n
if ml_uploads.check_custom_name(url_check, custom_name):
	print(f"El nombre '{custom_name}' ya existe en el servidor.")
else:
	print(f"El nombre '{custom_name}' estÃ¡ disponible.")
```

---

### **Subir un archivo al servidor**  
Para subir un archivo al servidor, especifica la ruta del archivo y opcionalmente un nombre personalizado y el tiempo de expiraciÃ³n.  

```python
import ml_uploads

# URLs de la API
upload_url = "https://marco-ml.com/files/api/upload.php"

# ParÃ¡metros de la subida
file_path = "ruta/del/archivo.txt"
custom_name = "mi_archivo"
expire_time = 24  # ExpiraciÃ³n en horas

# Subir el archivo
try:
	response = ml_uploads.upload_file(
		file_path=file_path,
		upload_url=upload_url,
		custom_name=custom_name,
		expire=expire_time
	)

	# Extraer solo el enlace de descarga
	download_link = response.get("download_link", "No disponible")
	print("Archivo subido con Ã©xito. Enlace de descarga:", download_link)
except Exception as e:
	print("Error al subir el archivo:", e)
```

---

### **Mostrar progreso de subida**  
Puedes pasar una funciÃ³n de callback para ver el progreso de la subida:  

```python
def progress_callback(progress):
	print(f"Subida en progreso: {progress}%")

ml_uploads.upload_file(
	file_path="ruta/del/archivo.txt",
	upload_url="https://marco-ml.com/files/api/upload.php",
	custom_name="mi_archivo",
	expire=24,
	progress_callback=progress_callback
)
```

