Work on files module

This commit is contained in:
mmcwilliams 2024-10-26 17:11:25 -04:00
parent ad46b4a476
commit 273252ceae
7 changed files with 136 additions and 42 deletions

View File

@ -14,8 +14,11 @@ interface ImageObject {
name: string;
}
export declare class Files {
private static sequencesDir;
static init(sequencesDir: string): Promise<boolean>;
static exists(path: string): Promise<boolean>;
static enumerateSequences(path: string): Promise<SequenceObject[]>;
static enumerateSequences(): Promise<SequenceObject[]>;
static isSequence(dirPath: string): Promise<boolean>;
static enumerateVideos(path: string): Promise<VideoObject[]>;
static enumerateSequence(path: string): Promise<ImageObject[]>;
}

72
dist/files/index.js vendored
View File

@ -18,6 +18,10 @@ const imageExtensions = [
'.bmp'
];
class Files {
static async init(sequencesDir) {
this.sequencesDir = sequencesDir;
return this.exists(sequencesDir);
}
static async exists(path) {
try {
await (0, promises_1.access)(path);
@ -27,35 +31,72 @@ class Files {
return false;
}
}
static async enumerateSequences(path) {
static async enumerateSequences() {
const dirs = [];
let all;
let stats;
let dirPath;
path = await (0, promises_1.realpath)(path);
const paths = [
await (0, promises_1.realpath)(this.sequencesDir)
];
for (let path of paths) {
try {
all = await (0, promises_1.readdir)(path);
}
catch (err) {
throw err;
}
for (let elem of all) {
if (elem.substring(0, 1) === '.') {
continue;
}
dirPath = (0, path_1.join)(path, elem);
try {
stats = await (0, promises_1.lstat)(dirPath);
}
catch (err) {
continue;
}
if (!stats.isDirectory()) {
continue;
}
if (!this.isSequence(dirPath)) {
continue;
}
dirs.push({
path: dirPath,
hash: hash_1.Hashes.stringHash(dirPath),
name: (0, path_1.basename)(dirPath)
});
}
}
return dirs;
}
static async isSequence(dirPath) {
let sequence = false;
let all;
let stats;
let filePath;
try {
all = await (0, promises_1.readdir)(path);
all = await (0, promises_1.readdir)(dirPath);
}
catch (err) {
throw err;
//
}
for (let elem of all) {
dirPath = (0, path_1.join)(path, elem);
filePath = (0, path_1.join)(dirPath, elem);
try {
stats = await (0, promises_1.lstat)(dirPath);
if (stats.isDirectory()) {
dirs.push({
path: dirPath,
hash: hash_1.Hashes.stringHash(dirPath),
name: (0, path_1.basename)(dirPath)
});
}
stats = await (0, promises_1.lstat)(filePath);
}
catch (err) {
//
}
if (stats.isFile() && imageExtensions.indexOf((0, path_1.extname)((0, path_1.basename)(elem).toLowerCase())) !== -1) {
sequence = true;
break;
}
}
return dirs;
return sequence;
}
static async enumerateVideos(path) {
const videos = [];
@ -100,6 +141,9 @@ class Files {
throw err;
}
for (let elem of all) {
if (elem.substring(0, 1) === '.') {
continue;
}
filePath = (0, path_1.join)(path, elem);
try {
stats = await (0, promises_1.lstat)(filePath);

View File

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/files/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/files/index.ts"],"names":[],"mappings":"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"}

6
dist/index.js vendored
View File

@ -151,7 +151,7 @@ async function settings() {
}
else {
sequences = process.env['SEQUENCES'];
sequencesExists = await files_1.Files.exists(sequences);
sequencesExists = await files_1.Files.init(sequences);
if (!sequencesExists) {
log.error(`The SEQUENCES directory in .env, ${sequences}, does not exist`);
process.exit(8);
@ -282,7 +282,7 @@ function exposureSet(exposure) {
sequence.setExposure(exposure);
}
async function select(id) {
const sequencesArr = await files_1.Files.enumerateSequences(sequences);
const sequencesArr = await files_1.Files.enumerateSequences();
const seq = sequencesArr.find(el => el.hash === id);
if (typeof seq == 'undefined' || seq == null) {
log.error('Sequence not found, maybe deleted?', new Error(`Cannot find sequence ${id}`));
@ -405,7 +405,7 @@ function scale(msg) {
}
}
app.get('/', async (req, res, next) => {
const sequencesArr = await files_1.Files.enumerateSequences(sequences);
const sequencesArr = await files_1.Files.enumerateSequences();
//const videosArr : VideoObject[] = await Files.enumerateVideos(videos);
const html = index({ sequences: sequencesArr, width, height, wsPort });
res.send(html);

2
dist/index.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -2,6 +2,7 @@ import { access, lstat, readdir, realpath } from 'fs/promises';
import type { Stats } from 'fs';
import { Hashes } from '../hash';
import { basename, extname, join } from 'path';
import { envString } from '../env';
interface SequenceObject {
path : string,
@ -37,6 +38,13 @@ const imageExtensions : string[] = [
];
export class Files {
private static sequencesDir : string;
public static async init (sequencesDir : string) : Promise<boolean>{
this.sequencesDir = sequencesDir;
return this.exists(sequencesDir);
}
public static async exists (path : string) : Promise<boolean> {
try {
await access(path);
@ -46,39 +54,75 @@ export class Files {
}
}
public static async enumerateSequences (path : string) : Promise<SequenceObject[]> {
public static async enumerateSequences () : Promise<SequenceObject[]> {
const dirs : SequenceObject[] = [];
let all : string[];
let stats : Stats;
let dirPath : string;
path = await realpath(path);
const paths : string[] = [
await realpath(this.sequencesDir)
];
try {
all = await readdir(path)
} catch (err) {
throw err;
}
for (let elem of all) {
dirPath = join(path, elem);
for (let path of paths) {
try {
stats = await lstat(dirPath);
if (stats.isDirectory()) {
dirs.push({
path : dirPath,
hash : Hashes.stringHash(dirPath),
name : basename(dirPath)
});
}
all = await readdir(path)
} catch (err) {
//
throw err;
}
for (let elem of all) {
if (elem.substring(0, 1) === '.') {
continue;
}
dirPath = join(path, elem);
try {
stats = await lstat(dirPath);
} catch (err) {
continue;
}
if (!stats.isDirectory()) {
continue;
}
if (!this.isSequence(dirPath)) {
continue;
}
dirs.push({
path : dirPath,
hash : Hashes.stringHash(dirPath),
name : basename(dirPath)
});
}
}
return dirs;
}
public static async isSequence (dirPath : string) : Promise<boolean> {
let sequence : boolean = false;
let all : string[];
let stats : Stats;
let filePath : string;
try {
all = await readdir(dirPath);
} catch (err) {
//
}
for (let elem of all) {
filePath = join(dirPath, elem);
try {
stats = await lstat(filePath);
} catch (err) {
//
}
if (stats.isFile() && imageExtensions.indexOf(extname(basename(elem).toLowerCase())) !== -1) {
sequence = true;
break;
}
}
return sequence;
}
public static async enumerateVideos (path : string) : Promise<VideoObject[]> {
const videos : VideoObject[] = [];
let all : string[];
@ -127,6 +171,9 @@ export class Files {
}
for (let elem of all) {
if (elem.substring(0, 1) === '.') {
continue;
}
filePath = join(path, elem);
try {
stats = await lstat(filePath);

View File

@ -140,7 +140,7 @@ async function settings () {
process.exit(7);
} else {
sequences = process.env['SEQUENCES'];
sequencesExists = await Files.exists(sequences);
sequencesExists = await Files.init(sequences);
if (!sequencesExists) {
log.error(`The SEQUENCES directory in .env, ${sequences}, does not exist`);
process.exit(8);
@ -277,7 +277,7 @@ function exposureSet (exposure : number) {
}
async function select (id : string) : Promise<boolean> {
const sequencesArr : SequenceObject[] = await Files.enumerateSequences(sequences);
const sequencesArr : SequenceObject[] = await Files.enumerateSequences();
const seq : SequenceObject = sequencesArr.find(el => el.hash === id);
if (typeof seq == 'undefined' || seq == null) {
log.error('Sequence not found, maybe deleted?', new Error(`Cannot find sequence ${id}`));
@ -410,7 +410,7 @@ function scale (msg : Message) {
}
app.get('/', async (req : Request, res : Response, next : NextFunction) => {
const sequencesArr : SequenceObject[] = await Files.enumerateSequences(sequences);
const sequencesArr : SequenceObject[] = await Files.enumerateSequences();
//const videosArr : VideoObject[] = await Files.enumerateVideos(videos);
const html : string = index({ sequences : sequencesArr, width, height, wsPort });
res.send(html);