# HG changeset patch # User catherine@cordelia # Date 1211501227 14400 # Node ID 1275d59c08a7d25165b402f2235a7a10950f41c5 # Parent 4f2d6f9f208008ef1b5be22b8247691646848d3b do_load accepts file object diff -r 4f2d6f9f2080 -r 1275d59c08a7 cmd2.py --- a/cmd2.py Tue May 20 21:50:00 2008 -0400 +++ b/cmd2.py Thu May 22 20:07:07 2008 -0400 @@ -487,15 +487,18 @@ 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()