diff -ur tar2rubyscript-0.4.0.tar.gz/tar2rubyscript/init.rb tar2rubyscript-0.4.1.tar.gz/tar2rubyscript/init.rb
--- tar2rubyscript-0.4.0.tar.gz/tar2rubyscript/init.rb 2004-12-03 23:09:07.000000000 +0100
+++ tar2rubyscript-0.4.1.tar.gz/tar2rubyscript/init.rb 2004-12-18 14:58:32.000000000 +0100
@@ -2,7 +2,7 @@
exit if ARGV.include?("--tar2rubyscript-exit")
-scriptfile = "tarrubyscript.rb"
+scriptfile = newlocation("tarrubyscript.rb")
tarfile = oldlocation(ARGV.shift)
rbfile = oldlocation(ARGV.shift)
licensefile = oldlocation(ARGV.shift)
diff -ur tar2rubyscript-0.4.0.tar.gz/tar2rubyscript/tarrubyscript.rb tar2rubyscript-0.4.1.tar.gz/tar2rubyscript/tarrubyscript.rb
--- tar2rubyscript-0.4.0.tar.gz/tar2rubyscript/tarrubyscript.rb 2004-12-03 22:53:43.000000000 +0100
+++ tar2rubyscript-0.4.1.tar.gz/tar2rubyscript/tarrubyscript.rb 2004-12-18 12:29:29.000000000 +0100
@@ -21,6 +21,7 @@
# Tar2RubyScript constants
+ShowContent = ARGV.include?("--tar2rubyscript-list")
JustExtract = ARGV.include?("--tar2rubyscript-justextract")
ToTar = ARGV.include?("--tar2rubyscript-totar")
@@ -91,6 +92,12 @@
end
end
+ def list
+ each do |entry|
+ entry.list
+ end
+ end
+
def each
@fp.rewind
@@ -153,6 +160,18 @@
#File.utime(Time.now, @header.mtime, @header.name)
end
end
+
+ def list
+ if not @header.name.empty?
+ if @header.dir?
+ puts "d %s" % [@header.name]
+ elsif @header.file?
+ puts "f %s (%s)" % [@header.name, @data.length]
+ else
+ puts "Couldn´t handle entry #{@header.name}"
+ end
+ end
+ end
end
class Header
@@ -201,6 +220,32 @@
end
end
+class Content
+ def initialize
+ @archive = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
+ temp = ENV["TEMP"]
+ temp = "/tmp" if temp.nil?
+ @tempfile = "#{temp}/tar2rubyscript.f.#{Process.pid}"
+ end
+
+ def list
+ begin
+ File.open(@tempfile, "wb") {|f| f.write @archive}
+ File.open(@tempfile, "rb") {|f| Reader.new(f).list}
+ ensure
+ File.delete(@tempfile)
+ end
+
+ self
+ end
+
+ def cleanup
+ @archive = nil
+
+ self
+ end
+end
+
class TempSpace
def initialize
@archive = File.open(File.expand_path(__FILE__), "rb"){|f| f.read}.gsub(/\r/, "").split(/\n\n/)[-1].split("\n").collect{|s| s[2..-1]}.join("\n").unpack("m").shift
@@ -377,29 +422,29 @@
end
end
-if JustExtract
+if ShowContent
+ Content.new.list.cleanup
+elsif JustExtract
Extract.new.extract.cleanup
+elsif ToTar
+ MakeTar.new.extract.cleanup
else
- if ToTar
- MakeTar.new.extract.cleanup
- else
- TempSpace.new.extract.cleanup
+ TempSpace.new.extract.cleanup
- $: << newlocation
+ $:.unshift(newlocation)
- newlocation do
- if __FILE__ == $0
- $0.replace("./init.rb")
+ newlocation do
+ if __FILE__ == $0
+ $0.replace("./init.rb")
- if File.file?("./init.rb")
- load "./init.rb"
- else
- $stderr.puts "%s doesn´t contain an init.rb ." % __FILE__
- end
+ if File.file?("./init.rb")
+ load "./init.rb"
else
- if File.file?("./init.rb")
- load "./init.rb"
- end
+ $stderr.puts "%s doesn´t contain an init.rb ." % __FILE__
+ end
+ else
+ if File.file?("./init.rb")
+ load "./init.rb"
end
end
end