Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'yaml'
- require 'FileUtils'
- setup = YAML.load_file('./setup_principal.yml')
- $caminho_ftp = setup['caminho_ftp']
- $hotfolders = setup['hotfolder']
- $lista_monitorar = Hash[]
- def limpa(str)
- # limpa o nome de arquivo
- str = str.gsub(' ', '') # limpa espaços
- str = str.downcase # caixa baixa
- return str
- end
- def preflight
- # buscar gema Ruby que faça checagens básicas nos PDF
- end
- def mover(arquivo, titulo)
- # move arquivo para pasta de backup nomeada com o título
- diretorio_criar = File.dirname(arquivo) + '/' + titulo
- unless Dir.exist?(diretorio_criar)
- Dir.mkdir(diretorio_criar)
- end
- novo_arquivo = diretorio_criar + '/' + limpa(File.basename(arquivo))
- FileUtils.mv(arquivo, novo_arquivo)
- return novo_arquivo
- end
- def enviar_ao_gmg(arquivo, hotfolder)
- # anota identificador em lista_monitorar
- # envia ao gmg
- identificador = Time.now.to_i.to_s
- if Dir.exist?(hotfolder)
- arquivo_renomeado = arquivo.gsub(File.extname(arquivo), '_i' + identificador + File.extname(arquivo))
- puts arquivo_renomeado + ' > ' + hotfolder
- else puts "Hotfolder não existe: " + hotfolder
- end
- end
- def resgatar_do_gmg
- # traz arquivos de volta do gmg e exporta jpg para o cliente
- end
- def jpg
- # método chamado pelo método monitorar()
- # possível envio por email
- end
- def rotina_principal
- clientes = Dir.glob($caminho_ftp + '/*/setup.yml')
- clientes.each do |cliente|
- pasta = File.dirname(cliente)
- titulos = YAML.load_file(cliente)['titulos']
- Dir.glob(pasta+"/*.pdf").each {|arquivo|
- nome = File.basename(arquivo)
- str_padrao = limpa(nome.split("#")[0])
- if titulos.include?(str_padrao)
- arquivo_movido = mover(arquivo, str_padrao)
- enviar_ao_gmg(arquivo_movido, $hotfolders[titulos[str_padrao]])
- #resgatar_do_gmg
- end
- }
- end
- end
- rotina_principal
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement