class MaraudersMapBackEnd(object): """BackEndHauptklasse""" listOfAllOther = None def __init__(self): self.listOfAllOther = None # @type dbI DataBaseInteraction # @type sv ServerInteraction # @type log Logic self.dbI = DataBaseInteraction(self) # self wieder einfuegen! self.sv = ServerInteraction(self) self.log = Logic(self, self.dbI) # User Settings def update_settings(self, jID, settings): """ Updates the settings for user with given jID """ return self.log.update_settings(jID, settings) def get_settings(self, jID): """ Get a list of all settings for a user with given jID. """ return self.log.get_settings(jID) # User info def get_user_info(self, callerjID, aboutjID): """ Get a dictionary of the infos about a user with given jID, and connetions to the caller. """ return self.log.get_user_info(callerjID, aboutjID) def get_jid_of_all_users(self): """ Returns a list of all user @rtype: list with jid as JID """ return self.log.get_jid_of_all_users() # User Availability def set_user_available(self, jid): """ @type jid: str """ self.log.set_user_available(jid) def set_user_unavailable(self, jid): """ @type jid: str """ self.log.set_user_unavailable(jid) # User Avatar def save_avatar(self, ownerJID, avatarData): return self.dbI.update_user_avatar(ownerJID, avatarData) def get_avatar_for_username(self, ownerName): return self.log.get_avatar_for_username(ownerName) def get_jid_from_username(self, username): return self.log.get_jid_from_username(username) def get_all_for_buddysight(self, jID): """ Gets a list of all users who will receive the buddy sight of the user with given jID. @rtype: list """ try: listofall = self.log.get_all_for_buddysight(jID) return listofall except: return list() # Geolocation related def get_all_in_radius(self, jID): """ Gets a list of all users who are in a radius for the user with the given JID. Thus returns a list of the users who are allowed to see the user with the given JID """ try: listofallinradius = self.log.get_list_of_all_in_radius(jID) return listofallinradius except: return list() def refresh_geo_loc(self, jID, long, lat, acc): """ Updates the location for user with given jID """ try: self.dbI.refresh_geo_loc(jID, long, lat, acc) except: print "db Error/ refresh Geo" return True def share_geo_loc(self, senderJID, receiverUsername, geodata): """ Send a location send by user with senderJID to user with recevierUsername """ self.log.share_geo_loc(senderJID, receiverUsername, geodata) # Friendhsips related def create_friendship(self, callerJID, friendJID): """ Establish a friendship between callerJID and friendJID on database of backende """ return self.log.create_friendship(callerJID, friendJID) def destroy_friendship(self, callerJID, lostFriendJID): """ Destroy a friendhsip between callerJID and lostFriendJID """ return self.log.destroy_friendship(callerJID, lostFriendJID)