def get_facebook_friends_tinder_ids(self): if not os.path.exists(".creepyfile"): be_creepy = input( "Sure you want to look at your Facebook friends' Tinder profiles? They might not like that. 🔒 [y/n]: " ).lower() in ("y", "yes") if not be_creepy: raise MoralityException("😇 ") else: with open(".creepyfile", "w") as f: f.write("😈") print("🔌🌐🔌") request = self._get("group/friends") if request.status_code != 200: raise SquadError( "Couldn't get info about your friends. Is Tinder Social enabled on your account? Hint: If you're not in Australia it probably isn't." ) friend_data = request.json() for result in friend_data["results"]: # Alright it's time for this json "parsing" fiesta. name = result["name"] tinder_id = result["user_id"] photos = result["photo"] sample_photo = photos[0]["processedFiles"][0] # Just pick any url to extract the Facebook ID from. sample_url = sample_photo["url"] facebook_id = sample_url.split("/")[3] self.friends.add(friendo.Friend(name, facebook_id, tinder_id)) return self.friends
def get_facebook_friends_tinder_ids(self): request = None for i in range(0, 3): request = self._get("group/friends") if request.status_code != 200: continue #raise SquadError("Couldn't get info about your friends. Is Tinder Social enabled on your account? Hint: If you're not in Australia it probably isn't.") else: break friend_data = request.json() for result in friend_data["results"]: # Alright it's time for this json "parsing" fiesta. name = result["name"] tinder_id = result["user_id"] photos = result["photo"] sample_photo = photos[0]["processedFiles"][0] # Just pick any url to extract the Facebook ID from. sample_url = sample_photo["url"] facebook_id = sample_url.split("/")[3] self.friends.add(friendo.Friend(name, facebook_id, tinder_id)) return self.friends
def game_loop(game_display): game_running = True score = 0 friend_block = friend.Friend(width, height, block_size) friend_block_move = 0 number_of_enemies = 15 enemies = [] for i in range(number_of_enemies): enemies.append(enemy.Enemy(width, height, block_size)) while game_running: for event in pygame.event.get(): # print(event) if event.type == pygame.QUIT: game_running = False elif event.type == pygame.KEYDOWN: if event.key == pygame.K_RIGHT: friend_block_move = 1 elif event.key == pygame.K_LEFT: friend_block_move = -1 elif event.type == pygame.KEYUP: if event.key == pygame.K_RIGHT or event.key == pygame.K_LEFT: friend_block_move = 0 game_display.fill(white) game_level = level_up(score) friend_block.move_x(friend_block_move) friend_block.draw(game_display) for i in range(number_of_enemies): score += enemies[i].move_y(height, game_level) enemies[i].draw(game_display) if check_collision(friend_block, enemies[i]): game_over(game_display, score) draw_text(game_display, "Score: {}".format(score), width / 2, 20, 30, black) draw_text(game_display, "Level: {}".format(game_level), 50, 20, 30, black) pygame.display.update() clock.tick(100)
def getFriends(self): """Reads Friends from config path. This iterates over all files in <config path>/friends, extracts all options and add these friends to self.friends if their configuration is valid. """ error = False friendPath = os.path.join(self.configPath, 'friends') friends = [ f for f in os.listdir(friendPath) if os.path.isfile(os.path.join(friendPath, f)) ] if not friends: logger.warning( "No friends found. In order to properly use fail2ban-p2p" + " add at least one friend.") for file in friends: with open( os.path.join(os.path.join(self.configPath, 'friends'), file), 'r') as f: friendinfo = str(f.read()) f.closed try: pubkey = re.findall( "-----BEGIN PUBLIC KEY-----(.*?)-----END PUBLIC KEY-----", friendinfo, re.DOTALL | re.M)[0] except IndexError: logger.warning("No pubkey found in config for " + file) error = True if pubkey: logger.debug("read friend's public key: %s" % pubkey) uid = str(hashlib.sha224(pubkey).hexdigest()) try: address = re.search("address\s*=\s*(.*)", friendinfo).group(1) except AttributeError: logger.warning("address not found in config for " + file) error = True try: port = re.search("port\s*=\s*(.*)", friendinfo).group(1) # make sure port is in valid range if not 0 < int(port) < 65536: logger.warning( "Port is invalid in '%s' friend file, must be between 0 and 65535" % file) error = True except AttributeError: logger.warning("port not found in config for " + file) error = True try: trustlevel = re.search("trustlevel\s*=\s*(.*)", friendinfo).group(1) except AttributeError: logger.warning("trustlevel not found in config for" + file) error = True if not error: obj = friend.Friend(name=file, uid=uid, address=address, port=int(port), trustLevel=int(trustlevel), publicKey=pubkey) obj.configpath = os.path.join( os.path.join(self.configPath, 'friends'), file) logger.debug("added friend " + file + " (uid=" + uid + ", address=" + address + ", port=" + str(port) + ", trustLevel=" + str(trustlevel) + ")") self.friends.append(obj) else: logger.error( "Could not add friend '%s' due to errors in the config file" % file)
import friend f1 = friend.Friend('Renjie', 23, ['Chinese', 'English']) f1.printInfo() f2 = friend.Friend() #f2.printInfo() f3 = friend.Friend(age=23) #f3.printInfo() f1.setAge(88) f1.printInfo() f1.set('robot', 1, ['java', 'python']) f1.printInfo() print(f1.whoKnows)