Grotesque 0.9.3: IF library manager

Awesome! Even if you can just point me in the direction of some documentation (or just describe it to me) on where in the file I can find the data, and maybe what kind of checks I can do to verify the file (ie the claim_story_file functions in Babel), I can just write it myself. Thanks!!

A (very low priority) feature suggestion would be to select a cover image from the hard drive, regardless of there being any cover image on IFDB. I’m thinking mainly of Spectrum games here, where I can get a cover for most of them but most of them aren’t in IFDB.

And a bug. Editing games AFTER I import their info from IFDB (via the magnifying glass) is a pain. The game’s name often doesn’t refresh if I happen to change it (for instance, to add “Enchanter 2:” just before Sorcerer). By way of editing genres, I now have two genres, “Back to Life series” and “back to life”, and the game “Back to Life… Unfortunately!” (the game whose genre I edited to remove the “series”) doesn’t appear in any of them (i.e., when I select “genre” and “back to life” or “Back to Life series” I don’t see the game there). This only seems to happen after importing the IFDB information. It’s not a biggie in that I work around it by simply closing the left-hand pane, but it is a bug.

The solution is to upload the covers to IFDB. You’ll do a service to the community at the same time!

They are probably still under copyright.

I’d have to upload covers, create entries, et al. :wink: That’ll be for later.

I’m labouring under a grandiose secret project, you see.

First step: cathegorize all adventures in my hard drive, playing them alphabetically in the meantime.

This is just for me to get my bearings.

Second step: Revisit them all, alphabetically and independently of system, thanks to Grotesque, and check IFDB for entries and reviews. Create entries where there aren’t, and review games that need revieweing.

Very, very, very long-term project. In the meantime I’d like not to mix steps and just keep on cathegorizing my hard drive neatly. :slight_smile:

I’m not a lawyer but I believe low resolution cover art falls under fair use in this context. IFDB even has an option to tag the image as such.

This has more or less been implemented, I’m just working out a bug or two now. Assuming that you have each game in its own folder, all you have to do is save the image as cover.jpg or cover.png and it will be displayed. This will be in the next release.

I’ve fixed a couple bugs in the filter list…I wonder if these are related?
Regarding the title, I can’t replicate this. If I search via the magnifying glass and then I edit the title, things are saved just fine. Hopefully this means that I fixed the bug. Otherwise, I’m hoping it’s not a Windows thing. I can replicate the genre thing. I’ll fix that before the next release. Thanks for letting me know!

I’m more or less done with the release, short of a couple small bug fixes I hope to do tonight, then I need to port it to gtk2, fix whatever bugs I introduce by doing that, and then build the Windows version. So…hopefully this weekend?

What a happy weekend I shall have. :slight_smile:

BTW, the bug regarding editing happened AFTER importing via magnifying glass and AFTER clicking ok - it happened when I went back to the entry to edit it. If it’s already solved so much the better. :slight_smile:

Wow, what a dumb (but major) bug that genre (and author, coincidentally) editing problem was. :blush:
It’s been fixed.

Ah ok, it happened to me now. Trying to figure out what is happening, because it’s updating in the information view below…

I’m curious to hear how this major project is using Grotesque :slight_smile:

Oh, dear. I can’t add format “.z80” to Grotesque…

…because it truncates “.z80” to “.z8”.

Ah, good catch! I just fixed it.

I just uploaded 0.9.3! For sheer lines of code, this was a big one. Sorry it took me so long. This release is mostly about improving story import. I did not squash all of the bugs that have been reported due to time restrictions, but I tried to get all the showstoppers. Windows double-click, proper author sorting, and other UI tweaks will have to wait for the next version (which, due to an impending international move, might have to wait a couple of weeks).

Since this release makes some changes to the library, you might want to back up your library first. I put in some checks to update the library safely, and everything went without a hitch for me in both Linux and Windows, but since this is still beta software, well, I’d rather that you have to stick with the past version while I fix some catastrophic bug than to have you lose your library and have to reimport it again. (Like I said, I’m pretty damn confident it won’t be a problem, but better safe than sorry). Also, just so you know, the update can take a few minutes for a large library.

ATTN: LINUX USERS: please read the special note at the bottom. Sorry for the inconvenience.

0.9.3 Release Notes

  • Fixed IFID extraction/computation in TADS and ZCODE games
  • Fixed IFID extraction/computation and metadata extraction from blorbed files
  • Added IFID computation for AGT, Alan, DOS executable, Hugo, Level 9 and
    Magnetic Scrolls story formats
  • Added coverart extraction for TADS and blorbed story formats
  • Added support for local coverart (cover art stored in the same folder as
    the story file, which must have the word “cover” somewhere in its name and
    be a JPEG or PNG image)
  • Added a field for story TUID and the ability to search the IFDB by TUID
    in the edit dialog
  • Removed Python 2.7 dependencies (2.6 is now the required version)
  • Fixed bug in improper clearing of filter values when removing stories from
    the library
  • Fixed wonky progress dialog behavior when handling large file names
  • Fixed a bug in which editing a story’s genre or authors resulted in spurious
    filter values
  • Fixed a bug in which edits made via searching IFDB didn’t appear in the
    library list.
  • Fixed a bug in zeroes being ommited from custom format file extensions.
  • Fixed the install location of the README and COPYING documents on Linux
  • Changed the default location of the configuration files in Linux to be in
    $XDG_CONFIG_HOME/grotesque, which defaults to /home//.config/grotesque
    if the environment variable is not set, and the data files to
    $XDG_DATA_HOME/grotesque, or /home//.local/share/grotesque

!!NOTE!!
Linux users, pay attention to that last one. You must manually move
~/.grotesque/grotesque.cfg to $XDG_CONFIG_HOME/grotesque and you must move
local_library.dat and the covers folder to $XDG_DATA_HOME.
I could have done this automatically but I do not like the idea of moving
files around in your home directory without you knowing.

When trying to run it:

Traceback (most recent call last): File "/usr/games/bin/grotesque", line 55, in <module> main() File "/usr/games/bin/grotesque", line 37, in main settings = Settings() File "/usr/lib64/python2.7/site-packages/grotesque/settings.py", line 60, in __init__ self.configdir = os.path.join(home_configdir, 'grotesque') File "/usr/lib64/python2.7/posixpath.py", line 68, in join elif path == '' or path.endswith('/'): AttributeError: 'NoneType' object has no attribute 'endswith'

Oops. Can you redownload it try it now? It should be fixed.

Jakob,

Will be looking forward to the PKBUILD in the Arch AUR. It was impressive how soon you had 0.9.2 up there.

Thanks for all the hard work!

Sorry, I had some problems with making the PKGBUILD last night. I’ll try again tonight!

You may now Syu your yaourt :wink:
(or do it the old-fashioned way, if you prefer)

Worked like a charm. The first vote in the gtk3 version is from yours truly. :smiley:

Thanks again, I love this project!

Edit: I had a few games that would hang on import and sequestered them in a seperate directory. I tested these out first and they worked fine this time. This improvement alone took care of my only gripe.

I downloaded again just now (grotesque-0.9.3-gtk2.tar.gz). The problem still exists.

The MD5 of the file I get served by sourceforge is: a2c3b6b1920b173a4aabf824e6abca67