def updateJson(twitter): boards = {} for name in options['json_urls']: if options['debug']: print(name) necrolab_board = nsb_necrolab_board.leaderboard(name, boards) board = nsb_leaderboard.leaderboard(necrolab_board) board.fetch() boards[name] = board if board.hasFile(): board.read() entries = board.diffingEntries(twitter=twitter, num=500) else: entries = board.topEntries(5) for entry in entries: message = composeMessage(entry, board, twitter) if options['tweet']: twitter.postTweet(message) print(message.encode('ascii', 'replace')) #message = composeMessage(entry, board, twitter) #print(message) if options['backup']: for board in boards: board.write()
def update(twitter): print('start at: ', time.strftime('%c')) index = nsb_index.index() index.fetch() for index_entry in index.entries(): steam_board = nsb_steam_board.steam_board(index_entry) board = nsb_leaderboard.leaderboard(steam_board) if not steam_board.include(): print('skipping: ', index_entry) else: if options['debug']: print("including: ", str(board)) if not board.hasFile() and not options['handle-new']: print('New leaderboard', str(board), 'use --handle-new to use') continue board.fetch() if options['churn']: if options['backup']: board.write() if not board.hasFile(): entries = board.topEntries(5) else: board.read() try: deletedEntries = board.checkForDeleted(90) except: print('checkForDeleted threw exception, skipping') #we probably have an older leaderboard continue if deletedEntries > 0: print("Found", deletedEntries, "deleted entries in", str(board)) if deletedEntries > len(board.history): raise Exception('ERROR: {} {} all entries deleted'.format( deletedEntries, board)) if deletedEntries > 60: raise Exception( 'ERROR: {} too many deleted entries'.format( deletedEntries)) entries = board.diffingEntries(twitter=twitter) for entry in entries: message = composeMessage(entry, board, twitter) if options['tweet']: twitter.postTweet(message) if options['debug']: print(message.encode('ascii', 'replace')) if options['backup']: board.write()
def update(twitter): print('start at: ', time.strftime('%c')) debug = options['debug'] index = nsb_index.index() index.read_xml() #index.fetch() for entry in index.entries(): steam_board = nsb_steam_board.steam_board(entry) board = nsb_leaderboard.leaderboard(steam_board) #print(board) if steam_board.include(): #print("hi") if debug: #print(repr(board)) print("including: ", str(board)) if not board.hasFile() and not options['handle-new']: print('New leaderboard', str(board), 'use --handle-new to use') continue board.fetch() if board.hasFile(): board.read() deletedEntries = board.checkForDeleted(90) if deletedEntries > 0: print("Found", deletedEntries, "deleted entries in", str(board)) if deletedEntries >= len(board.history): raise Exception('ERROR:', deletedEntries, 'all entries deleted') if deletedEntries > 60: raise Exception('ERROR:', deletedEntries, 'too many deleted entries') entries = board.diffingEntries(twitter=twitter) else: entries = board.topEntries(5) for entry in entries: #print(nsb_steam.steamname(int(entry['steam_id']), options['steam_key'])) message = composeMessage(entry, board, twitter) if options['tweet']: twitter.postTweet(message) print(message.encode('ascii', 'replace')) if options['backup']: board.write()
def printBoard(): index = nsb_index.index() index.fetch() for entry in index.entries(): board = nsb_leaderboard.leaderboard(entry, 'xml') if board.include() and board.info.character == 'bard': board.fetch() print(board.topEntries()) return nsb_steam.downloadBoard(lbid, currPath, start, end) root = getRoot(path + lbid + '.xml') index = getEntryIndex(root) for entry in root[index]: steamid, score, rank = extractEntry(entry) name = steamname(steamid) printPlayer(name, rank, score)
def updateSRL(twitter): srl_board = nsb_srl_board.leaderboard() board = nsb_leaderboard.leaderboard(srl_board) board.fetch() if board.hasFile(): board.read() entries = board.diffingEntries() else: entries = board.topEntries(board.board.entriesToReportOnRankDiff()) for entry in entries: message = composeMessage(entry, board, twitter) if options['tweet']: twitter.postTweet(message) print(message.encode('ascii', 'replace')) #message = composeMessage(entry, board, twitter) #print(message) if options['backup']: board.write()
def postDaily(date, twitter): index = nsb_index.index() index.fetch() for entry in index.entries(): steam_board = nsb_steam_board.steam_board(entry) board = nsb_leaderboard.leaderboard(steam_board) if not board.board._availability == 'prod': continue if board.board._coop: continue if not board.board.daily(): continue if board.board._date != date: continue print(str(board)) board.fetch() message = composeDailyMessage(board.topEntries(3), board, twitter) if options['tweet']: twitter.postTweet(message) if options['debug']: print(message)