mirror of
https://github.com/Ellpeck/WoodpeckerPlugins.git
synced 2024-11-21 18:13:30 +01:00
allow multiple glob patterns
This commit is contained in:
parent
be1321fa45
commit
9472407096
2 changed files with 40 additions and 37 deletions
|
@ -10,7 +10,8 @@ steps:
|
||||||
server: https://cloud.ellpeck.de # the server to use
|
server: https://cloud.ellpeck.de # the server to use
|
||||||
user: EllBot # the user
|
user: EllBot # the user
|
||||||
token: access-token # the access token, or password if 2FA is disabled
|
token: access-token # the access token, or password if 2FA is disabled
|
||||||
files: "**/*.md" # the file(s), uses glob pattern
|
files: # the file(s), uses glob patterns
|
||||||
|
- "**/*.md"
|
||||||
dest: Uploads/CoolMarkdownFiles # the destination directory
|
dest: Uploads/CoolMarkdownFiles # the destination directory
|
||||||
basedir: "." # optional, local base directory for files, defaults to .
|
basedir: "." # optional, local base directory for files, defaults to .
|
||||||
chunksize: # optional, chunk size in bytes, defaults to 52428800
|
chunksize: # optional, chunk size in bytes, defaults to 52428800
|
||||||
|
|
|
@ -28,42 +28,44 @@ upload();
|
||||||
async function upload() {
|
async function upload() {
|
||||||
let basePath = `${serverEnv}/remote.php/dav`;
|
let basePath = `${serverEnv}/remote.php/dav`;
|
||||||
const upload = new Upload(basePath, userEnv, userEnv, tokenEnv);
|
const upload = new Upload(basePath, userEnv, userEnv, tokenEnv);
|
||||||
let files = await glob.glob(filesEnv, { cwd: baseDir });
|
for (let pattern of filesEnv.split(",")) {
|
||||||
if (!files.length)
|
let files = await glob.glob(pattern, { cwd: baseDir });
|
||||||
console.log("No files to upload");
|
if (!files.length)
|
||||||
for (let file of files) {
|
console.log("No files to upload");
|
||||||
let dest = `${destEnv}/${file}`;
|
for (let file of files) {
|
||||||
if (!quiet)
|
let dest = `${destEnv}/${file}`;
|
||||||
console.log(`Uploading ${file} to ${dest}`);
|
|
||||||
|
|
||||||
// we have to explicitly create any directories that don't exist yet
|
|
||||||
// (https://github.com/shiftpi/nextcloud-chunk-file-upload/issues/22)
|
|
||||||
let currDir = "";
|
|
||||||
for (let dir of dest.split("/").slice(0, -1)) {
|
|
||||||
currDir += `${dir}/`;
|
|
||||||
try {
|
|
||||||
await axios.request({
|
|
||||||
method: 'mkcol',
|
|
||||||
url: `${basePath}/files/${userEnv}/${currDir}`,
|
|
||||||
auth: {
|
|
||||||
username: userEnv,
|
|
||||||
password: tokenEnv
|
|
||||||
}
|
|
||||||
});
|
|
||||||
if (!quiet)
|
|
||||||
console.log(`Created directory ${currDir}`);
|
|
||||||
} catch (error) {
|
|
||||||
// this is fine since the directory likely already exists
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// use lib to upload file
|
|
||||||
await upload.uploadFile(`${baseDir}/${file}`, dest, chunkSizeEnv).then(e => {
|
|
||||||
if (!quiet)
|
if (!quiet)
|
||||||
console.log(`Uploaded ${file} to ${dest} (${e})`);
|
console.log(`Uploading ${file} to ${dest}`);
|
||||||
}).catch(e => {
|
|
||||||
console.log(`Failed to upload file ${file} to ${dest} (${e}, error ${e.httpErrorCode}, ${e.httpErrorMessage})`);
|
// we have to explicitly create any directories that don't exist yet
|
||||||
process.exit(1);
|
// (https://github.com/shiftpi/nextcloud-chunk-file-upload/issues/22)
|
||||||
});
|
let currDir = "";
|
||||||
|
for (let dir of dest.split("/").slice(0, -1)) {
|
||||||
|
currDir += `${dir}/`;
|
||||||
|
try {
|
||||||
|
await axios.request({
|
||||||
|
method: 'mkcol',
|
||||||
|
url: `${basePath}/files/${userEnv}/${currDir}`,
|
||||||
|
auth: {
|
||||||
|
username: userEnv,
|
||||||
|
password: tokenEnv
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (!quiet)
|
||||||
|
console.log(`Created directory ${currDir}`);
|
||||||
|
} catch (error) {
|
||||||
|
// this is fine since the directory likely already exists
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// use lib to upload file
|
||||||
|
await upload.uploadFile(`${baseDir}/${file}`, dest, chunkSizeEnv).then(e => {
|
||||||
|
if (!quiet)
|
||||||
|
console.log(`Uploaded ${file} to ${dest} (${e})`);
|
||||||
|
}).catch(e => {
|
||||||
|
console.log(`Failed to upload file ${file} to ${dest} (${e}, error ${e.httpErrorCode}, ${e.httpErrorMessage})`);
|
||||||
|
process.exit(1);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue