Skip to content

Instantly share code, notes, and snippets.

@shingara
Created September 10, 2008 09:22
Show Gist options
  • Save shingara/9854 to your computer and use it in GitHub Desktop.
Save shingara/9854 to your computer and use it in GitHub Desktop.
class TraitementsController < ApplicationController
# GET /traitements
# GET /traitements.xml
require 'net/ftp'
def index
@traitements = Traitement.find(:all)
Net::FTP.open("ilidan.dinopol.lan") do |ftp|
ftp.passive = true
ftp.login("test", "test")
@filesini = ftp.nlst('pvini')
@filessub = ftp.nlst('pvsub')
end
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @traitements }
end
end
def archiverini
@traitement = Traitement.new(params[:traitement])
puts "test"
driver = connection
@output = " "
response = driver.login('admin','admin','10.1.1.4')
puts "test2"
@output = @output << "Cannot authenticate with KnowledgeTree: #{response.message}" unless response.status_code == 0
session = response.message
puts @output
@document = driver.add_base64_document(session,"#{@traitement.annee}","#{@traitement.numero}", "#{RAILS_ROOT}/public/upload/pvini/#{@traitement.doc}","Default",Base64.encode64(File.read("#{RAILS_ROOT}/public/upload/pvini/"[email protected])))
@output = @output << "Problem creating document:#{@document.message}\n" unless @document.status_code == 0
@output = @output << "Created document!\n" unless @document.status_code != 0
@output = @output << "Problem logging out: #{response.message}" unless response.status_code == 0
puts @output
response = driver.logout(session)
if @document.status_code = 0
Net::FTP.open("ilidan.dinopol.lan") do |ftp|
ftp.passive = true
ftp.login("test", "test")
ftp.chdir("pvini")
ftp.delete(@traitement.doc)
end
FileUtils.rm 'public/upload/pvini/'[email protected]
@output = @output << "Document archiver"
end
end
def archiversub
@traitement = Traitement.new(params[:traitement])
driver = connection
@output = " "
response = driver.login('admin','admin','10.1.1.4')
@output = @output << "Cannot authenticate with KnowledgeTree: #{response.message}" unless response.status_code == 0
session = response.message
@document = driver.add_base64_document(session,"#{@traitement.annee}","#{@traitement.numero}", "#{RAILS_ROOT}/public/upload/pvsub/#{@traitement.doc}","Default",Base64.encode64(File.read("#{RAILS_ROOT}/public/upload/pvsub/"[email protected])))
@output = @output << "Problem creating document:#{@document.message}\n" unless @document.status_code == 0
@output = @output << "Created document!\n" unless @document.status_code != 0
@output = @output << "Problem logging out: #{response.message}" unless response.status_code == 0
if @document.status_code = 0
response = driver.logout(session)
Net::FTP.open("ilidan.dinopol.lan") do |ftp|
ftp.passive = true
ftp.login("test", "test")
ftp.chdir("pvsub")
ftp.delete(@traitement.doc)
end
FileUtils.rm 'public/upload/pvsub/'[email protected]
@output = @output << "Document archiver"
end
end
def voirini
filename = params[:filename]
@traitement = Traitement.new(params[:traitement])
Net::FTP.open("ilidan.dinopol.lan") do |ftp|
ftp.passive = true
ftp.login("test", "test")
ftp.chdir("pvini")
ftp.getbinaryfile(filename, localfile = File.basename(filename), blocksize = 1024)
end
FileUtils.mv filename , 'public/upload/pvini/'+filename
end
def voirsub
filename = params[:filename]
@traitement = Traitement.new(params[:traitement])
Net::FTP.open("ilidan.dinopol.lan") do |ftp|
ftp.passive = true
ftp.login("test", "test")
ftp.chdir("pvsub")
ftp.getbinaryfile(filename, localfile = File.basename(filename), blocksize = 1024)
end
FileUtils.mv filename , 'public/upload/pvsub/'+filename
end
private
def connection
require 'soap/wsdlDriver'
wsdl = 'http://ilidan.dinopol.lan/arch/ktwebservice/webservice.php?wsdl'
driver = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver
return driver
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment