def test_first_edit(self): expect = ( u'The Addams Family (pinball)', u'Talk:Nowy Sącz', u'Template:Template', ) gen = PagesFromTitlesGenerator(self.titles, self.site) gen = pagegenerators.EdittimeFilterPageGenerator( gen, first_edit_end=datetime.datetime(2006, 1, 1)) self.assertPagelistTitles(gen, titles=expect, site=self.site) gen = PagesFromTitlesGenerator(self.titles, self.site) gen = pagegenerators.EdittimeFilterPageGenerator( gen, first_edit_start=datetime.datetime(2006, 1, 1)) opposite_pages = list(gen) self.assertTrue( all(isinstance(p, pywikibot.Page) for p in opposite_pages)) self.assertTrue(all(p.title not in expect for p in opposite_pages))
def test_last_edit(self): two_days_ago = datetime.datetime.now() - datetime.timedelta(days=2) nine_days_ago = datetime.datetime.now() - datetime.timedelta(days=9) gen = PagesFromTitlesGenerator(['Wikipedia:Sandbox'], self.site) gen = pagegenerators.EdittimeFilterPageGenerator( gen, last_edit_start=two_days_ago) self.assertEqual(len(list(gen)), 1) gen = PagesFromTitlesGenerator(['Wikipedia:Sandbox'], self.site) gen = pagegenerators.EdittimeFilterPageGenerator( gen, last_edit_end=two_days_ago) self.assertEqual(len(list(gen)), 0) gen = PagesFromTitlesGenerator(['Template:Sidebox'], self.site) gen = pagegenerators.EdittimeFilterPageGenerator( gen, last_edit_end=nine_days_ago) self.assertEqual(len(list(gen)), 1) gen = PagesFromTitlesGenerator(['Template:Sidebox'], self.site) gen = pagegenerators.EdittimeFilterPageGenerator( gen, last_edit_start=nine_days_ago) self.assertEqual(len(list(gen)), 0)
mail['Subject'] = Header(mailSubj.encode('utf-8'), 'utf-8') adminReqPagesPrevYear = pagegenerators.PrefixingPageGenerator( 'Заявки към администраторите/' + str(currentDateTime.year - 1), namespace='Уикипедия', includeredirects=False) adminReqPagesCurrYear = pagegenerators.PrefixingPageGenerator( 'Заявки към администраторите/' + str(currentDateTime.year), namespace='Уикипедия', includeredirects=False) adminReqPages = pagegenerators.CombinedPageGenerator( [adminReqPagesPrevYear, adminReqPagesCurrYear]) adminReqPagesRecent = pagegenerators.EdittimeFilterPageGenerator( adminReqPages, last_edit_start=lastDateTime) revisionCount = 0 for reqPage in adminReqPagesRecent: mailBody += '##############################################################################\n\n' mailBody += 'https://bg.wikipedia.org/wiki/' + reqPage.title().replace( ' ', '_') + '\n\n' mailBody += '##############################################################################\n\n' for revision in reqPage.revisions(reverse=True, starttime=lastDateTime, content=True): revisionCount += 1 mailBody += 'Дата и час: %s' % revision.timestamp + '\n' mailBody += 'Потребител: %s' % revision.user + '\n' mailBody += 'Резюме: %s' % revision.comment + '\n\n' if revision._parent_id: