MadLittleMods / markdown-icons

Easily display icon fonts in markdown.
Other
13 stars 12 forks source link

Use six.iteritems to support Python 2&3 #5

Open blag opened 8 years ago

blag commented 8 years ago

If you have a PyPI account, let me know your username and I'll add you as an/the owner of the markdown-icons and push a release to it so people can pip install markdown-icons! 😄

MadLittleMods commented 8 years ago

Thanks @blag

Have you run the tests with Python 2 and 3? (probably should get some CI on this at some point)

What version of python, does markdown-icons currently not run on?

blag commented 8 years ago

It currently runs in both, this just makes it support Python 2 a bit better, because dict.items() in Python 2 returns a list (could be big), and dict.items() in Python 3 returns an iterator. To get an iterator in Python 2, you could call dict.iteritems(), but that method doesn't exist in Python 3.

So, in order to return an iterator in both Python 2 and 3, six has an iteritems() function, which is what we use here.

It's a two line change (including the import six line), and as long as it's syntactically correct (it is), it will run in both Python 2 and 3. But, since it's only a performance enhancement to code that probably won't ever be a bottleneck, this patch very well might be premature optimization. I just like to do things The Right Way.

Cheers! 😄