Hello Luigi,
On Thu, 06 Dec 2018 11:23:25 +0100, luigi scarso <luigi.sca...@gmail.com> wrote:
On Thu, Dec 6, 2018 at 11:17 AM Procházka Lukáš Ing. <l...@pontex.cz> 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:l...@pontex.cz
Pontex s. r. o. | mailto:pon...@pontex.cz | http://www.pontex.cz | IDDS:
nrpt3sn | IČO: 40763439
Bezová 1658
147 14 Praha 4
Mob.: +420 702 033 396
___________________________________________________________________________________
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
___________________________________________________________________________________