Topic: Umami - Utility to check for new posts from your favorite artists

Posted under e621 Tools and Applications

Umami is a configurable utility that can check for new posts from your favorite artists, characters, tags, and more.

When I was first coming here, I had a few favorite artists and I would simply type their names in the search box every once in a while to see if there were any new posts from them. This worked OK, but it was fairly inconvenient, especially as I discovered more artists that I wanted to follow. Eventually I threw together a little python script that would let me check for new posts from as many artists as I wanted (to date, I follow 156 tags).

I thought that someone else might benefit from this because you need an elevated user status to use the site's tag subscriptions feature, and there's a maximum of 100 tags on that anyway.

You need Python 2.7 to run it. On Mac and Linux, you probably already have it installed. For Windows, there's a prepackaged executable available so you don't have to install anything.

Make sure to take a look at the README in the downloaded folder!

Here are the download links:

* Windows EXE]
* Python Script (Cross-platform)]If you have a question, comment, bug, or feature request, feel free to leave it below :)

Updated by savageorange

The Linux version isn't working properly, I assume you're passing the wrong flags to xdg-open or something. I don't really feel like looking at the source myself.

Welcome to Umami!
Checking your subscriptions...
Checking cheese_grater...
Done checking!
Processing...
(3, 'posts found.')

Opening pages...
Press enter to open post from cheese_grater; s to skip
   xdg-open -- opens a file or URL in the user's preferred
   application

Synopsis

   xdg-open { file | URL }

   xdg-open { --help | --manual | --version }

Use 'man xdg-open' or 'xdg-open --manual' for additional info.
Press enter to open post from cheese_grater; s to skip

Pressing s to skip doesn't work either.

Updated by anonymous

Tuvalu said:
The Linux version isn't working properly, I assume you're passing the wrong flags to xdg-open or something. I don't really feel like looking at the source myself.

Welcome to Umami!
Checking your subscriptions...
Checking cheese_grater...
Done checking!
Processing...
(3, 'posts found.')

Opening pages...
Press enter to open post from cheese_grater; s to skip
   xdg-open -- opens a file or URL in the user's preferred
   application

Synopsis

   xdg-open { file | URL }

   xdg-open { --help | --manual | --version }

Use 'man xdg-open' or 'xdg-open --manual' for additional info.
Press enter to open post from cheese_grater; s to skip

Pressing s to skip doesn't work either.

Sorry about that, I don't run Linux so I was kind of guessing (thinking about switching but haven't gotten around to it yet).

I think I fixed it now, try re-downloading.

Also, you have to press s and then enter. I'll try to make that clearer next time I update it

Updated by anonymous

Joedere said:
I think I fixed it now, try re-downloading.

Opening pages...
Press enter to open post from cheese_grater; s to skip
nohup: missing operand
Try 'nohup --help' for more information.

If I understood more about Python, I'd definitely try to help you.

Joedere said:
Also, you have to press s and then enter. I'll try to make that clearer next time I update it

Welcome to Umami!
Checking your subscriptions...
Checking cheese_grater...
Done checking!
Processing...
2 posts found.

Opening pages...
Press enter to open post from cheese_grater; s to skips
Press enter to open post from cheese_grater; s to skips
Press enter to open post from cheese_grater; s to skips
Press enter to open post from cheese_grater; s to skips
Press enter to open post from cheese_grater; s to skips
Press enter to open post from cheese_grater; s to skips

Updated by anonymous

Joedere said:
Also, you have to press s and then enter[...]

There must be a function like Bash's read or Windows' pause that read user input and wait for a key to be pressed (respectively).

You could try searching on Phyton's manual or on Google

Updated by anonymous

Xch3l said:
There must be a function like Bash's read or Windows' pause that read user input and wait for a key to be pressed (respectively).

You could try searching on Phyton's manual or on Google

It's in curses IIRC .

"reading user input" will mainly get you input() / raw_input(), which read whole strings. That's probably what Joedere's already using.

Tuvalu said:

Opening pages...
Press enter to open post from cheese_grater; s to skip
nohup: missing operand
Try 'nohup --help' for more information.

If I understood more about Python, I'd definitely try to help you.

This looks like the wrong arguments are being provided to the external 'nohup' command, rather than anything in Python.
Looking at the code, it seems reasonably correct (except for calling subprocess.call with shell=True, which is dubious). However, it doesn't seem to check that browser / browserpath are actually set to any value; there doesn't seem to be anything stopping it from getting to the launching line with browser and browserpath both set to ''.
That could be fixed by providing a 'fallback' value when calling get(), and/or checking that the values returned by get() refer to actual things rather than or None.

That said, that particular bug is probably not the problem, as you aren't being warned about 'unknown browser'.

Updated by anonymous

  • 1