Danbooru Client

Graphic Apps

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net

7
Score 72.2%
Description:

Danbooru Client is an application to access Danbooru-based image boards (http://en.wikipedia.org/wiki/Imageboard#Danbooru-style_boards). Those boards offer a REST and POST API which is used by this program.

Features:

- Connect to any Danbooru board (three predefined)
- Download up to 100 images with selectable tags;
- Repeat query over mulitple pages;
- Download or view images with the KDE preferred image viewer;
- Download pools (on boards that support it);
- Tag semantically the images using Nepomuk.

Requirements:

- PyQt (at least version 4.5)
- PyKDE4 (from KDE SC 4.7 RC2 or newer)
- (optional) Nepomuk
- Python (at least version 2.5)

Installation:

Although this is a PyKDE4 application, it uses CMake to do its work. So this means that you'll need a working compiler and the KDE headers installed (even though they won't be even touched).
Then, follow the steps:

- unpack
- cd to the source directory
- mkdir build; cd build
- cmake -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` ../
- make
- make install as root (or via sudo)

Known issues:

- Empty cells appear if you don't fill all the rows
- Danbooru API wrapper is not complete
- Sometimes jobs stall and it is impossible to fetch more pages
- Pool functionality removed, pending rewrite

Future plans:

- Setting wallpapers with D'n'D to Plasma
- Tag auto completion

If you have specific suggestions, let me know.

I have been programming for a while, but this is my first proper GUI and KDE application. Comments are welcome.
Last changelog:

7 years ago

1.1.1
- Critical fix: Install ui files
- Use CMake macros from kdelibs (future-proofing for 4.10 when it will be out)
1.1
- Full Python3 support
- When connecting, posts are automatically retrieved
- Pool lists are now downloaded immediately, and the button now fetches more results (UI needs improvement)

1.0.4
- Further fixes for Python 3 compatibility (but it doesn't work yet, UI files need to be generated at build time)
- Rework UI again
- KWallet support for passwords (working for yande.re, danbooru.donmai.us, konachan.[com|net])

1.0.3
- Fixes for Python 3 compatibility
- "Apply" works again with configuration
- Reworked internal XML parsing, pools should work again
- Support for tag blacklists and maximum rating in pool downloads

1.0.2
- UI adjustments

1.0.1
- Fix a critical bug where the OK button for connecting was not shown

1.0.0
- Clicking on an image now displays the image in the preferred viewer
- Context menu for downloading, viewing and copying image links
- Connection modal dialog removed, now an integrated widget
- Some improvements in the Nepomuk handling

0.9.9
- Correctly reset display / tags when connecting more than once
- Add support in the backend to report errors when downloading (not plugged in the UI yet)

0.9.8
- Add the possibility of hiding / showing the tag dock

0.9.7
- Fixed yet another import problem

0.9.6
- Fixed an issue where build system did not install some files

0.9.5
- Support for pools is back!
- New pool interface, using a dock in the main window: let me know if the default size is acceptable
- Known issue: "next page" is enabled when viewing pools (should be disabled) and in that case clicking it yields completely different results
- Currently pools do not honor blacklisting and rating limits, let me know if these should be enforced

0.9
- Massive internal adjustments, resulting in more maintainable code
- Danbooru API completely revamped and made simpler
- Tags have a dedicated widget
- Fetching now gets real related tags
- Fixed Nepomuk tagging
- Updated default URLs
- Requires PyKDE4 from KDE SC 4.7 RC2 or newer

0.8.1
- Minor improvement on the action dialog
- Remove a couple errors in the code

0.8
- Similar tags showed while browsing images
- Support for tag retrieval
- Better integration of Nepomuk
- Ability to search by similar tags
- Reworked action dialog

Most of the above has been adapted by a patch originally sent by Yuen Hoe Lim. Thanks!

0.6.1
- Website checking is now asynchronous
- Fixed a random crash that would happen when downloads finished (only affected KDE SC 4.4)

0.6
- Switched API from JSON to XML (better compatibility)
- Support for pools (only the first page at the moment) - notice that it will not work with moe.imouto.org as they don't implement the API properly
- Tag blacklists now are also used to filter out posts, i.e. if tag FOO is blacklisted, posts with tag FOO will not be downloaded

0.5.1
- Fetch post dialog reworked (please give feedback)
- Addition of default rating: now you can configure the default rating for fetching posts

0.5
- Major code refactoring
- Support for pagination: the same query can be spread across multiple pages (like browsing the actual image board)
- Support for translations: if you are a translator, you can find the .pot file in the po directory of the archive. Please send me translations, and I'll make them available.

0.4.1
- Fix a bug that completely crippled showing thumbnails
- Minor code optimization

0.4
- Batch download (asynchronous)
- Fetching posts is now asynchronous as well
- Fixed an installation problem (the logo would get installed in the wrong location)
- Support fetching by rating (Safe, Questionable or Explicit)

0.2
- Download of the thumbnails is asynchronous (but queued)
- Internal adjustments to API wrapper
- Minor bugs fized

0.1
First public release.

C

einar77

8 years ago

Please download 0.9.7, I should have fixed it there.
Thanks for reporting!

Report

9

Jestern

8 years ago

Upps! I made two posts.
Now it works! I have to say that you have done a great work since 0.8.1, the app is much faster.
I like the new pool widget, it would be great if it can be resized like dolphin's tool bars, thats the single con i found ;)

Thanks for your great work :D

Report

C

einar77

8 years ago

Originally (when I coded the feature) you could resize it, however I encountered a strange bug that caused the whole pool table to expand out of the blue if double clicked to download the pool. I'll investigate further and will try to add this when I find the cause.

Report

DanaKil

10 years ago

Great, thanks :)

It would be great if your apps supports Futaba like image boards too !

Report

C

einar77

10 years ago

Does Futaba have an API? If not, the only way would be scraping, which could be extremely fragile in case the layout changes...

Report

DanaKil

10 years ago

well, actually I don't know :)

Report

AlejandroNova

10 years ago

Consider me a criminal for doing this... but this can be the best thing for the world since the invention of the LOLcat.

http://dis.4chan.org/read/prog/1185963886/71

There is JSON code for 4chan-like boards.

Report

C

einar77

10 years ago

Are you sure? That snippet linked shows the opposite: i.e. it's scraping the HTML directly...

Report

sl1pkn07

10 years ago

hello. not working for me: (compile from aur: danbooru-git)

sl1pkn07@SpinFlo Downloads]$ danbooru_client
Traceback (most recent call last):
File "/usr/bin/danbooru_client", line 30, in <module>
import mainwindow
File "/usr/lib/python2.6/site-packages/danbooru/mainwindow.py", line 40, in <module>
import thumbnailarea
File "/usr/lib/python2.6/site-packages/danbooru/thumbnailarea.py", line 34, in <module>
import thumbnailview
File "/usr/lib/python2.6/site-packages/danbooru/thumbnailview.py", line 33, in <module>
import actiondialog
File "/usr/lib/python2.6/site-packages/danbooru/actiondialog.py", line 32, in <module>
import danbooru2nepomuk
File "/usr/lib/python2.6/site-packages/danbooru/danbooru2nepomuk.py", line 35, in <module>
from PyKDE4.nepomuk import Nepomuk
ImportError: dynamic module does not define init function (initnepomuk)
[sl1pkn07@SpinFlo Downloads]$

sl1pkn07@SpinFlo Downloads]$ danbooru2nepomuk
Traceback (most recent call last):
File "/usr/bin/danbooru2nepomuk", line 35, in <module>
from PyKDE4.nepomuk import Nepomuk
ImportError: dynamic module does not define init function (initnepomuk)
[sl1pkn07@SpinFlo Downloads]$


my distro is Arch

kde 4.4.2
pyqt 4.4.3
kdebindings-python 4.4.2-1 (pykde4)

greetings

Report

C

einar77

10 years ago

I'm unable to reproduce this on openSUSE. What are your SIP and PyQt versions?

Report

sl1pkn07

10 years ago

SIP 4.10.1-1
pytq in my first post

Report

C

einar77

10 years ago

It looks like a problem in your PyKDE packages/installation...

Report

sl1pkn07

10 years ago

reinstalling all:

kdebindings-python-4.4.2-1
kdebase-lib-4.4.2-1
sip-4.10.1-1
pyqt-4.7.2-1
python-2.6.5-3
and recompile danbooru-cient from git

not works. same error :S

all pakages installing from the official distro repository

Report

sl1pkn07

10 years ago

ok. download and compile today the GT version

works!!

thanks for the program :D

Report

sl1pkn07

10 years ago

GIT sorry

how to edit the post? :S

Report

supportfsf

10 years ago

Thank you for great application. Although one thing would be really cool - is there a possibility to add some kind of notification bars, or at least message when you're connecting/waiting for pictures to be fetched? As it is now t gives no signal so new users might think the program is not doing anything ATM, which is not true as it is trying to connect to the board etc... Also, some list of sites which are without problems would be nic too, although that is more of a community thing.. :)

Thanks anyway, I hope you will continue the development.

Report

C

einar77

10 years ago

With this version I made the first step towards connection notification, by using KIO to connect to the board, rather than pure Python methods.

Now I have to investigate KNotification to finish the work...

Report

C

einar77

10 years ago

Notification for connecting would be nice, the issue is that I'm using Python methods to check if the address exists instead of relying on KIO, because it gets a little complex. I'll get to it soon, hopefully.
For posts, perhaps I can add a text at the center of the tab while they are fetched.

This would provide me some excuse to finally learn about KNotify, I guess... ;)

Report

Zorael

10 years ago

I'm trying to compile this on a machine running Kubuntu 9.10 with KDE SC 4.4b2 packages from ppas, and I get the following error: http://pastebin.ubuntu.com/350454

Is there a different solution than recompiling Qt4 myself with the mentioned flag?

Report

C

einar77

10 years ago

Indeed there is.

First of all, copy the "danbooru" source folder to your python site-packages dir (in Ubuntu should be /usr/lib/python2.5/site-packages or /usr/lib/python2.6/site-packages; find out which by typing "python -V" at the terminal). Then execute:

sudo ln -s /usr/lib/YOURPYTHONDIR/danbooru/danbooru_client.py /usr/bin/danbooru_client

where YOURPYTHONDIR is the directory you've found out above.

Then, copy the "danbooru_client.desktop" file to the KDE application dir: you can find it by typing

kde4-config --path data

Lastly, create a sub-directory called "danbooru_client" in the same path that the command said, and copy the "logo_resized.png" image that stays in "danbooru/img" there, renaming it "logo.png". Copy also "danbooruui.rc" there (essential or you won't get icons on toolbars).

Run kbuildsycoca4 and then you'll be set. Notice that you need at least the version of PyKDE4 that is shipped with the KDE SC 4.3: I haven't tested with earlier versions.

Report

evilkastel

10 years ago

This app is great. Thanks for making it for all of us, anime fans.

Report

7 years ago

1.1.1
- Critical fix: Install ui files
- Use CMake macros from kdelibs (future-proofing for 4.10 when it will be out)
1.1
- Full Python3 support
- When connecting, posts are automatically retrieved
- Pool lists are now downloaded immediately, and the button now fetches more results (UI needs improvement)

1.0.4
- Further fixes for Python 3 compatibility (but it doesn't work yet, UI files need to be generated at build time)
- Rework UI again
- KWallet support for passwords (working for yande.re, danbooru.donmai.us, konachan.[com|net])

1.0.3
- Fixes for Python 3 compatibility
- "Apply" works again with configuration
- Reworked internal XML parsing, pools should work again
- Support for tag blacklists and maximum rating in pool downloads

1.0.2
- UI adjustments

1.0.1
- Fix a critical bug where the OK button for connecting was not shown

1.0.0
- Clicking on an image now displays the image in the preferred viewer
- Context menu for downloading, viewing and copying image links
- Connection modal dialog removed, now an integrated widget
- Some improvements in the Nepomuk handling

0.9.9
- Correctly reset display / tags when connecting more than once
- Add support in the backend to report errors when downloading (not plugged in the UI yet)

0.9.8
- Add the possibility of hiding / showing the tag dock

0.9.7
- Fixed yet another import problem

0.9.6
- Fixed an issue where build system did not install some files

0.9.5
- Support for pools is back!
- New pool interface, using a dock in the main window: let me know if the default size is acceptable
- Known issue: "next page" is enabled when viewing pools (should be disabled) and in that case clicking it yields completely different results
- Currently pools do not honor blacklisting and rating limits, let me know if these should be enforced

0.9
- Massive internal adjustments, resulting in more maintainable code
- Danbooru API completely revamped and made simpler
- Tags have a dedicated widget
- Fetching now gets real related tags
- Fixed Nepomuk tagging
- Updated default URLs
- Requires PyKDE4 from KDE SC 4.7 RC2 or newer

0.8.1
- Minor improvement on the action dialog
- Remove a couple errors in the code

0.8
- Similar tags showed while browsing images
- Support for tag retrieval
- Better integration of Nepomuk
- Ability to search by similar tags
- Reworked action dialog

Most of the above has been adapted by a patch originally sent by Yuen Hoe Lim. Thanks!

0.6.1
- Website checking is now asynchronous
- Fixed a random crash that would happen when downloads finished (only affected KDE SC 4.4)

0.6
- Switched API from JSON to XML (better compatibility)
- Support for pools (only the first page at the moment) - notice that it will not work with moe.imouto.org as they don't implement the API properly
- Tag blacklists now are also used to filter out posts, i.e. if tag FOO is blacklisted, posts with tag FOO will not be downloaded

0.5.1
- Fetch post dialog reworked (please give feedback)
- Addition of default rating: now you can configure the default rating for fetching posts

0.5
- Major code refactoring
- Support for pagination: the same query can be spread across multiple pages (like browsing the actual image board)
- Support for translations: if you are a translator, you can find the .pot file in the po directory of the archive. Please send me translations, and I'll make them available.

0.4.1
- Fix a bug that completely crippled showing thumbnails
- Minor code optimization

0.4
- Batch download (asynchronous)
- Fetching posts is now asynchronous as well
- Fixed an installation problem (the logo would get installed in the wrong location)
- Support fetching by rating (Safe, Questionable or Explicit)

0.2
- Download of the thumbnails is asynchronous (but queued)
- Internal adjustments to API wrapper
- Minor bugs fized

0.1
First public release.

12345678910
5
product-maker reiniger Jan 14 2013 9 excellent
product-maker kerenskyy Feb 16 2012 9 excellent
product-maker nikore90 Jan 06 2012 9 excellent
product-maker Jestern Sep 25 2011 9 excellent
product-maker n00kl Jul 28 2011 9 excellent
product-maker Base: 4 x 5.0 Ratings
stellajneal
Dec 05 2019
reiniger
Jan 14 2013
kerenskyy
Feb 16 2012
AlejandroNova
Sep 26 2011
Jestern
Sep 25 2011
nekoprog
Aug 02 2011
supportfsf
Jan 20 2010
File (click to download) Version Description PackagetypeArchitectureRelease Channel Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
1.1.1
updated Jan 15 2013
added Oct 25 2009
downloads 24h
0
mediaviews 24h 0
pageviews 24h 8
System Tags app software