Skip to content

Commit

Permalink
Version 7.3.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Bionus committed Jul 23, 2020
2 parents 756cd17 + 0b77744 commit db336fd
Show file tree
Hide file tree
Showing 121 changed files with 7,746 additions and 642 deletions.
5 changes: 4 additions & 1 deletion .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ init:

install:
- git submodule update --init --recursive
- ps: Install-Product node 10

build_script:
# Download Google tools and put them in the PATH (required for Google Breakpad)
Expand Down Expand Up @@ -115,7 +116,9 @@ build_script:
test_script:
- cd src
- ..\build\tests\tests.exe -s
- cd ..
- cd sites
- npm run test
- cd ..\..

artifacts:
- path: scripts\windows-setup\Grabber_*.exe
Expand Down
7 changes: 4 additions & 3 deletions .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,10 @@ coverage:

ignore:
- "build/**/*"
- "e2e/**/*"
- "lib/src/vendor/*"
- "tests/**/*"
- "src/e2e/**/*"
- "src/gui-qml/**/*"
- "src/lib/src/vendor/*"
- "src/tests/**/*"

comment:
layout: "header, diff"
Expand Down
4 changes: 3 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,9 @@ script:
- ./scripts/build.sh
- cd src
- ../build/tests/tests
- cd ..
- cd sites
- npm run test
- cd ../..

after_success:
# Clean-up workspace
Expand Down
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ then
sudo pacman -S "qt" "gcc" "cmake" "libpulse" "nodejs" "npm"
else
sudo apt-get install -qq "qtbase5-dev" "qtscript5-dev" "qtmultimedia5-dev" "qtdeclarative5-dev" "qttools5-dev" "qttools5-dev-tools"
sudo apt-get install -qq "g++" "cmake" "libssl-dev" "nodejs"
sudo apt-get install -qq "g++" "cmake" "libssl-dev" "nodejs" "npm"
fi

# Build the project in the build directory
Expand Down
8 changes: 8 additions & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ collections:
docs:
permalink: "/:collection/:path.html"
output: true
sources:
permalink: "/docs/:collection/:path.html"
output: true

