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

-------- Original-Nachricht --------

Datum: Tue, 20 Nov 2007 20:15:04 +0900
Von: Casimir <pikEISPAMMMseli@welho.com>
An: ruby-talk@ruby-lang.org
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

···

--
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger

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

···

2007/11/20, Casimir <pikEISPAMMMseli@welho.com>:

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"?

--
use.inject do |as, often| as.you_can - without end

-------- Original-Nachricht --------

Datum: Tue, 20 Nov 2007 20:15:04 +0900 Von: Casimir
<pikEISPAMMMseli@welho.com> An: ruby-talk@ruby-lang.org
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"?

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 :frowning:
    #I is dum!
  }
}

Csmr

···

On Tue, 20 Nov 2007 10:06:36 -0500, Axel Etzold wrote:
On Tue, 20 Nov 2007 11:49:30 -0500, Robert Klemme wrote:
--
Casimir Pohjanraito
Art Portfolio: http://csmr.dreamhosters.com

Casimir P wrote:

    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

Casimir P wrote:

    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!

Jari Williamsson wrote:

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