The most annoying thing is the name. Putty is a well known SSH client and terminal emulator. On seeing the name WebPutty I'd believed Putty had been ported to a web interface.
I had never heard of WebPutty until this post, and when I saw the headline I got excited that I could install PuTTY and use it in my browser. I understand where the devs got the name as explained in the post down below this, but even clever names need to have some consideration of existing product names.
I'm following the step-by-step instructions to run it on my google app engine account, but I get an error when I run "fab deploy." It asks me for my email and does a bunch of stuff, but then this happens:
Zipping ziplibs.
Traceback (most recent call last):
File "/Library/Python/2.6/site-packages/fabric/main.py", line 712, in main
args, kwargs
File "/Library/Python/2.6/site-packages/fabric/tasks.py", line 327, in execute
results['<local-only>'] = task.run(*args, **new_kwargs)
File "/Library/Python/2.6/site-packages/fabric/tasks.py", line 112, in run
return self.wrapped(*args, **kwargs)
File "/Users/swiss/webapps/WebPutty/fabfile.py", line 53, in decorated_func
return func(*args, **kwargs)
File "/Users/swiss/webapps/WebPutty/fabfile.py", line 66, in deploy
ziplibs(env.deploy_path)
File "/Users/swiss/webapps/WebPutty/fabfile.py", line 178, in ziplibs
os.path.walk(to_zip, add_file, (zip_file, os.path.dirname(to_zip)))
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/posixpath.py", line 224, in walk
func(arg, top, names)
File "/Users/swiss/webapps/WebPutty/fabfile.py", line 177, in add_file
zip_file.write(os.path.join(dir_name, name), os.path.join(dir_name[len(common_base):], name))
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/zipfile.py", line 1024, in write
fp = open(filename, "rb")
It is attempting to zip a directory in the fabfile. You don't need to zip the contents of an app to deploy it. Try deploying using the SDK directly with:
$ python2.5 appcfg.py -A appname update .
replace 'appname' with the name of the app you registered.
Thanks! That worked. I get "Error: Server Error" when visiting my appspot url though (drpepecss.appspot.com)
Also, getting this error after successful deployment:
Completed update of app: drpepecss, version: 1
Uploading cron entries.
Uploading task queue entries.
Reverting /Users/Varun/Documents/workspace/webputty3/js_css_packages/packages.py
Traceback (most recent call last):
File "/Library/Python/2.5/site-packages/fabric/main.py", line 712, in main
*args, **kwargs
File "/Library/Python/2.5/site-packages/fabric/tasks.py", line 327, in execute
results['<local-only>'] = task.run(*args, **new_kwargs)
File "/Library/Python/2.5/site-packages/fabric/tasks.py", line 112, in run
return self.wrapped(*args, **kwargs)
File "/Users/Varun/Documents/workspace/webputty3/fabfile.py", line 53, in decorated_func
return func(*args, **kwargs)
File "/Users/Varun/Documents/workspace/webputty3/fabfile.py", line 76, in deploy
clean_packages(env.deploy_path)
File "/Users/Varun/Documents/workspace/webputty3/fabfile.py", line 89, in clean_packages
compress.revert_js_css_hashes(base_path)
File "/Users/Varun/Documents/workspace/webputty3/compress.py", line 23, in revert_js_css_hashes
popen_results(['hg', 'revert', '--no-backup', path])
File "/Users/Varun/Documents/workspace/webputty3/compress.py", line 152, in popen_results
proc = subprocess.Popen(args, stdout=subprocess.PIPE)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/subprocess.py", line 594, in __init__
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/subprocess.py", line 1097, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory