Skip to content

Commit

Permalink
Here is a useful shell for debugging or playing around with the library.
Browse files Browse the repository at this point in the history
  • Loading branch information
sir-pinecone committed Jun 3, 2010
1 parent 4eeb2ef commit 65c2490
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 1 deletion.
35 changes: 35 additions & 0 deletions posterous-shell
@@ -0,0 +1,35 @@
#!/usr/bin/env python

from getpass import getpass
from optparse import OptionParser
import posterous

"""Launch an interactive shell ready for Posterous usage
This script is handy for debugging posterous during development
or to just play around with the library.
It imports posterous and creates an authenticated API instance (api)
using the credentials provided.
"""

opt = OptionParser(usage='posterous-shell <username> <password>')
options, args = opt.parse_args()

if len(args) == 1:
username, password = args[0], getpass()
elif len(args) == 2:
username, password = args[0], args[1]
else:
username, password = None, None

local_ns = {'posterous': posterous, 'api': posterous.API(username, password)}
shellbanner = '<Posterous shell>'

try:
import IPython
ipshell = IPython.Shell.IPShell([''], user_ns = local_ns)
ipshell.mainloop(sys_exit=1, banner = shellbanner)
except ImportError:
import code
code.interact(shellbanner, local = local_ns)

1 change: 0 additions & 1 deletion posterous/__init__.py
Expand Up @@ -18,7 +18,6 @@
__credits__ = ['Michael Campagnaro <http://github.com/mikecampo>']

from posterous.api import API
from posterous.models import Site, Post, Tag, Comment, Media, ModelFactory

# unauthenticated instance
api = API()

0 comments on commit 65c2490

Please sign in to comment.