@@ -2056,24 +2056,50 @@ def CreateFriendship(self, user_id=None, screen_name=None, follow=True):
20562056 Returns:
20572057 A twitter.User instance representing the befriended user.
20582058 """
2059- url = '%s/friendships/create.json' % (self .base_url )
2059+ return self ._AddOrEditFriendship (user_id = user_id , screen_name = screen_name , follow = follow )
2060+
2061+ def _AddOrEditFriendship (self , user_id = None , screen_name = None , uri_end = 'create' , follow_key = 'follow' , follow = True ):
2062+ """
2063+ Shared method for Create/Update Friendship.
2064+
2065+ """
2066+ url = '%s/friendships/%s.json' % (self .base_url , uri_end )
20602067 data = {}
20612068 if user_id :
20622069 data ['user_id' ] = user_id
20632070 elif screen_name :
20642071 data ['screen_name' ] = screen_name
20652072 else :
20662073 raise TwitterError ({'message' : "Specify at least one of user_id or screen_name." })
2067- if follow :
2068- data ['follow' ] = 'true'
2069- else :
2070- data ['follow' ] = 'false'
2074+ follow_json = json .dumps (follow )
2075+ data ['{}' .format (follow_key )] = follow_json
20712076
20722077 json_data = self ._RequestUrl (url , 'POST' , data = data )
20732078 data = self ._ParseAndCheckTwitter (json_data .content )
20742079
20752080 return User .NewFromJsonDict (data )
20762081
2082+ def UpdateFriendship (self , user_id = None , screen_name = None , follow = True , ** kwargs ): # api compat with Create
2083+ """Updates a friendship with the user specified by the user_id or screen_name.
2084+
2085+ The twitter.Api instance must be authenticated.
2086+
2087+ Args:
2088+ user_id:
2089+ A user_id to update [Optional]
2090+ screen_name:
2091+ A screen_name to update [Optional]
2092+ follow:
2093+ Set to False to disable notifications for the target user
2094+ device:
2095+ Set to False to disable notifications for the target user
2096+
2097+ Returns:
2098+ A twitter.User instance representing the befriended user.
2099+ """
2100+ follow = kwargs .get ('device' , follow )
2101+ return self ._AddOrEditFriendship (user_id = user_id , screen_name = screen_name , follow = follow , follow_key = 'device' , uri_end = 'update' )
2102+
20772103 def DestroyFriendship (self , user_id = None , screen_name = None ):
20782104 """Discontinues friendship with a user_id or screen_name.
20792105
0 commit comments