Skip to main content

Open a link with a command read from a database.

Project description

Pasterfu

Python program that opens a link with a command read from a database.

Made especially to use with RSS feed readers like newsboat. Or any other program where you might want to open a specific in a manner based on the link you are opening.

  • Create a database according to your own needs
  • Write a key that will match the whole link or just the beginning part of it
  • List out commands you want to be run if mathing link is opened with pasterfu

Make a 'default' key into database to open unmatched links with commands listed for the default key. You can have multiple databases and choose which one to use with --database option.

Wiki pages provide more in-depth information.

Requirements

  • Python 3.7 or newer
  • Pyperclip will be installed when installing pasterfu with pip
  • In Ubuntu sudo apt install python3
  • With Windows download and install Python 3
    • You could consider selecting Add Python to PATH during install

Install

  1. Install Python 3 - Requirements
  2. Run pip install pasterfu
  3. Create your config file rules. Configuration
    • For more info check Wiki Configuration
    • pasterfu will work with OS default browser even without configs

Linux

You propably need to use a command like:

pip3 install --upgrade pasterfu

Or:

python3 -m pip install --upgrade pasterfu

Windows

If you installed python without setting up path you need to include path when running pip.

py.exe -m pip install --upgrade pasterfu

Usage

pasterfu --link LINK

Replace the "LINK" with the link you wish to open. Check Wiki Usage for more info.

Windows

If you installed python without setting up path you need to include path when running pasterfu.

For Python 3.8: %LOCALAPPDATA%\Programs\Python\Python38\Scripts\pasterfu.exe --link LINK

Configuration

  • Create an empty database file in ~/.config/pasterfu.json. Or in %USERPROFILE%\Documents\pasterfu.json for Windows.

To add configurations run pasterfu --add-rule 'key' --command 'command'

  • key what links to match for the rule
    • Make a "defalt" key that opens unmatched links
  • command what to do if link is matching
    • %link can be used to pass the link for the command
    • Multiple commands can be set to a single key by separating the commands with ;
    • Piped commands can be given, unfortunately currently only one pipe per command

OS default internet browser will be used if no matching key is found and 'default' is not set.

Read more at Wiki Configuration.

Linux

Example 1

Open any link starting with https://gitlab.com/ in Firefox:

pasterfu --add-rule https://gitlab.com/ --command "firefox %link"
Example 2

If no matching key is found write to key to file ~/link.txt and open the link with Firefox:

pasterfu --add-rule default --command "echo %link ; firefox %link"
Example 3

By using '%clip' you can copy a link with pyperclip.

pasterfu --ad-rule https://gitlab.com/ --command "firefox %link ; %copy"

Windows

Example 4

Open gitlabs links in Brave:

pasterfu --add-rule https://gitlab.com/ --command
"C:/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe
%link"
Example 5

If no matching key is found open the link with Firefox:

pasterfu --add-rule default --command
"C:/Program Files/Mozilla Firefox/firefox.exe %link" ; C:/Program
Files/VideoLAN/VLC/vlc.exe"
Example 6

By using '%clip' you can copy a link with pyperclip.

pasterfu --ad-rule https://gitlab.com/ --command
"C:/Program Files/Mozilla Firefox/firefox.exe %link ; %clip"

Developing

TODO list found here Wiki TODO

Tests can be run with ./run_tests or run_tests.bat. These require flake8 and pytest. Both can be found in PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pasterfu, version 0.7.0.post2
Filename, size File type Python version Upload date Hashes
Filename, size pasterfu-0.7.0.post2-py3-none-any.whl (21.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pasterfu-0.7.0.post2.tar.gz (9.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page