Example #1
0
def add_category(page):
    if mavri.content_of_page(wiki, page):
        ENpage = mavri.wbgetlanglink(mavri.wikibase_item(wiki, page), 'enwiki')
        if ENpage:
            print ENpage
            ENcat = mavri.categories_on_enwiki(ENpage)
            print ENcat
            cat_to_add = []
            for cat in ENcat:
                ncat = mavri.wbgetlanglink(mavri.wikibase_item('en.wikipedia', 'Category:' + cat), wikiS)
                if ncat != '':
                    cat_to_add.insert(0, ncat)
            print cat_to_add
            content = mavri.content_of_page(wiki, page)
            appendtext = ''
            for cat in cat_to_add:
                if re.findall(r'\[\[\s?' + cat + '\s?\|?[^\[\]]*\]\]', content) == []:
                    appendtext += '\n[[' + cat + ']]'

            if appendtext:
                content += appendtext
                content = re.sub(r'\{\{\s?[Kk]ategorisiz[^\}]*\}\}\s?\n?', '', content)
                content = re.sub(r'\{\{\s?[Uu]ncategorized[^\}]*\}\}\s?\n?', '', content)
                diff = mavri.change_page(wiki, page, content, '++' + catNS, xx).json()['edit']['newrevid']
                mavri.appendtext_on_page(wiki, 'Kullanıcı:Mavrikant_Bot/Log/Kategorisiz',
                                         '\n# [[Special:Diff/' + str(diff) + '|' + page + ']]',
                                         '[[Special:Diff/' + str(diff) + '|' + page + ']]', xx)
Example #2
0
                        elapsed_time = str(blocked_time - not_time).replace(
                            'days,', 'gün').replace('day,', 'gün')
                        by = blocked.json()['query']['blocks'][0]['by']
                        reason = blocked.json()['query']['blocks'][0]['reason']

                        summary = '[[Özel:Katkılar/' + vandal + '|' + vandal + ']] engellenmiş. [[Kullanıcı:' + by + '|' + by + ']] - ' + reason + summary_ek
                        if blocked_now.seconds / 900 >= 1:
                            mavri.section_clear(wiki, title, section, summary,
                                                xx)
                        else:
                            print(
                                vandal +
                                " hakkındaki bildirim gerekli süre geçmediği için atlandı."
                            )

                        ignore_page = mavri.content_of_page(
                            'tr.wikipedia', 'Kullanıcı:KET Bot/Yoksay')
                        ignore_list = re.split('\s*\*\s*', ignore_page)
                        if informer not in ignore_list and informer not in localignorelist and blocked_now.seconds / 900 >= 1:
                            message = '\n\n== Kullanıcı Engel Talebi bildirimi ==\nMerhaba. [[Özel:Katkılar/' + vandal + '|' + vandal + ']], siz bildirim yaptıktan ' + elapsed_time + ' saat sonra [[Kullanıcı mesaj:' + by + '|' + by + ']] tarafından engellendi. Engel açıklaması :' + reason.replace(
                                '{{', "{{tl|"
                            ) + '. Bildirimde bulunduğunuz için teşekkürler.--~~~~'
                            summary = '[[Özel:Katkılar/' + vandal + '|' + vandal + ']], [[Kullanıcı mesaj:' + by + '|' + by + ']] tarafından engellendi.' + summary_ek
                            mavri.send_message(wiki,
                                               'Kullanıcı mesaj:' + informer,
                                               message, summary, xx)
                    else:
                        now = datetime.now()
                        diff = now - not_time

                        if resolved and youngestDiff.total_seconds() / 900 >= 1:
                            summary = '[[Özel:Katkılar/' + vandal + '|' + vandal + ']] çıkartıldı. Bildirim olumsuz sonuçlandırılmış ya da engel detayları bot tarafından alınamadı.' + summary_ek
version = 'V3.0g'
summary_ek = " (" + username + ", " + version + " running on " + platform.system(
) + "), ([[Kullanıcı mesaj:Evrifaessa|hata bildir]])"
ignore_list = []
mpa = dict.fromkeys(range(32))
utc = pytz.timezone('UTC')
ist = pytz.timezone('Europe/Istanbul')

monthList = [
    'Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos',
    'Eylül', 'Ekim', 'Kasım', 'Aralık'
]

while 1:
    now = datetime.now(ist)
    content = mavri.content_of_page(wiki, title)

    regex = r"(?<=Silinmeye aday sayfalar/)[^}]*"

    if content != '{{/Başlık}}' and content != '{{/Başlık}}\n== Tartışmalar ==':
        pages = re.findall(regex.decode('UTF-8'), content)
        for page in pages:
            try:
                pageContent = mavri.content_of_page(
                    wiki,
                    "Vikipedi:Silinmeye_aday_sayfalar/" + page.decode('UTF-8'))
                timestampMonth = monthList[now.month - 1]
                preTimestampMonth = monthList[now.month - 2]
                timestampYear = now.year
                archivePage = "Vikipedi:Silinmeye_aday_sayfalar/Kayıt/" + str(
                    timestampYear) + "_" + str(timestampMonth)
Example #4
0
import re

import requests
from bs4 import BeautifulSoup

import mavri

wiki = 'tr.wikipedia'
xx = mavri.login(wiki, 'Mavrikant')
content = requests.get('https://tr.wikipedia.org/wiki/%C3%96zel:BozukY%C3%B6nlendirmeler').text
soup = BeautifulSoup(content, 'html.parser')

for line in soup.find("div", {"id": "mw-content-text"}).ol.find_all('li'):
    page = line.find_all('a')[0].get('title')
    print page
    pagetext = mavri.content_of_page(wiki, page)
    print pagetext
    if pagetext != '':
        sil = re.findall('\{\{\s?[Ss]il[^\}]*\}\}', pagetext)
        print sil
        redirect = re.findall('\[\[\s?([^\]]*)\s?\]\]', pagetext)
        print redirect
        if redirect:
            redirectpagetext = mavri.content_of_page(wiki, redirect[0])
            print redirectpagetext
            if redirectpagetext == '' and not sil:
                HS = '{{Sil | Y1. Var olmayan sayfalara olan yönlendirmeler silinebilir. --~~~~}}\n\n'
                mavri.change_page('tr.wikipedia', page, HS + pagetext, '+ Hızlı sil, var olmayan sayfaya yönlendirme',
                                  xx)
                mavri.appendtext_on_page('tr.wikipedia', 'Kullanıcı:Mavrikant/Log/BrokenRedirects',
                                         '\n* [[' + page + ']] -> [[' + redirect[0] + ']]',
Example #5
0
xx = mavri.login(wiki, 'Mavrikant Bot')

one_day = datetime.timedelta(days=1)
now = datetime.datetime.now()
ilk = datetime.date(2015, 9, 1)
bugun = datetime.date(now.year, now.month, now.day)
yarin = bugun + one_day + one_day
kaynak = ilk + randint(0, int(str(bugun - ilk).split(' days')[0])) * one_day

Log_page = 'Kullanıcı:Mavrikant Bot/Log/Günün Maddesi'


if (yarin.strftime("%d") == '01'):  # Yeni ay temizliği
    mavri.page_clear(wiki, Log_page, 'Yeni ay temizliği', xx)

YARIN = mavri.content_of_page(wiki, 'Şablon:GM/' + yarin.strftime("%Y-%m-%d"))

if (YARIN == ''):  # yarın boş
    Summary = 'Olumsuz'
    Durum = '\n* {{Çapraz}}'

    # Kaynak söz bul ve al
    KAYNAK = ''
    while KAYNAK == '':
        KAYNAK = mavri.content_of_page(wiki, 'Şablon:GM/' + kaynak.strftime("%Y-%m-%d"))
        kaynak += one_day

    # Kaynak söz ile yarını oluştur
    mavri.change_page(wiki, 'Şablon:GM/' + yarin.strftime("%Y-%m-%d"), KAYNAK,
                       '[[Şablon:GM/' + kaynak.strftime("%Y-%m-%d") + ']] sayfasından kopyalandı.', xx)
Example #6
0
    'Şubat',
    'Mart',
    'Nisan',
    'Mayıs',
    'Haziran',
    'Temmuz',
    'Ağustos',
    'Eylül',
    'Ekim',
    'Kasım',
    'Aralık'
]

