#NEWLINE# @ defer . inlineCallbacks #NEWLINE# def drop( self , observed_user , observer_user ) : #NEWLINE# #INDENT# "Remove a local or remote user from a local user's presence list and\n        unsubscribe the local user from updates that user.\n        Args:\n            observed_user(UserId): The local or remote user to remove from the\n                list.\n            observer_user(UserId): The local owner of the presence list.\n        Returns:\n            A Deferred.\n        " #NEWLINE# if ( not self . hs . is_mine ( observer_user ) ) : #NEWLINE# #INDENT# raise SynapseError ( 400 , 'User is not hosted on this Home Server' ) #NEWLINE# #UNINDENT# ( yield self . store . del_presence_list ( self . localpart , observed_user . to_string ( ) ) )