making a class with built-in checks on success

P

Peter Bailey

Hello,
I've been using an image conversion tool here in my department for many
years, and, I'd like to create a Ruby class for it that I can call on in
my scripts. I use this tool usually to convert either PDF or EPS
original files to a variety of bitmap formats. Sometimes I might have a
problem with the software converting a particular PDF or EPS file,
usually because of some anomaly in the original file. So, in my Ruby
scripts, I'd like to tell my script to use the other source format if
the one doesn't work, i.e, use the EPS original instead of the PDF if
the PDF doesn't work, or vice-versa.

Anyway, can someone suggest some kind of success check in this class?
How could I include, in each of my defs below, some sort of
error-checking? If I just put an "if Alchemy.tiff == true," it's too
late. The file might've already failed.

I'm using it in script like this:
...
Alchemy.tiff pdffile
...
Alchemy.png pdffile
...


Thanks a lot. I'm totally new to this class business, but, I can see
that it's part of the gold that's in Ruby.

Peter



class Alchemy
def initialize(file)
@file = file
end

def Alchemy.tiff(file)
`alchemy #{file} -t1 -Zc1 -Zm2 -Za4 -Zd 300 300 -o`
end
def Alchemy.tiffbw(file)
`alchemy #{file} -t204 -Zc1 -Zm2 -Za4 -Zd 300 300 -o`
end
def Alchemy.png(file)
`alchemy #{file} ---n9 -Zc1 -Zm2 -Za4 -Zd 100 100 -o`
end
end
 
B

Brian Candler

Anyway, can someone suggest some kind of success check in this class?

The command's exit status should be set in $? after calling the command in
backticks.

ri Process::Status
 
P

Peter Bailey

Brian said:
The command's exit status should be set in $? after calling the command
in
backticks.

ri Process::Status

Wow. Sounds simple. I'll play with that. Thanks!
 
M

Marcin Raczkowski

Wow. Sounds simple. I'll play with that. Thanks!
check exit status, or use File to check if file exists after conversion
good idea would be to use Exceptions and retry
 

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

Forum statistics

Threads
474,262
Messages
2,571,044
Members
48,769
Latest member
Clifft

Latest Threads

Top