[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Libs for high-level file processing?

Casimir

11/20/2007 11:14:00 AM

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
5 Answers

Axel Etzold

11/20/2007 3:07:00 PM

0


-------- 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.ruby...

Best regards,

Axel

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

Robert Klemme

11/20/2007 4:50:00 PM

0

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

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

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

Casimir P

11/20/2007 10:17:00 PM

0

> -------- 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"?
>>
On Tue, 20 Nov 2007 10:06:36 -0500, Axel Etzold wrote:
> Dear Casimir,
> ...
> mmh - maybe rio can help? http://rio.ruby...
>

On Tue, 20 Nov 2007 11:49:30 -0500, Robert Klemme wrote:
>
> ...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
--
Casimir Pohjanraito
Art Portfolio: http://csmr.dreamh...

Jari Williamsson

11/21/2007 9:02:00 AM

0

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

11/21/2007 9:34:00 AM

0

> 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