You're right, I've fixed that in the latest commit on my branch, I'll add another pull request that does this part better.
Here's the new code:

	def split_resource_url(resource_url):
		"""
		Divide the resource name into "<protocol>:<path>".
		"""
		return re.split(r':/*', resource_url, 1)

	def normalize_resource_url(resource_url):
		try:
			protocol, name = split_resource_url(resource_url)
		except ValueError:
			# the resource url has no protocol, use the nltk protocol by default
			protocol = 'nltk'
			name = resource_url
		if protocol == 'file':
			protocol = 'file:///'
			name = normalize_resource_name(name)
		elif protocol == 'nltk':
			protocol = 'nltk:'
			name = normalize_resource_name(name)
		else:
			# handled by urllib
			protocol += '://'
		return ''.join([protocol,name])