[SAGA-RG] Semantics of the ns_entry constructor

Mathijs den Burger mathijs at cs.vu.nl
Mon Aug 17 02:56:14 CDT 2009


Hi,

As a side comment, my use case was "test whether an arbitrary URL points
to a file or a directory".

My first idea was (in pseudo code):

   url u = new url(<string to test>);
   ns_entry e = new ns_entry(u);
   print e.is_dir()

This does not work in general, since the constructor of ns_entry throws
a BadParameter exception when the URL denotes a directory. But since
that exception may also be thrown in other error conditions, it cannot
be used to recognize a directory.

Similarly, creating a ns_directory instead of an ns_entry doesn't work
either.

The only generic way seems to manually split the URL in a parent
directory and a suffix, create an ns_directory object for the parent and
use ns_directory.is_dir(suffix). Not really Simple...

best,
-Mathijs


On Mon, 2009-08-17 at 07:48 +0200, Ceriel Jacobs wrote:
> Andre Merzky wrote:
> > You are right: open should be able to open entries and
> > directories (which *are* entries).  open_dir should work
> > only for directories.  Same holds then indeed for the entry
> > and dir constructors.
> 
> Are you sure? I have an issue with what you are saying about the
> entry constructor. I think that if a ns_entry object represents
> a directory, it should in fact be a ns_directory object.
> 
> Cheers,		Ceriel
> 




More information about the saga-rg mailing list