Last updated:
0 purchases
bounce 0.1.7
# Bounce
It’s a keyword search engine, meaning you can configure it to redirect
yt to Youtube, so a search like yt weird al would redirect right
to Youtube’s search.
1 minute getting started
Install it
$ pip install bounce
Start it:
$ bounce-server
Query it:
$ curl "http://127.0.0.1:5000/?q=yt weird al"
You can also run it using any WSGI server like
uWSGI using the included
bouncefile.py as the wsgi-file.
Configuration
url configuration
Bounce has a built-in configuration file with generic
mappings
but you can also create your own that bounce will read when starting by
setting the environment variable BOUNCE_CONFIG with a path to your
custom configuration python file:
export BOUNCE_CONFIG=/path/to/bounce_config.py
The file must import bounce.core.commands:
from bounce.core import commands
The commands.add() method takes a space separated list of commands
and a value:
commands.add("foo bar", "http://foo.com?q={}")
So, if you called bounce with the input:
foo blammo
It would redirect to:
http://foo.com?q=blammo
You could also call it with bar blammo and get the same thing
because we set up the command keywords as foo bar so either foo or
bar would redirect.
Notice that the value is a python format
string.
callback configuration
value can also be a callback:
def callback(q):
# manipulat q in some way and then return where you would like to go
return 'http://some.url.that.needed.manipulated.q.com={}'.format(q)
commands.add("foo bar", callback)
That makes it so bounce can do all kinds of crazy things.
default configuration
By default, Google is the search engine of choice, so if you don’t start
your request with a command, bounce will redirect to Google search with
your search string. If you would like to change this just pass
default=True to one of your custom commands:
commands.add("keyword", "value", default=True)
Viewing configuration
the command ls will list all the commands bounce supports
Testing
To test locally from the repo:
$ python bounce/bin/bounce-server
That should produce output like this:
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger pin code: XXX-XXX-XXX
Which you can then use to test:
$ curl "http://127.0.0.1:5000/?q=..."
And that’s it.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.