コード例 #1
0
ファイル: wikicopy.py プロジェクト: jdbtracker/charity
def writeZipFile(archiveType, fileNameRoot, shouldMakeSnapshot, wikiAddress):
	'Write zip file.'
	print('Copying:')
	print(wikiAddress)
	print('')
	almoner.makeDirectory(fileNameRoot)
	previousLetter = '0'
	lastModifiedText = datetime.datetime.today().strftime(globalDateTimeFormat)
	titles = getRecentTitles(archiveType, fileNameRoot, wikiAddress)
	print('Number of titles: %s' % len(titles))
	almoner.writeFileText(os.path.join(fileNameRoot, 'last_modified.txt'), lastModifiedText)
	for title in titles:
		letter = title[0]
		if letter != previousLetter:
			previousLetter = letter
			print('Copying articles starting with %s.' % letter.upper())
		sourceText = devtome.getSourceText(wikiAddress + '/doku.php?id=%s&do=edit' % title)
		time.sleep(2)
		fileName = os.path.join(fileNameRoot, title)
		almoner.writeFileText(fileName, sourceText)
	print('There were %s files in the wiki.\n' % len(titles))
	archiveFileName = fileNameRoot + '.' + archiveType
	if archiveType == 'zip':
		almoner.writeZipFileByFolder(fileNameRoot)
	else:
		writeTarFileByFolder(archiveType, archiveFileName, fileNameRoot)
	if shouldMakeSnapshot:
		snapshotSuffix = datetime.datetime.today().strftime('_%y-%m-%d_%H')
		destination = fileNameRoot + snapshotSuffix + '.' + archiveType
		shutil.copyfile(archiveFileName, destination)
		print('The snapshot zip file has been written to:\n%s\n' % destination)
コード例 #2
0
ファイル: wikicopy.py プロジェクト: moozilla/charity
def writeZipFile(archiveType, fileNameRoot, shouldMakeSnapshot, wikiAddress):
    'Write zip file.'
    print('Copying:')
    print(wikiAddress)
    print('')
    almoner.makeDirectory(fileNameRoot)
    previousLetter = '0'
    lastModifiedText = datetime.datetime.today().strftime(globalDateTimeFormat)
    titles = getRecentTitles(archiveType, fileNameRoot, wikiAddress)
    print('Number of titles: %s' % len(titles))
    almoner.writeFileText(os.path.join(fileNameRoot, 'last_modified.txt'),
                          lastModifiedText)
    for title in titles:
        letter = title[0]
        if letter != previousLetter:
            previousLetter = letter
            print('Copying articles starting with %s.' % letter.upper())
        sourceText = devtome.getSourceText(wikiAddress +
                                           '/doku.php?id=%s&do=edit' % title)
        time.sleep(2)
        fileName = os.path.join(fileNameRoot, title)
        almoner.writeFileText(fileName, sourceText)
    print('There were %s files in the wiki.\n' % len(titles))
    archiveFileName = fileNameRoot + '.' + archiveType
    if archiveType == 'zip':
        almoner.writeZipFileByFolder(fileNameRoot)
    else:
        writeTarFileByFolder(archiveType, archiveFileName, fileNameRoot)
    if shouldMakeSnapshot:
        snapshotSuffix = datetime.datetime.today().strftime('_%y-%m-%d_%H')
        destination = fileNameRoot + snapshotSuffix + '.' + archiveType
        shutil.copyfile(archiveFileName, destination)
        print('The snapshot zip file has been written to:\n%s\n' % destination)
コード例 #3
0
ファイル: rater.py プロジェクト: jdbtracker/charity
	def __init__(self, name):
		'Initialize.'
		self.articles = []
		self.name = name
		sourceAddress = 'http://devtome.com/doku.php?id=wiki:user:%s&do=edit' % self.name
		print('Loading user page from %s' % self.name)
		sourceText = devtome.getSourceText(sourceAddress)
		isCollated = False
		isOriginal = False
		for line in almoner.getTextLines(sourceText):
			lineStrippedLower = line.strip().lower()
			if '==' in lineStrippedLower:
				isCollated = False
				isOriginal = False
			if isCollated:
				lowerLinkName = devtome.getLinkName(line).lower()
				self.articles.append(lowerLinkName)
			if isOriginal:
				lowerLinkName = devtome.getLinkName(line).lower()
				self.articles.append(lowerLinkName)
			if '==' in lineStrippedLower:
				if 'collated' in lineStrippedLower:
					isCollated = True
				elif 'original' in lineStrippedLower:
					isOriginal = True