while 1:
    now = datetime.now(ist)
    content = mavri.content_of_page(wiki, title)

    regex = r"(?<=Şablon tartışmaları/)[^}]*"

    if content != '{{/Başlık}}' and content != '{{/Başlık}}\n== Tartışmalar ==':
        pages = re.findall(regex.decode('UTF-8'), content)
        for page in pages:
            try:
                pageContent = mavri.content_of_page(wiki, title +"/" + page.decode('UTF-8'))
                timestampMonth = monthList[now.month-1]
                preTimestampMonth = monthList[now.month-2]
                timestampYear = now.year
                archivePage = title +"/Kayıt/" + \
                    str(timestampYear) + "_" + str(timestampMonth)
                preArchivePage = title +"/Kayıt/" + \
                    str(timestampYear) + "_" + str(preTimestampMonth)
xx = mavri.login(wiki, username)
title = 'Vikipedi:Kategori_tartışmaları'
version = 'V3.0g'
summary_ek = " (" + username + ", " + version + " running on " + platform.system(
) + "), ([[Kullanıcı mesaj:Evrifaessa|hata bildir]])"
ignore_list = []
mpa = dict.fromkeys(range(32))

monthList = [
    'Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos',
    'Eylül', 'Ekim', 'Kasım', 'Aralık'
]

while 1:
    now = datetime.now()
    content = mavri.content_of_page(wiki, title.decode('UTF-8'))
    regex = r'(?<=Kategori tartışmaları/)[^}]*'

    if content != '':
        pages = re.findall(regex.decode('UTF-8'), content)
        for page in pages:
            pageContent = mavri.content_of_page(
                wiki, "Vikipedi:Kategori tartışmaları/" + page)
            timestampMonth = monthList[now.month - 1]
            preTimestampMonth = monthList[now.month - 2]
            timestampYear = now.year
            archivePage = "Vikipedi:Kategori_tartışmaları/Kayıt/" + str(
                timestampYear) + "_" + str(timestampMonth)
            preArchivePage = "Vikipedi:Kategori_tartışmaları/Kayıt/" + str(
                timestampYear) + "_" + str(preTimestampMonth)
            contentLow = pageContent.lower()
Example #8
0
# -*- coding: utf-8 -*-

import mavri
import requests
from bs4 import BeautifulSoup
import re
xx = mavri.login('tr.wikipedia', 'Mavrikant Bot')

while 1:
    soup = BeautifulSoup(requests.get(
        'https://tr.wikipedia.org/w/index.php?title=%C3%96zel:Ba%C4%9FArama&limit=500&offset=0&target=http%3A%2F%2Fwww.mackolik.com%2FFutbolcu',
        cookies=xx.cookies).text, 'html.parser')

    for line in soup.find("ol", {"class": "special"}).find_all('li'):
        title = line.find_all('a')[1].get('title')
        print title
        content = mavri.content_of_page('tr.wikipedia', title)
        content = re.sub(r'\[\s?http://www.mackolik.com/Futbolcu/(\d*)[^\]]*\]', r'{{Mackolik.com futbolcu|\1}}',
                         content)

        mavri.change_page('tr.wikipedia', title, content, 'mackolik.com linkleri şablona dönüştürüldü', xx)
