seomoz/shovel — pull request #22 by nsantorello (2013-11-12 20:26:25+00:00)
Title: Fixed for Python3 compatibility

Issue
----

Under the latest Python3 I would get the following error when executing `shovel myfile.mytask` or `shovel help myfile.mytask`:
```
noah@ubuntu:~/git/tasks-proj$ shovel help deploy.server.create
Traceback (most recent call last):
File "/usr/local/bin/shovel", line 83, in
shovel.help(*args, **kwargs)
File "/usr/local/lib/python3.3/dist-packages/shovel/__init__.py", line 333, in help
print(tasks[0].help())
File "/usr/local/lib/python3.3/dist-packages/shovel/__init__.py", line 288, in help
args = Args(self.spec)
File "/usr/local/lib/python3.3/dist-packages/shovel/__init__.py", line 62, in __init__
self._args.extend((arg) for arg in args[len(self._args):])
AttributeError: 'zip' object has no attribute 'extend'
```
I was able to resolve the issue with the included fix.

Testing the change
------

To see this breaking:
```
cd ~
git clone https://github.com/seomoz/shovel.git
cd shovel
sudo rm /usr/local/bin/shovel # Remove any existing shovel in your bin
sudo python3 setup.py install # Install current build
cd example
shovel help # See existing projects, this works
shovel help bar.args # Crashes
shovel bar.args 1 2 3 4 # Crashes
```

To see the fix in action:
```
cd ~
git clone https://github.com/nsantorello/shovel.git noah-shovel
cd noah-shovel
sudo rm /usr/local/bin/shovel # Remove any existing shovel in your bin
sudo python3 setup.py install # Install current build
cd example
shovel help # See existing projects, this still works
shovel help bar.args # This works now
shovel bar.args 1 2 3 4 # This works now
```