Libs for high-level file processing?

C

Casimir

Is there anything you comp.lang.ruby readers would recommend that would
abstract away things like "if file load fails" or "if file not found" or
"index of all .xml -files in the subdirs"?

I can do the rescue patrol -mission, but time is running out! Lost on
the Apache mountain. I am not sure my squad will get us there on time...

Not looking for anything big, preferably small and simple (ie. practical).

Thanks
Csmr
 
A

Axel Etzold

-------- Original-Nachricht --------
Datum: Tue, 20 Nov 2007 20:15:04 +0900
Von: Casimir <[email protected]>
An: (e-mail address removed)
Betreff: Libs for high-level file processing?
Is there anything you comp.lang.ruby readers would recommend that would
abstract away things like "if file load fails" or "if file not found" or
"index of all .xml -files in the subdirs"?

I can do the rescue patrol -mission, but time is running out! Lost on
the Apache mountain. I am not sure my squad will get us there on time...

Not looking for anything big, preferably small and simple (ie. practical).

Thanks
Csmr

Dear Casimir,

mmh - maybe rio can help?

http://rio.rubyforge.org/

Best regards,

Axel
 
R

Robert Klemme

2007/11/20 said:
Is there anything you comp.lang.ruby readers would recommend that would
abstract away things like "if file load fails" or "if file not found" or
"index of all .xml -files in the subdirs"?

I am not sure what you are missing. You can do

File.open("foo") do |io|
end resuce nil

if File.exists? "foo"

xml_files = Dir["bas/**/*.xml"]

Which is pretty small I'd say. What am I missing?

Kind regards

robert
 
C

Casimir P

-------- Original-Nachricht --------
Dear Casimir,
...
mmh - maybe rio can help? http://rio.rubyforge.org/

...You can do

File.open("foo") do |io|
end resuce nil

if File.exists? "foo"

xml_files = Dir["bas/**/*.xml"]

Which is pretty small I'd say. What am I missing?

I admint! I is dummy! IT's easy! 8)

Dir['/home/kasbah/*.jpg' && '/home/kasbah/*.png'].sort!.each { |f| puts
f.to_s }

But then its not that short:

if File.exists? $imgSourcePathStr
if File.exists? $imgDestPathStr
indexedDirs = indexImagesInDirs
($imgSourcePathStrs, $imgDestPathStr)
else
puts "no dest!"
exit
end
else
puts "no src!"
exit
end

indexedDirs.each { |one|
path=one[0]
num=0
one.flatten!.length < 8 ? num = (one.length.to_i-1) : num = 7
num.times { |m|
puts "converting (" + (m+1).to_s + "/" + num.to_s + ")"
imgname = one[(m+1)]
savesubpath = path.split("/").last
saveresized = savetargetstr.to_s + "/" + path.split("/").last + "/" +
(m+1).to_s + "fullsize" + imageFormat
#and then write and FAIL..
#Double slash kills..
#Or directory doesnt exist!
#Its all too complicated :(
#I is dum!
}
}

Csmr
 
J

Jari Williamsson

Casimir said:
savesubpath = path.split("/").last
saveresized = savetargetstr.to_s + "/" + path.split("/").last + "/" +
(m+1).to_s + "fullsize" + imageFormat
#and then write and FAIL..
#Double slash kills..
#Or directory doesnt exist!

I think the lines above are more easily handled if you use the methods
in the core File library, such as File.basename etc. Much to choose from
there.


Best regards,

Jari Williamsson
 
C

Casimir

Jari said:
I think the lines above are more easily handled if you use the methods
in the core File library, such as File.basename etc. Much to choose from
there.

Yes. I was oblivious to File.basename which was exactly what I was
looking for. Thank you for pushing me in the right direction!

But I was not waste of time! I twas gathering cases for file ops. IT's
easy! 8)

Here's what I got, minimal case plan
- Open file
- Create file that doesn't exist, open
- Save file
- Overwrite file
- Dir doesnt exist, create
- get filename from path str (file.basename).
- get the sub dir file is ("deepest" dir)
- remove dbl slashes (etc crap).
- nonrelative dir (remove /dir1/../dir1/ etc.)

I was looking for guide covering these on google. Didn't find one. I
guess I will have to write a micro guide to these. 8)

Csmr
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,270
Messages
2,571,353
Members
48,038
Latest member
HunterDela

Latest Threads

Top