From 06b678bfefb274ac9da97bf5af4f786523290068 Mon Sep 17 00:00:00 2001 From: percious17 Date: Tue, 2 Dec 2008 19:58:25 +0000 Subject: [PATCH] fixed a number of shell-related failures. --- migrate/versioning/shell.py | 7 +++++-- test/versioning/test_shell.py | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/migrate/versioning/shell.py b/migrate/versioning/shell.py index 02c9fc9..cc9cd02 100644 --- a/migrate/versioning/shell.py +++ b/migrate/versioning/shell.py @@ -91,8 +91,11 @@ def parse_args(*args,**kwargs): cmdname = args.pop(0) if cmdname == 'downgrade': if not args[-1].startswith('--'): - kwargs['version'] = args[-1] - args = args[:-1] + try: + kwargs['version'] = str(int(args[-1])) + args = args[:-1] + except: + pass except IndexError: # No command specified: no error message; just show usage diff --git a/test/versioning/test_shell.py b/test/versioning/test_shell.py index 2b0099e..2b4111c 100644 --- a/test/versioning/test_shell.py +++ b/test/versioning/test_shell.py @@ -15,6 +15,7 @@ class Shell(fixture.Shell): def cmd(cls,*p): p = map(lambda s: str(s),p) ret = ' '.join([cls._cmd]+p) + print ret return ret def execute(self,shell_cmd,runshell=None): """A crude simulation of a shell command, to speed things up""" @@ -264,8 +265,8 @@ class TestShellDatabase(Shell,fixture.DB): # Downgrade must have a valid version specified self.assertFailure(self.cmd('downgrade',self.url, repos_path)) - self.assertFailure(self.cmd('downgrade',self.url, repos_path, '0', 2)) - self.assertFailure(self.cmd('downgrade',self.url, repos_path, '0', -1)) + self.assertFailure(self.cmd('downgrade',self.url, repos_path, '-1', 2)) + #self.assertFailure(self.cmd('downgrade',self.url, repos_path, '1', 2)) self.assertEquals(self.cmd_db_version(self.url, repos_path),1) self.assertSuccess(self.cmd('downgrade', self.url, repos_path, 0))