module.exports = `snippet #!
	#!/usr/bin/env python
snippet imp
	import \${1:module}
snippet from
	from \${1:package} import \${2:module}
# Module Docstring
snippet docs
	'''
	File: \${1:FILENAME:file_name}
	Author: \${2:author}
	Description: \${3}
	'''
snippet wh
	while \${1:condition}:
		\${2:# TODO: write code...}
# dowh - does the same as do...while in other languages
snippet dowh
	while True:
		\${1:# TODO: write code...}
		if \${2:condition}:
			break
snippet with
	with \${1:expr} as \${2:var}:
		\${3:# TODO: write code...}
# New Class
snippet cl
	class \${1:ClassName}(\${2:object}):
		"""\${3:docstring for \$1}"""
		def __init__(self, \${4:arg}):
			\${5:super(\$1, self).__init__()}
			self.\$4 = \$4
			\${6}
# New Function
snippet def
	def \${1:fname}(\${2:\`indent('.') ? 'self' : ''\`}):
		"""\${3:docstring for \$1}"""
		\${4:# TODO: write code...}
snippet deff
	def \${1:fname}(\${2:\`indent('.') ? 'self' : ''\`}):
		\${3:# TODO: write code...}
# New Method
snippet defs
	def \${1:mname}(self, \${2:arg}):
		\${3:# TODO: write code...}
# New Property
snippet property
	def \${1:foo}():
		doc = "\${2:The \$1 property.}"
		def fget(self):
			\${3:return self._\$1}
		def fset(self, value):
			\${4:self._\$1 = value}
# Ifs
snippet if
	if \${1:condition}:
		\${2:# TODO: write code...}
snippet el
	else:
		\${1:# TODO: write code...}
snippet ei
	elif \${1:condition}:
		\${2:# TODO: write code...}
# For
snippet for
	for \${1:item} in \${2:items}:
		\${3:# TODO: write code...}
# Encodes
snippet cutf8
	# -*- coding: utf-8 -*-
snippet clatin1
	# -*- coding: latin-1 -*-
snippet cascii
	# -*- coding: ascii -*-
# Lambda
snippet ld
	\${1:var} = lambda \${2:vars} : \${3:action}
snippet .
	self.
snippet try Try/Except
	try:
		\${1:# TODO: write code...}
	except \${2:Exception}, \${3:e}:
		\${4:raise \$3}
snippet try Try/Except/Else
	try:
		\${1:# TODO: write code...}
	except \${2:Exception}, \${3:e}:
		\${4:raise \$3}
	else:
		\${5:# TODO: write code...}
snippet try Try/Except/Finally
	try:
		\${1:# TODO: write code...}
	except \${2:Exception}, \${3:e}:
		\${4:raise \$3}
	finally:
		\${5:# TODO: write code...}
snippet try Try/Except/Else/Finally
	try:
		\${1:# TODO: write code...}
	except \${2:Exception}, \${3:e}:
		\${4:raise \$3}
	else:
		\${5:# TODO: write code...}
	finally:
		\${6:# TODO: write code...}
# if __name__ == '__main__':
snippet ifmain
	if __name__ == '__main__':
		\${1:main()}
# __magic__
snippet _
	__\${1:init}__\${2}
# python debugger (pdb)
snippet pdb
	import pdb; pdb.set_trace()
# ipython debugger (ipdb)
snippet ipdb
	import ipdb; ipdb.set_trace()
# ipython debugger (pdbbb)
snippet pdbbb
	import pdbpp; pdbpp.set_trace()
snippet pprint
	import pprint; pprint.pprint(\${1})\${2}
snippet "
	"""
	\${1:doc}
	"""
# test function/method
snippet test
	def test_\${1:description}(\${2:self}):
		\${3:# TODO: write code...}
# test case
snippet testcase
	class \${1:ExampleCase}(unittest.TestCase):
		
		def test_\${2:description}(self):
			\${3:# TODO: write code...}
snippet fut
	from __future__ import \${1}
#getopt
snippet getopt
	try:
		# Short option syntax: "hv:"
		# Long option syntax: "help" or "verbose="
		opts, args = getopt.getopt(sys.argv[1:], "\${1:short_options}", [\${2:long_options}])
	
	except getopt.GetoptError, err:
		# Print debug info
		print str(err)
		\${3:error_action}

	for option, argument in opts:
		if option in ("-h", "--help"):
			\${4}
		elif option in ("-v", "--verbose"):
			verbose = argument
`;
