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)
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
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)
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)