Procházka Lukáš Ing. schrieb am 06.12.18 um 11:20:
Hello,
I'm using the following code, mentioned here some time ago, to get some
info about PDF:
----
\startluacode
figures.getinfo = function(name, page)
if type(name) == "string" then
name = { name = name, page = page }
end
if name.name then
local data = figures.push(name)
--figures.identify()
local ok, res = pcall(figures.identify)
print(">>1", ok, res)
--figures.check()
local ok, res = pcall(figures.check)
print(">>2", ok, res)
figures.pop()
return data
end
end
local data = figures.getinfo("NonExisting.pdf")
\stopluacode
----
The problem is that once the PDF file doesn't exist, the function causes
ConTeXt to exit, even when I enclose 'figure.check()' into the 'pcall'
(to be handled like try/catch mechanism).
Is there a way so that the function 'figures.getinfo()' does't exit
ConTeXt, it just returns 'nil', or even gives info which directories (or
even which file types) were searched?
You can use the \doifelsefigure command for a simple check
\setupexternalfigure[location={local,global,default}]
\starttext
\doifelsefigure{cow}{YES}{NO}
\doifelsefigure{mill}{YES}{NO}
\doifelsefigure{bridge}{YES}{NO}
\stoptext
or the following stripped down version of the underlying Lua
code of the \doifelsefigure command
\setupexternalfigure[location={local,global,default}]
\starttext
\startluacode
local cow = figures.getinfo("cow")
if figures.get("status","status",0) == 0 then
context("NO") context.par()
else
context("YES") context.par()
end
local mill = figures.getinfo("mill")
if figures.get("status","status",0) == 0 then
context("NO") context.par()
else
context("YES") context.par()
end
local bridge = figures.getinfo("bridge")
if figures.get("status","status",0) == 0 then
context("NO") context.par()
else
context("YES") context.par()
end
\stopluacode
\stoptext
Wolfgang
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage : http://www.pragma-ade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : http://contextgarden.net
___________________________________________________________________________________