import pycountry

def patch_getter():
	old_getter = pycountry.countries.get
	if old_getter.__name__ == 'new_getter':
		return
	data_class = type(
		pycountry.ExistingCountries.data_class_name,
		(pycountry.db.Data,),
		{}
	)
	kosovo_dict = {
		'alpha2': 'XK',
		'alpha3': 'UNK',
		'name': 'Kosovo',
		'official_name': 'Republic of Kosovo',
	}
	def new_getter(*args, **kw):
		try:
			return old_getter(*args, **kw)
		except KeyError as error:
			for key, value in kw.items():
				if (key, value) in kosovo_dict.items():
					return data_class(None, **kosovo_dict)
			raise error
	pycountry.countries.get = new_getter

patch_getter()

@@ -1,8 +1,589 @@
+# Copyright 2016 Matthias Gazzari%0A#%0A# Licensed under the Apache License, Version 2.0 (the %22License%22);%0A# you may not use this file except in compliance with the License.%0A# You may obtain a copy of the License at%0A#%0A#     http://www.apache.org/licenses/LICENSE-2.0%0A#%0A# Unless required by applicable law or agreed to in writing, software%0A# distributed under the License is distributed on an %22AS IS%22 BASIS,%0A# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A# See the License for the specific language governing permissions and%0A# limitations under the License.%0A%0A
 import p

add license header