Example #9
0
def add_category(page):
    print page
    content = mavri.content_of_page(wiki, page)
    if content:
        if re.findall(r'\[\[\s?' + catNS + '[^\]]*\]\]', content) != []:
            content = re.sub(r'\{\{\s?[Kk]ategorisiz[^\}]*\}\}\s?\n?', '',
                             content)
            content = re.sub(r'\{\{\s?[Uu]ncategorized[^\}]*\}\}\s?\n?', '',
                             content)
            return mavri.change_page(wiki, page, content,
                                     '- Kategorisiz Şablonu', xx)

        entity = mavri.wikibase_item(wiki, page)
        langs = mavri.wbgetlangsofentity(entity)
        langs = re.findall(r'\'([a-z]{2,3})wiki\'', str(langs))
        if 'tr' in langs: langs.remove('tr')
        print langs
        if langs:
            lang = random.choice(langs)
            Swiki = lang + '.wikipedia'
            Slang = lang + 'wiki'
            print Swiki
            print Slang
            Spage = mavri.wbgetlanglink(entity, Slang)
            print Spage
            Scat = mavri.categories_on_page(Swiki, Spage)
            print Scat
            ScatNS = requests.get(
                'https://' + Swiki +
                '.org/w/api.php?format=json&utf8=&action=query&meta=siteinfo&siprop=namespaces'
            ).json()['query']['namespaces']['14']['*']

            cat_to_add = []
            for cat in Scat:
                ncat = mavri.wbgetlanglink(
                    mavri.wikibase_item(Swiki, ScatNS + ':' + cat), 'trwiki')
                print cat + ' -> ' + ncat
                if ncat != '':
                    cat_to_add.insert(0, ncat)
            print cat_to_add
            content = mavri.content_of_page(wiki, page)
            appendtext = ''
            for cat in cat_to_add:
                if re.findall(r'\[\[\s?' + cat + '\s?\|?[^\[\]]*\]\]',
                              content) == []:
                    appendtext += '\n[[' + cat + ']]'

            NUM = str(len(cat_to_add))
            if appendtext:
                content += appendtext
                content = re.sub(r'\{\{\s?[Kk]ategorisiz[^\}]*\}\}\s?\n?', '',
                                 content)
                content = re.sub(r'\{\{\s?[Uu]ncategorized[^\}]*\}\}\s?\n?',
                                 '', content)
                diff = \
                    mavri.change_page(wiki, page, content, '+ ' + NUM + catNS + ', Kaynak=' + Slang, xx).json()['edit'][
                        'newrevid']
                mavri.appendtext_on_page(
                    wiki, 'Kullanıcı:Mavrikant_Bot/Log/Kategorisiz',
                    '\n# [[Special:Diff/' + str(diff) + '|' + page + ']] (+ ' +
                    NUM + catNS + ', Kaynak=' + Slang + ')',
                    '[[Special:Diff/' + str(diff) + '|' + page + ']] (+ ' +
                    NUM + catNS + ', Kaynak=' + Slang + ')', xx)
            else:
                content = mavri.content_of_page(wiki, page)
                if re.findall(r'\[\[\s?' + catNS + '[^\]]*\]\]',
                              content) == [] and re.findall(
                                  r'\{\{\s?[Kk]ategorisiz[^\}]*\}\}',
                                  content) == []:
                    content = re.sub(r'\{\{\s?[Kk]ategorisiz[^\}]*\}\}\s?\n?',
                                     '', content)
                    content = re.sub(
                        r'\{\{\s?[Uu]ncategorized[^\}]*\}\}\s?\n?', '',
                        content)
                    diff = mavri.change_page(
                        wiki, page, content +
                        '\n\n{{Kategorisiz|{{kopyala:CURRENTMONTHNAME}} {{kopyala:CURRENTYEAR}}}} ',
                        '+ Kategorisiz Şablonu', xx).json()['edit']['newrevid']
                    mavri.appendtext_on_page(
                        wiki, 'Kullanıcı:Mavrikant_Bot/Log/Kategorisiz',
                        '\n# [[Special:Diff/' + str(diff) + '|' + page +
                        ']] (Kategorisiz)', '[[Special:Diff/' + str(diff) +
                        '|' + page + ']] (Kategorisiz)', xx)
        else:
            content = mavri.content_of_page(wiki, page)
            if re.findall(r'\[\[\s?' + catNS + '[^\]]*\]\]',
                          content) == [] and re.findall(
                              r'\{\{\s?[Kk]ategorisiz[^\}]*\}\}',
                              content) == []:
                content = re.sub(r'\{\{\s?[Kk]ategorisiz[^\}]*\}\}\s?\n?', '',
                                 content)
                content = re.sub(r'\{\{\s?[Uu]ncategorized[^\}]*\}\}\s?\n?',
                                 '', content)
                diff = mavri.change_page(
                    wiki, page, content +
                    '\n\n{{Kategorisiz|{{kopyala:CURRENTMONTHNAME}} {{kopyala:CURRENTYEAR}}}} ',
                    '+ Kategorisiz Şablonu', xx).json()['edit']['newrevid']
                mavri.appendtext_on_page(
                    wiki, 'Kullanıcı:Mavrikant_Bot/Log/Kategorisiz',
                    '\n# [[Special:Diff/' + str(diff) + '|' + page +
                    ']] (Kategorisiz)', '[[Special:Diff/' + str(diff) + '|' +
                    page + ']] (Kategorisiz)', xx)
