Википедија:Барање на ботовски услуги/реализирано/20090914

Од Википедија — слободната енциклопедија

Барања • Исполнети • Одбиени

Статус: реализирано барање

Опис на барањето[уреди извор]

За секоја категорија од типот Категорија:Родени во 1941 година да се создаде надкатегорија Категорија:Родени по години. На разговорната страница на новосоздадената надкатегорија да се постави општ шаблон {{Родени по години}} (се бара дизајн на шаблонот).--brest (разговор) 06:59, 13 септември 2009 (UTC)

Оваа бот процедура може да се искористи за создавање на надкатегории за категориите од типот Категорија:Починати во 1941 година. Се бара дизајн на аналоген шаблон {{Починати по години}} кој би се вметнувал на соодветните разговорни страници.--brest (разговор) 06:59, 13 септември 2009 (UTC)

Дискусија[уреди извор]

Оваа активност на ботот би била во рамките на проектот Википедија:Проект:На денешен ден.--brest (разговор) 06:59, 13 септември 2009 (UTC)

За пример на категорија уредена со бот види:

Дополнително ботот ги додава шаблоните {{Родгод}} односно {{Почгод}}, како и {{рв}}. Ботот работи само за новокреирани категории не и за веќе постоечки. На веќе постоечките доколку нема ништо на разговорната страница, додава соодветни шаблони за разговор.--brest (разговор) 07:30, 13 септември 2009 (UTC)

Исто така треба да се види кој временски период да се опфати со работа на ботот, мој предлог од 1000 до 2010 година.--brest (разговор) 07:34, 13 септември 2009 (UTC)

Да, мислам едка е добро, тоа да биде периодот од 1000 до 2010 и евентуално, категоприи пред тоа, ако има статии за личности родени или починати во тие години. Инаку, мислам дека е добар дизајнот на кутијата со годините, бидејќи мислам дека не е соодветно истата да биде премногу голема и голмазна и да зазема дел од категоријата и во вертикала. Е, сега за шаблонот за разговорната страница, имам идеја да се направи нов, само за категориите, кој ќе ја објаснува разликата на категориите, односно тоа дека не може да се преместуваат, за што служат и сл.--Kiril Simeonovski (разговор) 11:45, 13 септември 2009 (UTC)
Направи првична верзија на шаблонот (имај во предвид дека се работи за два шаблона, едниот за родени другиот за починати). Ако е добар јас можам веднаш да го пуштам ботот и да заврши со работа до утре сабајле. Ист така треба да размислуваме за категории и надкатегории за категориите од типот Родени на 26 март, Родени на 26 март хххх година, ... Нема да се зголемува бројот на статии но веројатно параметраот depth ќе ни се подобри и конечно нема да имаме црвени врски. Подоцна овие категории би можеле да ги искористиме за автоматско пополнување на статиите од сличен тип.--brest (разговор) 12:25, 13 септември 2009 (UTC)

Еве и одобрување од бирократ за ова барање. Сè за поволниот развиток на Википедија. Поздрав. Бојан имаш за кажување? 00:11, 14 септември 2009 (UTC)

Python програмски код[уреди извор]

Задачата е да се додаде нова категорија од типот Родени во хххх година, доколку не постои на википедија. Се создава категорија и се вметнуваат неколку претходно дефинирани шаблони за навигација низ категориите. Со овој програмски код не се менува содржината на веќе постоечките категории. Истовремено на разговорната страница на новосоздадената категорија се вметнува шаблон {{Разговорна страница}}.

Истиот програмски код со мали модификации може да се искористи за додавање на категории од типот Починати во хххх година.

import wikipedia

kkk = 0
k_redirect = 0
k_empty = 0

kkkt = 0
kt_redirect = 0
kt_empty = 0

site = wikipedia.getSite()

for godina in range(1000, 2010, 1):
        PageName = unicode("Категорија: Родени во " + str(godina) + " година", 'utf-8')
        page = wikipedia.Page(site, PageName)
        
        try: #ima vece kreirano kategorija
            page_text = page.get(force = False, get_redirect=False, throttle = True, sysop = False, change_edit_time = True) 
            k_empty = k_empty + 1 
            print "non empty ", k_empty, PageName
            
        except wikipedia.NoPage: # First except, prevent empty pages
            tekst = "__HIDDENCAT__"
            tekst= tekst + u"[[Категорија:Родени по години|"
            tekst = tekst + str(godina) + "]]\r\n"
            tekst = tekst + "{{birthyr|" + str(int(godina/10)) + "|" + str(godina - 10 * int(godina/10)) + "}}\r\n"
            tekst = tekst + "{{рв|"+ str(godina) + " births}}\r\n"
            tekst = tekst + "[[en:Category:" + str(godina) + " births]]"
            page.put(tekst, comment=u'Бот: Надкатегорија, Родени по години', watchArticle = None, minorEdit = True)
            kkk = kkk + 1
            print "(p)", kkk, PageName
            
        except wikipedia.IsRedirectPage: # second except, prevent redirect
            k_redirect=k_redirect + 1
            print "redirect ", k_redirect, PageName
            
        except wikipedia.Error: # third exception, take the problem and print
            print "Error ", PageName

        #dodadi na stranica za razgovor sablon za kategorii
        PageName = unicode("Разговор за категорија: Родени во " + str(godina) + " година", 'utf-8')
        page = wikipedia.Page(site, PageName)
        
        try: #ima vece kreirano stranica za razgovor
            page_text = page.get(force = False, get_redirect=False, throttle = True, sysop = False, change_edit_time = True)
            k_empty = k_empty + 1 
            print "non empty ", k_empty, PageName
            
        except wikipedia.NoPage: # First except, prevent empty pages
            page.put(u"{{Разговорна страница}}", comment=u'Бот: + Предлошка: Разговорна страница', watchArticle = None, minorEdit = True)
            kkk = kkk + 1
            print "(p)", kkk, PageName
            
        except wikipedia.IsRedirectPage: # second except, prevent redirect
            k_redirect=k_redirect + 1
            print "redirect ", k_redirect, PageName
            
        except wikipedia.Error: # third exception, take the problem and print
            print "Error ", PageName
wikipedia.stopme()

Слично се обработуваат и категориите од типот Починати во хххх година.