gems:
- jemoji
Expand All @@ -44,3 +47,8 @@ defaults:
type: docs
values:
layout: docs
- scope:
path: _sources
type: sources
values:
layout: sources
1 change: 1 addition & 0 deletions docs/_data/docs_navigation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
- link: /docs/
- link: /docs/filename.html
- link: /docs/search.html
- link: /docs/sources.html
- link: /docs/favorites.html
- link: /docs/website-login.html
- link: /docs/shortcuts.html
Expand Down
4 changes: 2 additions & 2 deletions docs/_docs/filename.md
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ Example:
%all%
artist1 tag1 character1 tag2
%all:ignorenamespace:character%
%all:ignorenamespace=character%
artist1 tag1 tag2
```

Expand Down Expand Up @@ -381,4 +381,4 @@ This setting is specific for copyright tags, and can be found in the option wind
This feature takes all tags marked as "copyright", and remove all those which are another copyright with a suffix appended. So in our example, "pokemon pokemon_bw" would be simplified as "pokemon", since "pokemon_bw" is "pokemon" + "\_bw"..

## Ignored tags
You can "ignore" tags by right-clicking on them then choosing "ignore". This causes the tag to not be treated as having any particular type, and therefore not appearing, in our example, in `%copyright%`. It will however still be in `%all%`.
You can "ignore" tags by right-clicking on them then choosing "ignore". This causes the tag to not be treated as having any particular type, and therefore not appearing, in our example, in `%copyright%`. It will however still be in `%all%`.
22 changes: 11 additions & 11 deletions docs/_docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ permalink: /docs/

## Arch Linux

Grabber can be installed from the aur package [imgbrd-grabber-git](https://aur.archlinux.org/packages/imgbrd-grabber-git/), and otherwise installed by following the generic Linux instructions. After installation see [Linux Configuration](#linux-configuration)
Grabber can be installed from the aur package [imgbrd-grabber-git](https://aur.archlinux.org/packages/imgbrd-grabber-git/), and otherwise installed by following the generic Linux instructions. After installation, see [Linux Configuration](#linux-configuration).

## Linux
Compile Grabber by following the instructions on the [compilation](../Compilation#linux) page. Upon completion run `make install`.
Compile Grabber by following the instructions on the [compilation](compilation.md#linux) page. Upon completion run `make install`.

### Linux Configuration
After installation you will need to copy the example configuration files to your local Grabber directory. this is usually `~/.Grabber` the example files are located at `$INSTALLATIONPREFIX/Grabber/example/` Grabber will not run without these files.
After installation you will need to copy the example configuration files from `$INSTALLATIONPREFIX/Grabber/example/` to your local Grabber directory, usually `~/.Grabber/`. Grabber will not run without these files.

# Usage

Expand All @@ -35,7 +35,7 @@ There are four fields to fill:
* Language: the interface language
* Source: the source you want to try first, you can change it later, and even select more than one at a time
* Folder: where you want to store your images
* Filename: the biggest strentgh of Grabber is its filename formatting! See the [Filename](Filename) wiki page for more details. The default value of `%md5%.%ext%` should be good at first.
* Filename: the biggest strentgh of Grabber is its filename formatting! See the [Filename](filename.md) wiki page for more details. The default value of `%md5%.%ext%` should be good at first.

Once finished, you can press the "Ok" button.

Expand All @@ -48,7 +48,7 @@ You should now be seeing something like this:

## Searching

The upper part of the window is "divided" into two parts:
The upper part of the window is "divided" into two sections:

* The search form: to make searches using tags. To insert a date, or access advanced features, you can click the "Plus" button. You can also browse other pages by changing the page value on the right.
* Hidden form: you can show it by clicking the "+" button. Here, you have some fields to quickly change the settings (images per page and columns), the sources and "Post-filtering". Post-filtering allows you, for example, to bypass the two tags limitation of Danbooru by adding additional tags or metas (source, id, height, etc.) in this field. Note that none of these fields will be saved at exit, so if you want to definitely change the number of images per page or columns for example, you have should change them directly in the options.
Expand All @@ -63,15 +63,15 @@ After searching for something, you should see something as:

To download a lot of pictures at the same time, first search for the tag you want to download (or no tag if that's what you want). You should arrive on the search page. From here, just click "Get this page" to download all the images on the page you are currently seeing (usually around 20 images), or "Get all" to download all the results of your search, including further pages (can go from 1 images to thousands).

Then, go to the "Downloads" tab to have a summary or what will be downloaded:
Then, go to the "Downloads" tab to see a summary of what will be downloaded:

![downloads tab](img/downloadpage.png)

Once you are satisfied with your download list, click the "Download" button to start the download. This window should then appear:
Once you are satisfied with your download list, click the "Download" button to start the download. The Batch Download window should appear:

![batch download window](img/batchdownload.png)

It lists all the images that will be or are already downloaded. Now, you just have to wait. When all images are downloaded, the program will tell you and show you a summary:
It lists all the images that will be or have already been downloaded. Now, you just have to wait. When all images are downloaded, the program wil show you a summary:

![download finished window](img/downloadfinished.png)

Expand Down Expand Up @@ -109,12 +109,12 @@ Note that you can also merge all results to remove duplicates checking the "Merg

Some sources (for example Danbooru or Gelbooru) require to login to enable full API access. Even though it is usually not mandatory thanks to the regex fallback, it is usually strongly advised to do so.

To log in a source, just enter your credentials in the "Credentials" tab of the source settings window:
To log into a source using an account, just enter your credentials in the "Credentials" tab of the Source Settings window:

![credentials form](img/sourcecredentials.png)

When you're done, you can click the "Test" button to check if your credentials are correct. Note that not all source support login checking.
When you're done, you can click the "Test" button to check if your credentials are correct. Note that not all sources support login checking.

![credentials test success](img/sourcecredentialssuccess.png)

Success!
Success!
7 changes: 7 additions & 0 deletions docs/_docs/sources.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Sources
---

# Sources

{% include source_list.html %}
7 changes: 7 additions & 0 deletions docs/_includes/source_list.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<ul>
{% for source in site.sources %}
<li><a href="{{ source.url | relative_url }}">{{ source.title }}</a></li>
{% endfor %}
</ul>

<i>Note: this list of source is not exhaustive and only contains the one that have been documented at the moment.</i>
4 changes: 2 additions & 2 deletions docs/_layouts/docs.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@

{%capture header %}
<div class="head">
<h1>{{ page.title }}</h1>
<h1>{{ layout.forced_title | default: page.title }}</h1>

<ul class="nav navbar-nav navbar-right navbar-bottom">
<li><a href="{{site.github.repository_url}}/blob/gh-pages/{{page.path}}">Edit this page</a></li>
<li><a href="{{site.github.repository_url}}/blob/master/docs/{{page.path}}">Edit this page</a></li>
</ul>
</div>
{% endcapture %}
Expand Down
10 changes: 10 additions & 0 deletions docs/_layouts/sources.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
layout: docs
forced_title: Sources
---

<h2>Sources</h2>

{% include source_list.html %}

{{ content }}
10 changes: 10 additions & 0 deletions docs/_sources/danbooru-2.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Danbooru (2.0)
---


# Danbooru (2.0)

## Search syntax

<https://danbooru.donmai.us/wiki_pages/help:cheatsheet>
11 changes: 11 additions & 0 deletions docs/_sources/e-hentai.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
title: E-Hentai
---


# E-Hentai

## Search syntax

* `tag1 tag2`: basic tag search
* `cats:NUMBER`: the `f_cats` URL parameter used to filter by category (default: `0`)
10 changes: 10 additions & 0 deletions docs/_sources/gelbooru-0.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Gelbooru (0.2)
---


# Gelbooru (0.2)

## Search syntax

<https://gelbooru.com/index.php?page=wiki&s=view&id=26263>
17 changes: 17 additions & 0 deletions docs/_sources/pixiv.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: Pixiv
---


# Pixiv

Whatever URL is entered when adding a site with this source, it will be overriden by:
* <https://app-api.pixiv.net/> (for search / listing)
* <https://public-api.secure.pixiv.net/> (for galleries / details)

## Search syntax

* `tag1 tag2`: basic tag search
* `mode:{partial,full,tc}`: tag search type (default: `partial`)
* `bookmarks:USER_ID`: fetch a given user's bookmarks
* `user:USER_ID`: fetch art from a given user
18 changes: 18 additions & 0 deletions docs/_sources/shimmie.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
title: Shimmie
---


# Shimmie

## Search syntax

<https://shimmie.shishnet.org/ext_doc/index>

In addition:
* `width` + `height` will be automatically converted to `size` if possible
* Range searches (e.g. `meta:A..B`) are automatically converted to two comparisons (e.g. `meta:>=A meta:<=B`)
* `date:` is transformed to `posted:`
* `downvote:` is transformed to `downvoted_by:`
* `upvote:` is transformed to `upvoted_by:`
* `tagcount:` is transformed to `tags:`
15 changes: 15 additions & 0 deletions docs/_sources/twitter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: Twitter
---


# Twitter

The only known working URL for this source is:
* <https://api.twitter.com>

## Search syntax

* `Username`: get all media for a given user
* `retweets:{yes,no}`: whether to also get media from retweets (default: `yes`)
* `replies:{yes,no}`: whether to also get media from replies (default: `yes`)
3 changes: 1 addition & 2 deletions scripts/package.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ mkdir -p $APP_DIR

# Copy all required files to the release directory
cp "build/gui/Grabber" $APP_DIR
cp -r src/sites/ $APP_DIR
rsync -ar --exclude="node_modules" --exclude="**/*.ts" --exclude="**/resources" src/sites $APP_DIR
cp -r src/dist/common/* $APP_DIR
cp build/languages/*.qm "$APP_DIR/languages/"
touch "$APP_DIR/settings.ini"
rm -rf "$APP_DIR/sites/node_modules/"
2 changes: 1 addition & 1 deletion scripts/windows-setup/setup.iss
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
#endif

#ifndef MyAppVersion
# define MyAppVersion "7.3.0"
# define MyAppVersion "7.3.1"
#endif

#ifndef QtApngDll
Expand Down
4 changes: 3 additions & 1 deletion src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
project(Grabber)
cmake_minimum_required(VERSION 3.2)

enable_testing()

set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
Expand All @@ -27,7 +29,7 @@ endif()

project(Grabber)
if((NOT DEFINED VERSION) OR ((DEFINED NIGHTLY) AND (NIGHTLY MATCHES "1")))
set(VERSION "7.3.0")
set(VERSION "7.3.1")
else()
string(REGEX REPLACE "^v" "" VERSION "${VERSION}")
endif()
Expand Down
18 changes: 9 additions & 9 deletions src/cli/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ int main(int argc, char *argv[])
const QCommandLineOption userOption(QStringList() << "u" << "user", "Username to connect to the source.", "user");
const QCommandLineOption passwordOption(QStringList() << "w" << "password", "Password to connect to the source.", "password");
const QCommandLineOption blacklistOption(QStringList() << "b" << "blacklist", "Download blacklisted images.");
const QCommandLineOption tagsBlacklistOption(QStringList() << "tb" << "tags-blacklist" , "Tags to remove from results.", "tags-blacklist");
const QCommandLineOption tagsBlacklistOption(QStringList() << "tb" << "tags-blacklist", "Tags to remove from results.", "tags-blacklist");
const QCommandLineOption postFilteringOption(QStringList() << "r" << "postfilter", "Filter results.", "filter");
const QCommandLineOption noDuplicatesOption(QStringList() << "n" << "no-duplicates", "Remove duplicates from results.");
const QCommandLineOption verboseOption(QStringList() << "d" << "debug", "Show debug messages.");
Expand Down Expand Up @@ -152,16 +152,16 @@ int main(int argc, char *argv[])
}

const auto type = proxyUrl.scheme().startsWith("socks")
? QNetworkProxy::Socks5Proxy
: QNetworkProxy::HttpProxy;
? QNetworkProxy::Socks5Proxy
: QNetworkProxy::HttpProxy;

const QNetworkProxy proxy(
type,
proxyUrl.host(),
proxyUrl.port(),
proxyUrl.userName(),
proxyUrl.password()
);
type,
proxyUrl.host(),
proxyUrl.port(),
proxyUrl.userName(),
proxyUrl.password()
);

QNetworkProxy::setApplicationProxy(proxy);
log(QStringLiteral("Enabling application proxy on host \"%1\" and port %2.").arg(proxyUrl.host()).arg(proxyUrl.port()), Logger::Info);
Expand Down
8 changes: 4 additions & 4 deletions src/gui/src/batch/add-unique-window.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,9 @@ void setTextEditRows(QPlainTextEdit *plainTextEdit, int nRows)
const QMargins margins = plainTextEdit->contentsMargins();

const int nHeight = fm.lineSpacing() * nRows
+ qRound((plainDoc->documentMargin() + plainTextEdit->frameWidth()) * 2)
+ margins.top()
+ margins.bottom();
+ qRound((plainDoc->documentMargin() + plainTextEdit->frameWidth()) * 2)
+ margins.top()
+ margins.bottom();
plainTextEdit->setFixedHeight(nHeight);
}
void AddUniqueWindow::toggleMultiLine(bool toggle, QPlainTextEdit *plainTextEdit, QLabel *label)
Expand Down Expand Up @@ -155,7 +155,7 @@ void AddUniqueWindow::loadNext()
m_image->loadDetails();
} else {
const QString query = (q.id.isEmpty() ? "md5:" + q.md5 : "id:" + q.id);
const QStringList search = QStringList() << query << "status:any";
const QStringList search { query, "status:any" };
m_page = new Page(m_profile, q.site, m_sites.values(), search, 1, 1);
connect(m_page, &Page::finishedLoading, this, &AddUniqueWindow::replyFinished);
m_page->load();
Expand Down

0 comments on commit db336fd

Please sign in to comment.