-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathposterous-shell
executable file
·35 lines (27 loc) · 982 Bytes
/
posterous-shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/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)