Advertisement
Guest User

Untitled

a guest
Jan 16th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. require 'yaml'
  2. require 'FileUtils'
  3.  
  4. setup = YAML.load_file('./setup_principal.yml')
  5. $caminho_ftp = setup['caminho_ftp']
  6. $hotfolders = setup['hotfolder']
  7. $lista_monitorar = Hash[]
  8.  
  9. def limpa(str)
  10. # limpa o nome de arquivo
  11. str = str.gsub(' ', '') # limpa espaços
  12. str = str.downcase # caixa baixa
  13. return str
  14. end
  15.  
  16. def preflight
  17. # buscar gema Ruby que faça checagens básicas nos PDF
  18. end
  19.  
  20. def mover(arquivo, titulo)
  21. # move arquivo para pasta de backup nomeada com o título
  22. diretorio_criar = File.dirname(arquivo) + '/' + titulo
  23. unless Dir.exist?(diretorio_criar)
  24. Dir.mkdir(diretorio_criar)
  25. end
  26. novo_arquivo = diretorio_criar + '/' + limpa(File.basename(arquivo))
  27. FileUtils.mv(arquivo, novo_arquivo)
  28. return novo_arquivo
  29. end
  30.  
  31. def enviar_ao_gmg(arquivo, hotfolder)
  32. # anota identificador em lista_monitorar
  33. # envia ao gmg
  34. identificador = Time.now.to_i.to_s
  35. if Dir.exist?(hotfolder)
  36. arquivo_renomeado = arquivo.gsub(File.extname(arquivo), '_i' + identificador + File.extname(arquivo))
  37. puts arquivo_renomeado + ' > ' + hotfolder
  38. else puts "Hotfolder não existe: " + hotfolder
  39. end
  40. end
  41.  
  42. def resgatar_do_gmg
  43. # traz arquivos de volta do gmg e exporta jpg para o cliente
  44. end
  45.  
  46. def jpg
  47. # método chamado pelo método monitorar()
  48. # possível envio por email
  49. end
  50.  
  51. def rotina_principal
  52. clientes = Dir.glob($caminho_ftp + '/*/setup.yml')
  53. clientes.each do |cliente|
  54. pasta = File.dirname(cliente)
  55.  
  56. titulos = YAML.load_file(cliente)['titulos']
  57.  
  58. Dir.glob(pasta+"/*.pdf").each {|arquivo|
  59. nome = File.basename(arquivo)
  60. str_padrao = limpa(nome.split("#")[0])
  61. if titulos.include?(str_padrao)
  62. arquivo_movido = mover(arquivo, str_padrao)
  63. enviar_ao_gmg(arquivo_movido, $hotfolders[titulos[str_padrao]])
  64. #resgatar_do_gmg
  65. end
  66. }
  67. end
  68. end
  69.  
  70. rotina_principal
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement