From: THAKUR PRASHANT SINGH on
I am creating zip file using ruby zip there are two versions of creating
the zip file 1st version part of class and in 2nd version running it
alone.
The kmz file created with 1st version doesn't contain complete text of
LOC_0.kml Whereas the 2nd version does contain the complete file
contents..
I.e. if LOC_0.kml has 100 lines then 1st version kmz file contains only
95 lines while 2nd version contains complete 100 lines.
Can you please suggest what can be the reason ?

====================Class function====================== require
'zip/zip'

class ZipUtils
attr :filename
def initialize(filename)
@filename=filename
end
def createkmzfile
kml_name=(a)filename
puts kml_name
kmz_file = kml_name.sub(".kml",".kmz")

File.delete(kmz_file) if File.exists?(kmz_file)

Zip::ZipFile.open(kmz_file, Zip::ZipFile::CREATE) {
|zf|
zf.add(kml_name, "kml/#{kml_name}")
zf.mkdir("images")
imglist=Dir.glob("images/*.png")
puts imglist
for i in 0..imglist.size-1
zf.add(imglist[i], imglist[i])
end
}

end
end
==========================external file===========================
require 'zip/zip'

class ZipUtils
attr :filename
def initialize(filename)
@filename=filename
end
def createkmzfile


end
end


kml_name="LOC_0.kml"
kmz_file = kml_name.sub(".kml",".kmz")
puts kml_name
File.delete(kmz_file) if File.exists?(kmz_file)

Zip::ZipFile.open(kmz_file, Zip::ZipFile::CREATE) {
|zf|
zf.add(kml_name, "kml/#{kml_name}")
zf.mkdir("images")
imglist=Dir.glob("images/*.png")
puts imglist
for i in 0..imglist.size-1
zf.add(imglist[i], imglist[i])
end
}




From: Brian Candler on
Your first piece of code doesn't do anything at all, because it just
creates a class ZipUtils but does nothing with it (never instantiates
it, never calls a class method).

Please make two complete standalone test programs to demonstrate your
problem. This means that (a) we can see if we can duplicate your problem
on our own machines, and (b) we can tell you why it's not working as you
expect. Or you may find in the process of making these standalone
problems where the issue lies.

It's also useful to know what version of ruby you're running under, and
what O/S.
--
Posted via http://www.ruby-forum.com/.

From: THAKUR PRASHANT SINGH on
The ruby version is ruby 1.8.6 (2008-08-11 patchlevel 287)
[i386-mswin32]
The OS is Win XP
The first piece of code is called as lines below from another class
zip_file= ZipUtils.new(@file_names[file_index])
zip_file.createkmzfile

-----Original Message-----
From: b.candler(a)pobox.com [mailto:b.candler(a)pobox.com]
Sent: Friday, February 26, 2010 2:24 PM
To: ruby-talk ML
Subject: Re: Class Function call vs Normal Function call

Your first piece of code doesn't do anything at all, because it just
creates a class ZipUtils but does nothing with it (never instantiates
it, never calls a class method).

Please make two complete standalone test programs to demonstrate your
problem. This means that (a) we can see if we can duplicate your problem

on our own machines, and (b) we can tell you why it's not working as you

expect. Or you may find in the process of making these standalone
problems where the issue lies.

It's also useful to know what version of ruby you're running under, and
what O/S.
--
Posted via http://www.ruby-forum.com/.


From: Brian Candler on
THAKUR PRASHANT SINGH wrote:
> The first piece of code is called as lines below from another class
> zip_file= ZipUtils.new(@file_names[file_index])
> zip_file.createkmzfile

That's no good. As I said, you need to create two separate *standalone*
test cases which replicate the problem.

This is because the problem you describe makes no sense just with the
code snippets you posted, since the code is the same in both cases, as
you know.

Hence the problem lies somewhere outside, and so it's up to you to
provide two *complete* runnable programs which demonstrate the problem.

Since these programs read external data, you'll need to provide some
sample data files too (or better, include some short data items within
the code itself, if you can still replicate the problem like this)

--
Posted via http://www.ruby-forum.com/.

From: THAKUR PRASHANT SINGH on
Hi Brain,
I have tried to create a test application with code like

zip_file= ZipUtils.new('FILE_0.kml')
zip_file.createkmzfile
this works fine.
The problem comes which I think is when we have very high CPU usage in
my case it was 50% i.e. in dual processor machine a processor was
completely occupied.
Can this be a reason ?
The test scenario can be load the CPU in program and then execute these
lines when utilization reaches these levels.
I got a similar issue when I was using REXML which got corrected when I
switched to Nokogiri..
Any other pointers ??
Regards,
Prashant

-----Original Message-----
From: b.candler(a)pobox.com [mailto:b.candler(a)pobox.com]
Sent: Friday, February 26, 2010 4:36 PM
To: ruby-talk ML
Subject: Re: Class Function call vs Normal Function call

THAKUR PRASHANT SINGH wrote:
> The first piece of code is called as lines below from another class
> zip_file= ZipUtils.new(@file_names[file_index])
> zip_file.createkmzfile

That's no good. As I said, you need to create two separate *standalone*
test cases which replicate the problem.

This is because the problem you describe makes no sense just with the
code snippets you posted, since the code is the same in both cases, as
you know.

Hence the problem lies somewhere outside, and so it's up to you to
provide two *complete* runnable programs which demonstrate the problem.

Since these programs read external data, you'll need to provide some
sample data files too (or better, include some short data items within
the code itself, if you can still replicate the problem like this)

--
Posted via http://www.ruby-forum.com/.


 |  Next  |  Last
Pages: 1 2
Prev: class ExistingName
Next: Counting a string