Википедија:Барање на ботовски услуги/реализирано/20090914
Статус: | реализирано барање |
---|
Опис на барањето
уредиЗа секоја категорија од типот Категорија:Родени во 1941 година да се создаде надкатегорија Категорија:Родени по години. На разговорната страница на новосоздадената надкатегорија да се постави општ шаблон {{Родени по години}} (се бара дизајн на шаблонот).--brest (разговор) 06:59, 13 септември 2009 (UTC)
Оваа бот процедура може да се искористи за создавање на надкатегории за категориите од типот Категорија:Починати во 1941 година. Се бара дизајн на аналоген шаблон {{Починати по години}} кој би се вметнувал на соодветните разговорни страници.--brest (разговор) 06:59, 13 септември 2009 (UTC)
Дискусија
уредиОваа активност на ботот би била во рамките на проектот Википедија:Проект:На денешен ден.--brest (разговор) 06:59, 13 септември 2009 (UTC)
За пример на категорија уредена со бот види:
- Категорија:Родени во 1000 година и нејзината разговорна страница
- Категорија:Починати во 1000 година и нејзината разговорна страница
Дополнително ботот ги додава шаблоните {{Родгод}} односно {{Почгод}}, како и {{рв}}. Ботот работи само за новокреирани категории не и за веќе постоечки. На веќе постоечките доколку нема ништо на разговорната страница, додава соодветни шаблони за разговор.--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()
Слично се обработуваат и категориите од типот Починати во хххх година.