コード例 #4
0
ファイル: marketing.py プロジェクト: jdbtracker/charity
	def __init__(self, coinAddress, isShareName, name):
		'Initialize.'
		self.coinAddress = coinAddress
		self.domainPayoutSet = set([])
		self.name = name
		self.payoutFifth = 0
		self.postPayoutSet = set([])
		self.postWords = 0
		self.signaturePageSet = set([])
		self.sourceAddress = 'http://devtome.com/doku.php?id=wiki:user:%s&do=edit' % self.name
		self.subdomainPayout = 0
		print('\nLoading pages from %s' % self.name)
		sourceText = devtome.getSourceText(self.sourceAddress)
		isLink = False
		isPost = False
		isSignature = False
		for line in almoner.getTextLines(sourceText):
			lineStrippedLower = line.strip().lower()
			if '==' in lineStrippedLower:
				isLink = False
				isPost = False
				isSignature = False
				if 'link' in lineStrippedLower:
					isLink = True
				if 'post' in lineStrippedLower:
					isPost = True
				if 'signature' in lineStrippedLower:
					isSignature = True
			if isLink:
				self.addLinkPayout(lineStrippedLower)
			if isPost:
				self.addPostPayout(lineStrippedLower)
			if isSignature:
				self.addSignaturePayout(lineStrippedLower)
		if len(self.domainPayoutSet) == 0:
			if self.subdomainPayout == 1:
				self.payoutFifth += 1
				print('Subdomain payout: 1')
		if self.postWords > 100:
			if self.postWords > 1000:
				self.payoutFifth += 2
				print('Big post payout: 2')
			else:
				self.payoutFifth += 1
				print('Small post payout: 1')
		if self.payoutFifth > 0:
			if isShareName:
				print('%s is on a share list, so the payout is doubled.' % self.name)
				self.payoutFifth += self.payoutFifth
			print('Total payout fifths: %s' % self.payoutFifth)
コード例 #5
0
	def __init__(self, coinAddress, name):
		'Initialize.'
		self.coinAddress = coinAddress
		self.domainPayout = 0
		self.name = name
		self.payoutFifth = 0
		self.postPayout = 0
		self.postWords = 0
		self.signaturePayout = False
		self.sourceAddress = 'http://devtome.com/doku.php?id=wiki:user:%s&do=edit' % self.name
		self.subdomainPayout = 0
		print('\nLoading pages from %s' % self.name)
		sourceText = devtome.getSourceText(self.sourceAddress)
		isLink = False
		isPost = False
		isSignature = False
		for line in almoner.getTextLines(sourceText):
			lineStrippedLower = line.strip().lower()
			if '==' in lineStrippedLower:
				isLink = False
				isPost = False
				isSignature = False
				if 'link' in lineStrippedLower:
					isLink = True
				if 'post' in lineStrippedLower:
					isPost = True
				if 'signature' in lineStrippedLower:
					isSignature = True
			if isLink:
				self.addLinkPayout(lineStrippedLower)
			if isPost:
				self.addPostPayout(lineStrippedLower)
			if isSignature:
				self.addSignaturePayout(lineStrippedLower)
		if self.domainPayout == 0:
			if self.subdomainPayout == 1:
				self.payoutFifth += 1
				print('Subdomain payout: 1')
		if self.postWords > 100:
			if self.postWords > 1000:
				self.payoutFifth += 2
				print('Big post payout: 2')
			else:
				self.payoutFifth += 1
				print('Small post payout: 1')
		if self.payoutFifth > 0:
			print('Total payout fifths: %s' % self.payoutFifth)