#encoding: UTF-8
# This file is part of Rmldonkey.
# Rmldonkey is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# Rmldonkey is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with Rmldonkey. If not, see <http://www.gnu.org/licenses/>.
# Copyright 2009-2014, Manuel Ramos Caro manuelramoscaro@yahoo.es
require 'rubygems'
require 'zlib'
class String
def compress
z = Zlib::Deflate.new(Zlib::DEFAULT_COMPRESSION)
dst = z.deflate(self, Zlib::FINISH)
z.close
dst
end #def compress
def decompress
zstream = Zlib::Inflate.new
buf = zstream.inflate(self)
zstream.close
buf
end #def decompress
end #class String
class ConfigWebResources
def initialize
@web_resource1_name = Dir.home.to_s + "/.rmldonkey/log62.png"
if File.exists?(@web_resource1_name)
puts @web_resource1_name + " resource readed..."
else
is = Java::BufferedImage.new
is = javax.imageio.ImageIO.read(java.lang.Object.new.java_class.resource("/log62.png"))
javax.imageio.ImageIO.write(is,"png".to_java, java.io.File.new(@web_resource1_name))
puts @web_resource1_name + " resource write..."
end #if File.exists?(@web_resource1_name)
end #def configWebResources
end #class ConfigWebResources
class SaveProfile
def saveFile(server,port,user,pass)
@profile_file_name = Dir.home.to_s + "/.rmldonkey/profile"
if File.exists?(@profile_file_name)
file_aux = String.new
file_temp = String.new
File.open(@profile_file_name) do |f|
f.each do |line|
file_aux += line.to_s
end #f.each do |line|
end #File.open(@profile_file_name) do |f|
server_to_s_encrypt = server.to_s.compress + "\n"
port_to_s_encrypt = port.to_s.compress + "\n"
if user != " "
user_to_s_encrypt = user.to_s.compress + "\n"
else
user_to_s_encrypt = "\n"
end # if user != nil
if pass != " "
pass_to_s_encrypt = pass.to_s.compress + "\n"
else
pass_to_s_encrypt = "\n"
end # if pass != nil
file_temp = server_to_s_encrypt + port_to_s_encrypt + user_to_s_encrypt + pass_to_s_encrypt
if file_aux != file_temp
self.makeSave(server,port,user,pass)
else
#do nothing or debug purpose display files
#puts "file_aux" + "\n" + file_aux
#puts "file_temp" + "\n" + file_temp
end #if file_aux != file_temp
else
if File.exists?(Dir.home.to_s + "/.rmldonkey")
if File.directory?(Dir.home.to_s + "/.rmldonkey")
else
File.delete(home.to_s + "/.rmldonkey")
Dir.mkdir(home.to_s + "/.rmldonkey", 0700)
end #if File.directory?(Dir.home.to_s + "/.rmldonkey")
else
Dir.mkdir(Dir.home.to_s + "/.rmldonkey", 0700)
end #if File.exists?(Dir.home.to_s + "/.rmldonkey")
self.makeSave(server,port,user,pass)
end #File.exists?(Dir.home.to_s + "/.rmldonkey/profile")
end #def saveFile(server,port,user,pass)
def makeSave(server,port,user,pass)
f = File.new(@profile_file_name,"w")
server_to_s_encrypt = server.to_s.compress + "\n"
port_to_s_encrypt = port.to_s.compress + "\n"
if user != " "
user_to_s_encrypt = user.to_s.compress + "\n"
else
user_to_s_encrypt = "\n"
end # if user != nil
if pass != " "
pass_to_s_encrypt = pass.to_s.compress + "\n"
else
pass_to_s_encrypt = "\n"
end # if pass != nil
f.write(server_to_s_encrypt)
f.write(port_to_s_encrypt)
f.write(user_to_s_encrypt)
f.write(pass_to_s_encrypt)
f.close
end #def makeSave(server,port,user,pass)
end #class SaveProfile
#usage
#save_profile = SaveProfile.new
#save_profile.saveFile("server1","port","user","pass")
#save_profile.saveFile("server2","port","user","pass")
class ReadProfile
def initialize
profile_file_name = Dir.home.to_s + "/.rmldonkey/profile"
if File.exists?(profile_file_name)
File.open(profile_file_name) do |f|
i = 0
f.each do |line|
case i
when 0
@server = line.chomp.to_s
when 1
@port = line.chomp.to_s
when 2
@user = line.chomp.to_s
when 3
@pass = line.chomp.to_s
end # case i
i += 1
end #f.each do |line|
end #File.open(profile_file_name) do |f|
@exist_profile = true
else
@exist_profile = false
end #
end # def initialize
def ExistProfile
return @exist_profile
end # def ExistProfile
def readServer
return @server.to_s.decompress
end #def readServer
def readPort
return @port.to_s.decompress
end #def readPort
def readUser
if @user == ""
return ""
else
return @user.to_s.decompress
end #if @user.to_s = ""
end #def readUser
def readPass
if @pass == ""
return ""
else
return @pass.to_s.decompress
end #if @pass.to_s = ""
end #def readPass
end #class ReadProfile
#usage
#profile = ReadProfile.new
#if profile.ExistProfile
# puts "***con perfil***"
# puts profile.readServer
# puts profile.readPort
# puts profile.readUser
# puts profile.readPass
#else
# puts "***sin perfil***"
#end