This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description
smartopen
=========

smartopen is a command line program that will transform text according
to handlers to URLs and open them


Usage
-----

``smartopen --help`` displays the program usage:

"""
Usage: smartopen [options]

Options:
-h, --help show this help message and exit
-c CONFIG, --config=CONFIG
config file to read
-u, --url print the first url handled
-a, --all print all handlers that match the query
-H HANDLERS, --handler=HANDLERS
name of the handler to use, in order
--print-handlers print all handlers in order they would be tried
"""

smartopen reads text from standard input or command line arguments.
The handlers are then iterated through in a configurable order and, if
the handler can transform the text into a URL, the URL is then
processed. Unless otherwise specified by command line options
(e.g. --url, --all), the first matching URL is then opened in firefox.


Handlers
--------

smartopen has a pluggable system of configurable handlers. The
setuptools entry point ``[smartopen.locations]`` is an extension point
for the handlers. Several handlers come with smartopen, or you can
write your own.

URL: a resolvable URL
Google: a google search
Wikipedia: a Wikipedia article
GoogleMaps: an address in google maps

etc.


Configuration
-------------

smartopen uses a configuration file that defines the order of the
handlers and their behavior.

A simple example is shown here:
http://k0s.org/hg/smartopen/file/tip/smartopen.ini


Interfacing With Your Environment
---------------------------------

While smartopen is useful of its own right, its utility may be
enhanced by using as part of an environment. For instance, I run the
fluxbox window manager which allows the use of hotkeys. By binding
smartopen to ``Ctrl+Alt+s`` and using ``xclip``, I can open a URL that is
mappable to a smartopen handler with a keyboard shortcut. The
relevant line from my ``~/.fluxbox/keys`` file reads:

Control Mod1 s :ExecCommand /home/jhammel/python/smartopen.py "$(xclip -o)" # smartopen


----


Posterity is gained...
----------------------

I mostly wrote smartopen to help me. That it has.
However...a few things....

- better way of setting up handlers?
- really, i want to push down to choose what i think the handler is,
but only should we I release the hand that Jesus becomes Magic
(sorry, I hate the movie too)

....and more?

Was reading about catfish....e.g.
http://www.addictivetips.com/ubuntu-linux-tips/catfish-file-searching-tool-for-ubuntu-linux/
...

"""
file search tool that support several different engines

A file search tool using different backends which is configurable via
the command line.

This program acts as a frontend for different file search engines.
The interface is intentionally lightweight and simple. But it takes
configuration options from the command line.

Currently find, locate, tracker, strigi, pinot, and beagle are
supported as backends
""".

Should smartopen....be a pluggable thing that takes text and finds
both *the handler* and *what to do with it*???

I mean, short of it being a neural network anyway....
Release History

Release History

0.2

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.6

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
smartopen-0.2.tar.gz (9.2 kB) Copy SHA256 Checksum SHA256 Source May 1, 2013

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting