… | |
… | |
2339 | /\.pst$/ || !/^$PATH_SEP/o # TODO unique maps apparebntly lack the .map suffix :/ |
2339 | /\.pst$/ || !/^$PATH_SEP/o # TODO unique maps apparebntly lack the .map suffix :/ |
2340 | ? () |
2340 | ? () |
2341 | : normalise $_ |
2341 | : normalise $_ |
2342 | } @{ aio_readdir $UNIQUEDIR or [] } |
2342 | } @{ aio_readdir $UNIQUEDIR or [] } |
2343 | ] |
2343 | ] |
|
|
2344 | } |
|
|
2345 | |
|
|
2346 | =item cf::map::static_maps |
|
|
2347 | |
|
|
2348 | Returns an arrayref if paths of all static maps (all preinstalled F<.map> |
|
|
2349 | file in the shared directory excluding F</styles>). May block. |
|
|
2350 | |
|
|
2351 | =cut |
|
|
2352 | |
|
|
2353 | sub static_maps() { |
|
|
2354 | my @dirs = ""; |
|
|
2355 | my @maps; |
|
|
2356 | |
|
|
2357 | while (@dirs) { |
|
|
2358 | my $dir = shift @dirs; |
|
|
2359 | |
|
|
2360 | next if $dir eq "/styles"; |
|
|
2361 | |
|
|
2362 | my ($dirs, $files) = Coro::AIO::aio_scandir "$MAPDIR$dir", 2 |
|
|
2363 | or return; |
|
|
2364 | |
|
|
2365 | for (@$files) { |
|
|
2366 | s/\.map$// or next; |
|
|
2367 | utf8::decode $_; |
|
|
2368 | push @maps, "$dir/$_"; |
|
|
2369 | } |
|
|
2370 | |
|
|
2371 | push @dirs, map "$dir/$_", @$dirs; |
|
|
2372 | } |
|
|
2373 | |
|
|
2374 | \@maps |
2344 | } |
2375 | } |
2345 | |
2376 | |
2346 | =back |
2377 | =back |
2347 | |
2378 | |
2348 | =head3 cf::object |
2379 | =head3 cf::object |