<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def like_shared_file(self, sharekey=None):
 """ 'Like' a SharedFile. mlkshk doesn't allow you to unlike a sharedfile, so this is ~~permanent~~. Args: sharekey (str):
 Sharekey for the file you want to 'like'. Returns: Either a SharedFile on success, or an exception on error. """


        if not sharekey:
            raise Exception(
                "You must specify a sharekey of the file you"
                "want to 'like'.")

        endpoint = '/api/sharedfile/{sharekey}/like'.format(sharekey=sharekey)
        data = self._make_request("POST", endpoint=endpoint, data=None)

        try:
            sf = SharedFile.NewFromJSON(data)
            sf.liked = True
            return sf
        except:
            raise Exception("{0}".format(data['error']))