From f285bd080d24b93d4cfba6b7198bde06a779e707 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Mon, 19 Aug 2024 09:16:27 +0700 Subject: [PATCH] booru: config option for saving in folders by tags and join tags by "+" --- .config/ags/modules/.configuration/user_options.js | 1 + .config/ags/modules/sideleft/apis/booru.js | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.config/ags/modules/.configuration/user_options.js b/.config/ags/modules/.configuration/user_options.js index e5ef916a..fb9cf0fe 100644 --- a/.config/ags/modules/.configuration/user_options.js +++ b/.config/ags/modules/.configuration/user_options.js @@ -102,6 +102,7 @@ let configOptions = { 'columns': 2, 'batchCount': 20, 'allowNsfw': false, + 'sortInFolderByTags': false, }, 'pages': { 'order': ["apis", "tools"], diff --git a/.config/ags/modules/sideleft/apis/booru.js b/.config/ags/modules/sideleft/apis/booru.js index 7016cd4a..23223c31 100644 --- a/.config/ags/modules/sideleft/apis/booru.js +++ b/.config/ags/modules/sideleft/apis/booru.js @@ -222,9 +222,9 @@ const BooruPage = (taglist, serviceName = 'Booru') => { icon: 'save', action: (self) => { const currentTags = BooruService.queries.at(-1).realTagList.filter(tag => !tag.includes('rating:')); - const tagDirectory = currentTags.join('_'); + const tagDirectory = currentTags.join('+'); let fileExtension = data.file_ext || 'jpg'; - const saveCommand = `mkdir -p $(xdg-user-dir PICTURES)/homework/${data.is_nsfw ? '🌶️/' : ''}${tagDirectory} && curl -L -o $(xdg-user-dir PICTURES)/homework/${data.is_nsfw ? '🌶️/' : ''}${tagDirectory}/${data.md5}.${fileExtension} '${data.file_url}'`; + const saveCommand = `mkdir -p $(xdg-user-dir PICTURES)/homework/${data.is_nsfw ? '🌶️/' : ''}${userOptions.sidebar.image.sortInFolderByTags ? tagDirectory : ''} && curl -L -o $(xdg-user-dir PICTURES)/homework/${data.is_nsfw ? '🌶️/' : ''}${userOptions.sidebar.image.sortInFolderByTags ? (tagDirectory + '/') : ''}${data.md5}.${fileExtension} '${data.file_url}'`; execAsync(['bash', '-c', saveCommand]) .then(() => self.label = 'done') .catch(print);