diff options
| author | Catherine Devlin <catherine.devlin@gmail.com> | 2008-05-22 20:07:07 -0400 |
|---|---|---|
| committer | Catherine Devlin <catherine.devlin@gmail.com> | 2008-05-22 20:07:07 -0400 |
| commit | f5ca4521878861e2ad8e91aebb17e8133e2cc3d6 (patch) | |
| tree | a1960c62b6802771149dbc0f0b6f5796a8cde5dc | |
| parent | 8628a016b3463ea1ded0a169333e75a047517075 (diff) | |
| download | cmd2-git-f5ca4521878861e2ad8e91aebb17e8133e2cc3d6.tar.gz | |
do_load accepts file object
| -rwxr-xr-x | cmd2.py | 19 |
1 files changed, 11 insertions, 8 deletions
@@ -487,15 +487,18 @@ class Cmd(cmd.Cmd): if fname is None:
fname = self.defaultFileName
keepstate = Statekeeper(self, ('stdin','use_rawinput','prompt','continuationPrompt'))
- try:
- self.stdin = open(fname, 'r')
- except IOError, e:
+ if isinstance(fname, file):
+ self.stdin = fname
+ else:
try:
- self.stdin = open('%s.%s' % (fname, self.defaultExtension), 'r')
- except IOError:
- print 'Problem opening file %s: \n%s' % (fname, e)
- keepstate.restore()
- return
+ self.stdin = open(fname, 'r')
+ except IOError, e:
+ try:
+ self.stdin = open('%s.%s' % (fname, self.defaultExtension), 'r')
+ except IOError:
+ print 'Problem opening file %s: \n%s' % (fname, e)
+ keepstate.restore()
+ return
self.use_rawinput = False
self.prompt = self.continuationPrompt = ''
self.cmdloop()
|
