Contributed support for the Etsy V2 API to etsy-python

My sister is an avid Etsy seller and asked me to write for her some software that would let her take hundreds of items from an Excel spreadsheet and post them to Etsy. I’ve written this software (actually, it’s a hosted web service, powered by Django) and it’s in a sort of private beta right now, but that’s another (future) blog post…

While developing the software, I stumbled upon etsy-python, from Dan McKinley of Etsy, which is a Python module for accessing the Etsy API. Unfortunately, it only supported the V1 API, which was deprecated on November 1, 2010.

So I forked the github repo and got to work adding the support for the V2 API. It wasn’t too hard, because the Etsy API is very consistent and is self-documented (you can call the API to retrieve a method table that gives you the list of methods and their parameters; this allows one to dynamically generate method stubs from a small amount of code). The hardest part was dealing with OAuth (using Joe Stump’s oauth2 module), but OAuth always seems to be a little bit of a pain in the butt, because of its inherent complexity.

Here’s the pull request, which was accepted on January 27, 2011.

etsy-python is on pypi, so you can use easy_install, pip, etc. to install it (Unfortunately, Dan made a mistake in the README file so the pypi page says that the V2 support came from Ben Dayan, but it’s actually from me).

Contributed a patch to chit

A few weeks ago, I stumbled upon Chit. If you’re not familiar with it, Chit is a command line cheat sheet utility based on git. Chit was inspired by ‘cheat’ (cheat.errtheblog.com/) by Chris Wanstrath of GitHub fame, but it uses a git repository to store the cheat sheets so people can fork the repository and do additions and edits.

I thought of two little features that would be handy and it seemed like it would be fun to hack on some Ruby, so I forked the repo and dove in.

Here’s the pull request, which was accepted on February 8, so these features are now part of Chit proper.

Editing a crontab with vim

If your vimrc is configured to use backup files and you try to invoke crontab -e (or vipw or visudo, etc.), you might get an error like this:

crontab: temp file must be edited in place

You need to make vim not do backups of temp files. An easy way to fix this is to add something like this to your vimrc file:

set backupskip=/tmp/*,/private/tmp/*

Thanks to http://vim.wikia.com/wiki/Editing_crontab

OS X cron log

Surprisingly, I could not find a log on my Snow Leopard system that showed what cron was doing. I know that Apple is big on launchd (which is on my list of things to learn about someday), but I’m a Unix guy and I needed to debug a little cron job that I wrote for backing up files.

Well, I found out how to enable cron logging; here’s the answer on superuser.com. You have to edit a plist file and use launchctl to unload and load said plist file.