Example #10
0
                    wiki, page, content +
                    '\n\n{{Kategorisiz|{{kopyala:CURRENTMONTHNAME}} {{kopyala:CURRENTYEAR}}}} ',
                    '+ Kategorisiz Şablonu', xx).json()['edit']['newrevid']
                mavri.appendtext_on_page(
                    wiki, 'Kullanıcı:Mavrikant_Bot/Log/Kategorisiz',
                    '\n# [[Special:Diff/' + str(diff) + '|' + page +
                    ']] (Kategorisiz)', '[[Special:Diff/' + str(diff) + '|' +
                    page + ']] (Kategorisiz)', xx)


# Section 1
cats = mavri.pages_on_category(wiki, 'Kategori:Kategorisiz')
for line in cats:
    page = line['title']
    add_category(page)

# Section 2
content = requests.get(
    'https://' + wiki +
    '.org/w/api.php?action=query&format=json&utf8&list=querypage&qppage=Uncategorizedpages&qplimit=500'
)
datelog = 'Kullanıcı:Mavrikant_Bot/Log/Kategorisiz/Tarih'
olddate = mavri.content_of_page(wiki, datelog)
newdate = content.json()['query']['querypage']['cachedtimestamp']

if olddate != newdate:
    mavri.change_page(wiki, datelog, newdate, newdate, xx)
    for line in content.json()['query']['querypage']['results']:
        page = line['title']
        add_category(page)
Example #11
0
wiki = 'tr.wikiquote'
xx = mavri.login(wiki, 'Mavrikant Bot')

one_day = datetime.timedelta(days=1)
now = datetime.datetime.now()
ilk = datetime.date(2011, 4, 1)
bugun = datetime.date(now.year, now.month, now.day)
yarin = bugun + one_day
kaynak = ilk + randint(0, int(str(bugun - ilk).split(' days')[0])) * one_day

Log_page = 'Kullanıcı:Mavrikant Bot/Log/Günün Sözü'

if (yarin.strftime("%d") == '01'):  # Yeni ay temizliği
    mavri.page_clear(wiki, Log_page, 'Yeni ay temizliği', xx)

YARIN = mavri.content_of_page(wiki, 'Vikisöz:Günün sözü/' + yarin.strftime("%Y/%m/%d"))

if (YARIN == ''):  # yarın boş
    Summary = 'Olumsuz'
    Durum = '\n* {{Çapraz}}'

    # Kaynak söz bul ve al
    KAYNAK = mavri.content_of_page(wiki, 'Vikisöz:Günün sözü/' + kaynak.strftime("%Y/%m/%d"))
    while KAYNAK == '':
        kaynak += one_day
        KAYNAK = mavri.content_of_page(wiki, 'Vikisöz:Günün sözü/' + kaynak.strftime("%Y/%m/%d"))

    # Kaynak söz ile yarını oluştur
    mavri.change_page(wiki, 'Vikisöz:Günün sözü/' + yarin.strftime("%Y/%m/%d"), KAYNAK,
                      '[[Vikisöz:Günün sözü/' + kaynak.strftime("%Y/%m/%d") + ']] sayfasından kopyalandı.', xx)