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
___________________________________________________________________________________

Reply via email to