sincronizarArchivos.py 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. '''
  2. this file is part of "El Botadero"
  3. copyright 2019 Rodrigo Garcia <strysg@riseup.net>
  4. AGPL liberated.
  5. '''
  6. # Este script se encarga de comprobar el tiempo de los archivos y si es necesario borrarlos del sistema de archivos y de la base de datos
  7. # Tambien se encarga de sincronizar los archivos registrados en la BD y los existentes en el sitema de archivos, al hacer esta sincronizacion si se detectan cambios se marca la tabla `html_pages' en la BD para que se vuelvan a renderizar las paginas html con jinja2.
  8. import os
  9. import sys
  10. from botadero.shared import globalParams, gr
  11. from botadero import controller as co
  12. # comprobando tiempo borrado
  13. co.sincronizarArchivos(ignorar=['.gitkeep', '.gitkeep~', '#.gitkeep', '#.gitkeep#'])
  14. # categorias = u.categorias()
  15. # categorias.append('Misc')
  16. # print ('Comprobando tiempo de borrado de archivos...')
  17. # borrados = []
  18. # for categoria in categorias:
  19. # borrados = co.comprobarTiempoBorradoListaArchivos(categoria)
  20. # # se marca los templates para actualizarlos
  21. # if len(borrados) > 0:
  22. # co.marcarPaginaListaParaRenderizar(categoria=categoria)
  23. # # sincronizando archivos y BD
  24. # lsArchivos, registrosEnBd = u.sincronizarArchivos(ignorar=['gitkeep'])
  25. # archivosEnBd = []
  26. # archivos = []
  27. # for reg in registrosEnBd:
  28. # archivosEnBd.append(reg.path)
  29. # for archivo in lsArchivos:
  30. # archivos.append(os.path.join(os.path.curdir + os.path.sep, archivo))
  31. # print('archivos:\n', str(archivos), '\n', str(len(archivos)))
  32. # print('archivosEnBd:\n', str(archivosEnBd), '\n', str(len(archivosEnBd)))
  33. # if len(archivos) != len(archivosEnBd):
  34. # # aqui se debe rerprocesar
  35. # # caso nuevos archivos en el sistema de archivos
  36. # if len(archivos) > len(archivosEnBd):
  37. # for archivo in archivos:
  38. # if archivo not in archivosEnBd:
  39. # print ('+', str(archivo))
  40. # # agrega y marca nueva pagina para renderizar
  41. # co.marcarPaginaListaParaRenderizar(categoria=u.categoriaArchivo(archivo))
  42. # else:
  43. # # caso archivos que han sido borrados del sistema de archivos
  44. # for archivoEnBd in archivosEnBd:
  45. # if archivoEnBd not in archivos:
  46. # # agrega y marca nueva pagina para renderizar
  47. # print('-', str(archivoEnBd))
  48. # co.marcarPaginaListaParaRenderizar(categoria=u.categoriaArchivo(archivoEnBd))
  49. # # borra registro en la BD
  50. # u.borrarRegistroArchivoEnBd(u.nombreArchivo(archivoEnBd))
  51. print ('proceso sincronizacion terminado')
  52. sys.exit()