Hello Luigi,
On Thu, 06 Dec 2018 11:23:25 +0100, luigi scarso
On Thu, Dec 6, 2018 at 11:17 AM Procházka Lukáš Ing.
wrote: 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?
TIA.
something like that (untested), eventaully to be wrapped in a your function local fileone = "NonExisting.pdf" local data if not lfs.isfile(fileone) then report("unknown file %a",fileone)
well, yes, this should work; but \externalfigure uses a mechanism to lookup for a file which combines paths specified by "location=", "directory=", "order=" and maybe some more. And whilst \externalfigure should find a file (whose location may not be known exactly, it just may use e.g. "directory=" spec), simple "lfs.isfile(fileone)" could not find the file since the exact path has not been specified. IOW, I need to combine searching-for-file mechanism which is used inside \externalfigure with 'figures.getinfo()' so the 'getinfo()' should return 'nil' when no file (being specified like in \externalfigure, i.e. with no exact path, even without extension) is found. BTW: Ctx tells me "attempt to call a nil value (global 'report')" on "report("unknown file %a",fileone)" - do I have to enable/load something? Lukas
else data = figures.getinfo("NonExisting.pdf") end
-- Ing. Lukáš Procházka | mailto:LPr@pontex.cz Pontex s. r. o. | mailto:pontex@pontex.cz | http://www.pontex.cz | IDDS: nrpt3sn | IČO: 40763439 Bezová 1658 147 14 Praha 4 Mob.: +420 702 033 396