<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def ring_source(self):
 		"""The source of the interaction with the ring. 		If the source is 		:attr:`~libinput.constant.TabletPadRingAxisSource.FINGER`, 		libinput sends a ring position value of -1 to terminate 		the current interaction. 		For events not of type 		:attr:`~libinput.constant.EventType.TABLET_PAD_RING`, this property 		raises :exc:`AttributeError`. 		Returns: 			~libinput.constant.TabletPadRingAxisSource: The source of the ring 			interaction. 		Raises: 			AttributeError 		"""


		if self.type != EventType.TABLET_PAD_RING:
			raise AttributeError(_wrong_prop.format(self.type))
		return self._libinput.libinput_event_tablet_pad_get_ring_source(
			self._handle)