def getPeerLines(arguments): 'Get the inner peer text according to the arguments.' peerFileName = almoner.getParameter(arguments, 'peer.csv', 'inputpeer') peerLines = almoner.getTextLines(almoner.getLocationText(peerFileName)) print('Number of peers: %s' % len(peerLines)) print('') return peerLines
def getAccountLines(arguments, suffixNumberString): 'Get the lines according to the arguments.' linkFileName = almoner.getParameter(arguments, 'account_location.csv', 'location') linkLines = almoner.getTextLines(almoner.getLocationText(linkFileName))[1:] accountLines = [''] nameSet = set([]) for linkLine in linkLines: linkLineSplit = linkLine.split(',') name = linkLineSplit[0] if 'Devcoin Share List' == name or 'Bitcoin Share List' == name: continue location = linkLineSplit[1] extraLines = [] if '_xx' in location: location = location.replace('_xx', '_' + suffixNumberString) locationText = almoner.getLocationText(location) if '<title>404 Not Found</title>' in locationText: print('Warning, could not download page: %s' % location) else: extraLines = almoner.getTextLines( locationText.replace('coinzen.org/index.php/topic,', 'coinzen.org/index.php/topic=')) else: extraLines = getNameAddressLines(location, nameSet) for extraLineIndex in xrange(len(extraLines) - 1, -1, -1): extraWords = extraLines[extraLineIndex].split(',') if len(extraWords) < 3: print('Warning, less than 3 words in:') print(linkLine) print(extraWords) print('') del extraLines[extraLineIndex] else: secondWord = extraWords[1] if '-' in secondWord or '(' in secondWord or ':' in secondWord: print('Coin address is invalid in:') print(extraWords) del extraLines[extraLineIndex] numberOfShares = len(getReceiverLinesByAccountLines(extraLines)) accountLines.append(name + ': %s Shares' % numberOfShares) accountLines += extraLines accountLines.append('') # ~ addAdministratorBonus(accountLines) return accountLines
def writeWidenedFile(folderName, peerRootAddress, peerTextUntilCoins, widenRound): "Write widened file." title = almoner.getSuffixedFileName("receiver.csv", str(widenRound)) widenPath = os.path.join(folderName, title) receiverAddress = almoner.getSuffixedFileName(peerRootAddress, str(widenRound)) receiverText = almoner.getLocationText(receiverAddress) receiverTextFromCoins = receiverText[receiverText.find("_begincoins") :] widenText = peerTextUntilCoins + receiverTextFromCoins almoner.writeFileText(widenPath, widenText)
def writeWidenedFile(folderName, peerRootAddress, peerTextUntilCoins, widenRound): 'Write widened file.' title = almoner.getSuffixedFileName('receiver.csv', str(widenRound)) widenPath = os.path.join(folderName, title) receiverAddress = almoner.getSuffixedFileName(peerRootAddress, str(widenRound)) receiverText = almoner.getLocationText(receiverAddress) receiverTextFromCoins = receiverText[receiverText.find('_begincoins'):] widenText = peerTextUntilCoins + receiverTextFromCoins almoner.writeFileText(widenPath, widenText)
def getAccountLines(arguments, suffixNumberString): 'Get the lines according to the arguments.' linkFileName = almoner.getParameter(arguments, 'account_location.csv', 'location') linkLines = almoner.getTextLines(almoner.getLocationText(linkFileName))[1 :] accountLines = [''] nameSet = set([]) for linkLine in linkLines: linkLineSplit = linkLine.split(',') name = linkLineSplit[0] location = linkLineSplit[1] extraLines = [] if '_xx' in location: location = location.replace('_xx', '_' + suffixNumberString) locationText = almoner.getLocationText(location) if '<title>404 Not Found</title>' in locationText: print('Warning, could not download page: %s' % location) else: extraLines = almoner.getTextLines(locationText.replace('coinzen.org/index.php/topic,', 'coinzen.org/index.php/topic=')) else: extraLines = getNameAddressLines(location, nameSet) for extraLineIndex in xrange(len(extraLines) - 1, -1, -1): extraWords = extraLines[extraLineIndex].split(',') if len(extraWords) < 3: print('Warning, less than 3 words in:') print(extraWords) del extraLines[extraLineIndex] else: secondWord = extraWords[1] if '-' in secondWord or '(' in secondWord or ':' in secondWord: print('Coin address is invalid in:') print(extraWords) del extraLines[extraLineIndex] numberOfShares = len(getReceiverLinesByAccountLines(extraLines)) accountLines.append(name + ': %s Shares' % numberOfShares) accountLines += extraLines accountLines.append('') addAdministratorBonus(accountLines) return accountLines
def getAccountLines(arguments, suffixNumberString): 'Get the lines according to the arguments.' linkFileName = almoner.getParameter(arguments, 'account_location.csv', 'location') linkLines = almoner.getTextLines(almoner.getLocationText(linkFileName))[1 :] accountLines = [''] for linkLine in linkLines: linkLineSplit = linkLine.split(',') name = linkLineSplit[0] location = linkLineSplit[1] extraLines = [] if '_xx' in location: location = location.replace('_xx', '_' + suffixNumberString) extraLines = almoner.getTextLines(almoner.getLocationText(location)) else: extraLines = almoner.getNameAddressLines(location) numberOfShares = len(getReceiverLinesByAccountLines(extraLines)) print('Name: %s, Location: %s, Shares: %s' % (name, location, numberOfShares)) accountLines.append(name + ': %s Shares' % numberOfShares) accountLines += extraLines accountLines.append('') addAdministratorBonus(accountLines) print('') return accountLines
def writeFolder(folderName, peerRootAddress, round): "Write zip file." print("Making directory:") print(folderName) print("") almoner.makeDirectory(folderName) peerAddress = almoner.getSuffixedFileName(peerRootAddress, str(round)) print("Getting peer:") print(peerAddress) print("") peerText = almoner.getLocationText(peerAddress) peerTextUntilCoins = peerText[: peerText.find("_begincoins")] unthinkingbitString = "https://raw.github.com/Unthinkingbit/charity/master/receiver.csv" fuzzyString = "http://devcoinpool.btc-music.com/receiver/receiver.csv" peerTextUntilCoins = peerTextUntilCoins.replace(unthinkingbitString, fuzzyString) print("Peer text until coins:") print(peerTextUntilCoins) print("") print("Writing widened files:") for widenRound in xrange(round + 1): writeWidenedFile(folderName, peerRootAddress, peerTextUntilCoins, widenRound) print("")
def writeFolder(folderName, peerRootAddress, round): 'Write zip file.' print('Making directory:') print(folderName) print('') almoner.makeDirectory(folderName) peerAddress = almoner.getSuffixedFileName(peerRootAddress, str(round)) print('Getting peer:') print(peerAddress) print('') peerText = almoner.getLocationText(peerAddress) peerTextUntilCoins = peerText[:peerText.find('_begincoins')] unthinkingbitString = 'https://raw.github.com/Unthinkingbit/charity/master/receiver.csv' fuzzyString = 'http://devcoinpool.btc-music.com/receiver/receiver.csv' peerTextUntilCoins = peerTextUntilCoins.replace(unthinkingbitString, fuzzyString) print('Peer text until coins:') print(peerTextUntilCoins) print('') print('Writing widened files:') for widenRound in xrange(round + 1): writeWidenedFile(folderName, peerRootAddress, peerTextUntilCoins, widenRound) print('')