支持socks5代理的howdoi工具

zhaogang.lv e9cf67c9a4 support socks5 proxy 6 years ago
howdoi e9cf67c9a4 support socks5 proxy 6 years ago
.flake8 86b45260ef Add flake8 config for max line length 8 years ago
.gitignore 65c8bb9073 Fixed broken import and made .gitignore more robust 8 years ago
.travis.yml 5926d69c62 Fix travis test syntax 9 years ago
CHANGES.txt 1117537485 Cleanup after adding support for additional search engines 7 years ago
LICENSE.txt 054012ba5c moved howdoi.py into a subdirectory for packaging 12 years ago
MANIFEST.in a431555c4e added manifest file for building 12 years ago
README.rst 3ad3c32f4a Fix typos 7 years ago
howdoi.rb 78fa59b8ca Bump version for homebrew 7 years ago
requirements.txt 66c47c3486 Bump versions 8 years ago
setup.py 369eb327e1 E231 & E301 PEP8 fix 9 years ago
test_howdoi.py 1117537485 Cleanup after adding support for additional search engines 7 years ago

README.rst

howdoi
====================================================

.. image:: http://imgs.xkcd.com/comics/tar.png
:target: https://xkcd.com/1168/

instant coding answers via the command line
-------------------------------------------

.. image:: https://secure.travis-ci.org/gleitz/howdoi.png?branch=master
:target: https://travis-ci.org/gleitz/howdoi

Are you a hack programmer? Do you find yourself constantly Googling for
how to do basic programming tasks?

Suppose you want to know how to format a date in bash. Why open your browser
and read through blogs (risking major distraction) when you can simply stay
in the console and ask howdoi:

::

$ howdoi format date bash
> DATE=`date +%Y-%m-%d`

howdoi will answer all sorts of queries:

::

$ howdoi print stack trace python
> import traceback
>
> try:
> 1/0
> except:
> print '>>> traceback <<<'
> traceback.print_exc()
> print '>>> end of traceback <<<'
> traceback.print_exc()

$ howdoi convert mp4 to animated gif
> video=/path/to/video.avi
> outdir=/path/to/output.gif
> mplayer "$video" \
> -ao null \
> -ss "00:01:00" \ # starting point
> -endpos 10 \ # duration in second
> -vo gif89a:fps=13:output=$outdir \
> -vf scale=240:180

$ howdoi create tar archive
> tar -cf backup.tar --exclude "www/subf3" www

Installation
------------

::

pip install howdoi

or

::

pip install git+https://github.com/gleitz/howdoi.git#egg=howdoi

or

::

brew install https://raw.github.com/gleitz/howdoi/master/howdoi.rb

or

::

python setup.py install

Usage
-----

::

usage: howdoi.py [-h] [-p POS] [-a] [-l] [-c] [-n NUM_ANSWERS] [-C] [-v] QUERY [QUERY ...]

instant coding answers via the command line

positional arguments:
QUERY the question to answer

optional arguments:
-h, --help show this help message and exit
-p POS, --pos POS select answer in specified position (default: 1)
-a, --all display the full text of the answer
-l, --link display only the answer link
-c, --color enable colorized output
-n NUM_ANSWERS, --num-answers NUM_ANSWERS
number of answers to return
-C, --clear-cache clear the cache
-v, --version displays the current version of howdoi


As a shortcut, if you commonly use the same parameters each time and don't want to type them, add something similar to your .bash_profile (or otherwise). This example gives you 5 colored results each time.

::

alias h='function hdi(){ howdoi $* -c -n 5; }; hdi'

And then to run it from the command line simply type:

::

$h this is my query for howdoi

Author
------

- Benjamin Gleitzman (`@gleitz `_)


Notes
-----

- Works with Python2 and Python3
- A standalone Windows executable with the howdoi application `is available here `_.
- An Alfred Workflow for howdoi can be found at `http://blog.gleitzman.com/post/48539944559/howdoi-alfred-even-more-instant-answers `_.
- Slack integration available through `slack-howdoi `_.
- Howdoi uses a cache for faster access to previous questions. Caching functionality can be disabled by setting the HOWDOI_DISABLE_CACHE environment variable. The cache is stored in `~/.cache/howdoi`.
- You can set the HOWDOI_URL environment variable to change the source url for answers (default: `stackoverflow.com`, also supported: `serverfault.com`, `pt.stackoverflow.com`, `full list `_).
- You can set the HOWDOI_SEARCH_ENGINE environment variable to change the underlying search engine for StackOverflow links (default: `google`, also supported: `bing`).
- Setting the HOWDOI_COLORIZE environment variable will colorize the output by default.
- Special thanks to Rich Jones (`@miserlou `_) for the idea.

Development
-----------

- Checkout the repo
- Run ``python -m howdoi.howdoi QUERY`` (if you try running ``python howdoi/howdoi.py`` you might get ``ValueError: Attempted relative import in non-package``).


Troubleshooting
---------------

You might get the following error when installing with Homebrew:

::

==> python setup.py install

http://peak.telecommunity.com/EasyInstall.html

Please make the appropriate changes for your system and try again.

Fix the error by executing the following command:

::

sudo chmod -R go+w /Library/Python/2.7/site-packages/


An official lxml for python 3.3+ for windows has not yet been released. You may get an error while installing.
Try and install an unofficial binary for lxml from

::

http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml