def save_indexes(): # old_levels = [ # u'I', # u'II++', # u'II+', # u'II', # u'III++', # u'III+', # u'III', # u'IV++', # u'IV+', # u'IV', # ] # for level in levels_order: # save_wiki_page(u'Участник:Vitalik/Индекс/Качество/%s уровень' % level, # u'#redirect [[Участник:Vitalik/Индекс/Качество/%s уровень/Итого]]' % level, # u'Создание редиректа для удобного переименования') # for level in levels_order: # save_wiki_page(u'Викисловарь:Проект:Русский язык/Качество/%s' % level, # u'#redirect [[Викисловарь:Проект:Русский язык/Качество/%s/Итого]]' % level, # u'Создание редиректа для удобного переименования') # move_wiki_page(u'Викисловарь:Проект:Русский язык/Качество/%s' % level, # u'Викисловарь:Проект:Русский язык/Качество/%s/Итого' % level, # u'Создание редиректа для удобного переименования') # sys.exit() # − print dt(), 'started getting checkers' warning, errors = get_checkers() print dt(), 'finished getting checkers' warning_reports = get_reports_links(warning) errors_reports = get_reports_links(errors) counts = dict() counts1 = dict() counts2 = dict() counts3 = dict() counts4 = dict() highest = load_lines(settings.FILES_PATH + '/data/frequency/ru_new_5000', decode=u'utf-8') top1 = load_lines(settings.FILES_PATH + '/data/frequency/ru_old_1-1000', decode=u'utf-8') top2 = load_lines(settings.FILES_PATH + '/data/frequency/ru_old_1001-10000', decode=u'utf-8') medium = load_lines(settings.FILES_PATH + '/data/frequency/ru_mas_xr_0_2b', decode=u'utf-8') # high2 = set(top1) | (set(top2) - set(highest)) # high1 = set(top1) | set(top2) - set(highest) # print len(high1), len(high2) # if high1 != high2: # raise Exception('!!!') # print len(highest) # print len(set(top1) | set(top2)) high = sorted(list((set(top1) | set(top2)) - set(highest))) # print len(high) # print len(medium) medium = sorted(list(set(medium) - set(highest) - set(high))) # print len(medium) # sys.exit(1) # top1_lines = load_lines(settings.FILES_PATH + 'data/frequency/ru_1-1000') # top2_lines = load_lines(settings.FILES_PATH + 'data/frequency/ru_1001-10000') # top1 = dict() # top2 = dict() # for line in top1_lines: # top1[line] = True # for line in top2_lines: # top2[line] = True total = 0 total1 = 0 total2 = 0 total3 = 0 total4 = 0 path = settings.FILES_PATH + '/reports/quality/' for level in levels_order: words = load_lines(path + 'level_%s.txt' % level.replace(u'−', u'-'), decode=u'utf-8') words1 = sorted(list(set(words) & set(highest))) words2 = sorted(list(set(words) & set(high))) words3 = sorted(list(set(words) & set(medium))) counts[level] = len(words) counts1[level] = len(words1) counts2[level] = len(words2) counts3[level] = len(words3) counts4[level] = counts[level] - counts1[level] - counts2[level] - counts3[level] total += counts[level] total1 += counts1[level] total2 += counts2[level] total3 += counts3[level] total4 += counts4[level] #if level == u'II': # continue if level[0] == u'D': words_details = warning_reports elif level[0] == u'E': words_details = errors_reports else: words_details = None if level[0] in [u'D', u'E']: content1 = '\n'.join([u"* [[%s]]\n%s\n" % (word, words_details.get(word, u"* ''(пусто)''")) for word in words1]) content2 = '\n'.join([u"* [[%s]]\n%s\n" % (word, words_details.get(word, u"* ''(пусто)''")) for word in words2]) else: content1 = '\n'.join([u"# [[%s]]" % word for word in words1]) content2 = '\n'.join([u"# [[%s]]" % word for word in words2]) content1 = u"<noinclude>\n%s\n</noinclude><includeonly>%s</includeonly>" % \ (content1, counts1[level]) content2 = u"<noinclude>\n%s\n</noinclude><includeonly>%s</includeonly>" % \ (content2, counts2[level]) content4 = u'%s' % counts4[level] importance = ( (u'Высшая', content1), (u'Высокая', content2), # (u'Средняя', content3), (u'Низкая', content4), ) for name, content in importance: # print '-' * 100 # print u'Викисловарь:Проект:Русский язык/Качество/Уровень %s/%s важность' % (level, name) # print '-' * 100 # print content # print '-' * 100 # print save_wiki_page( u'Викисловарь:Проект:Русский язык/Качество/Уровень %s/%s важность' % (level, name), content, u'Обновление списка слов по уровню качества и важности') # continue create_index( words3, u'Качество/Уровень %s/%s важность' % (level, u'Средняя'), desc=u'Обновление списка слов по уровню качества и важности', push=True, debug=False, # push=False, debug=True, header=u'Уровень качества %s' % level, force_wiki_prefix=u'Викисловарь:Проект:Русский язык', # wiki_save_only_total=True, need_div=False, words_details=words_details, ) create_index( words, u'Качество/Уровень %s' % level, desc=u'Обновление списка слов по уровню качества', push=True, debug=False, # push=False, debug=True, header=u'Уровень качества %s' % level, force_wiki_prefix=u'Викисловарь:Проект:Русский язык', # wiki_save_only_total=True, need_div=False, words_details=words_details, ) content = u""" {| class="wikitable" style="text-align: center" ! colspan="7" | Статьи проекта «Русский язык» |- ! rowspan="2" | Уровень <br />качества ! colspan="6" | Важность |- ! Высшая ! Высокая ! Средняя ! Низкая ! Всего |- """ for level in levels_order: content += u"| '''%s''' \n" \ u"| %s <!-- Уровень %s, высшая важность -->\n" \ u"| %s <!-- Уровень %s, высокая важность -->\n" \ u"| %s <!-- Уровень %s, средняя важность -->\n" \ u"| %s <!-- Уровень %s, низкая важность -->\n" \ u"| %s <!-- Уровень %s, всего -->\n" \ u"|- \n" % \ (level, counts1[level], level, counts2[level], level, counts3[level], level, counts4[level], level, counts[level], level) content += u"| '''Всего''' \n" \ u"| %s <!-- Всего, высшая важность -->\n" \ u"| %s <!-- Всего, высокая важность -->\n" \ u"| %s <!-- Всего, средняя важность -->\n" \ u"| %s <!-- Всего, низкая важность-->\n" \ u"| %s <!-- Всего -->\n" \ u"|-\n" % \ (total1, total2, total3, total4, total) content += u"|}" # print content save_wiki_page(u'Викисловарь:Проект:Русский язык/Качество/Для истории', content, u'Статистика по качеству статей (для истории)')
def before(self): super(NewPagesStatistics, self).before() self.warning, self.errors = get_checkers() self.prev_day = None self.counter = 1# - 6 self.content = u'''Новые статьи за последние 7 дней: