"Untitled" By gando (https://pastebin.com/u/gando) URL: https://pastebin.com/Jq7BFgwZ Created on: Wednesday 7th of September 2011 03:42:14 PM CDT Retrieved on: Saturday 31 of October 2020 07:58:08 AM UTC #!/usr/bin/python import re from urllib import urlopen url = 'http://74.63.239.234/banlist.txt' ban_list = urlopen(url).readlines() #clean shit from beginning of banlist.txt ban_list = ban_list[37:] #init the ban list BANS = [] for line in ban_list: #place holders ban_nicks = [] ban_ids = [] ban_length = "" ban_msg = [] #get ban time ban_time = ' '.join(line.split()[:2]) #test for validity if len(line.split('STEAM')) < 3: continue # split the line with whitespace as delim tmp_list = line.split()[2:] #another validity test if len(tmp_list) < 11: continue #loop twice(2 STEAM id's) for z in range(0,2): for i in range(0,len(tmp_list)): #match steam id if re.match('STEAM_[0-1]:[0-1]:\d+', tmp_list[i]): #append id to place holder list ban_ids.append(tmp_list[i]) #append everything before id to nick place holder list ban_nicks.append(' '.join(tmp_list[:i])) #if ban_length not set, it's right after 1st steam ID if len(ban_length) == 0: ban_length = tmp_list[i+1] #slice everything already looped away tmp_list = tmp_list[i+2:] #break to next parent loop break #loop trough what's left in tmp_list (the ban msg and the extra at end) for i in tmp_list: #if we encounter '(' stop if i.startswith('('): break ban_msg.append(i) #join the ban message back together ban_msg = ' '.join(ban_msg) #print shit # print "----------" # print "Ban timestamp: " + str(ban_time) # print "Banned user: " + str(ban_nicks[0]) +' / '+ str(ban_ids[0]) # print "Ban message: " + str(ban_msg) #print "Ban length: " + str(ban_length) #print "Set by: " + str(ban_nicks[1]) +' / '+ str(ban_ids[1]) #print "----------" #use tmp_list again to parse everything back together tmp_list = [str(ban_time),str(ban_nicks[0]),str(ban_ids[0]),str(ban_length),str(ban_nicks[1]),str(ban_ids[1]),str(ban_msg)] #append the list to the global ban list BANS.append(tmp_list) #from now on, you can manipulate BANS easily and extract info from them #ie. this would print all banned nicks #for i in BANS: # print i[1] #ie. to get unique bans next = input("What do you want to know?\nPress 1 to print the amount of total bans and unique bans.\n\ Press 2 to look up all of the bans of a specific SteamID. > ") if next == 1: unique_list = [] unique_tmp = [] for i in BANS: if i[2] not in unique_tmp: unique_tmp.append(i[2]) unique_list.append(i) print "Unique bans: " + str(len(unique_list)) print "Total bans: " + str(len(BANS)) if next == 2: id_list = [] id_tmp = [] id_compare = raw_input("What SteamID do you want to view bans for? > ") for i in BANS: if i[2] == id_compare: id_list.append(i) print id_list