예제 #1
0
파일: account.py 프로젝트: moozilla/charity
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
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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)
예제 #5
0
파일: widen.py 프로젝트: moozilla/charity
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)
예제 #6
0
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
예제 #7
0
파일: account.py 프로젝트: moozilla/charity
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
예제 #8
0
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
예제 #9
0
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("")
예제 #10
0
파일: widen.py 프로젝트: moozilla/charity
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('')