+ # Check dir/flavour variant (implying index.flavour)
+ if ($path_info =~ m! ^ (?: (.*) / )? ([^/]+) $ !x) {
+ my $dir = $1 || '';
+ my $flavour = $2;
+ debug(2, "dir: $dir, flavour: $flavour");
+
+ # Check there isn't an entry matching this
+ if (-f "$blosxom::datadir$dir/$flavour.$blosxom::file_extension") {
+ debug(2, "entry $blosxom::datadir/$dir/$flavour.$blosxom::file_extension found - skipping");
+ return 1;
+ }
+
+ # Check $dir is a directory (sanity check - overly aggressive?)
+ if ($dir && ! -d "$blosxom::datadir/$dir") {
+ debug(2, "dir '$dir' is set but not a directory");
+ return 1;
+ }
+
+ debug(1, "dir '$dir' not set or exists and directory - setting \$blosxom::path_info");
+ $blosxom::path_info = $dir;
+ $blosxom::flavour = $flavour;
+ $blosxom::path_info_yr = undef;
+ return 1;
+ }
+