See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Участник:JaroslavleffBot/JaroslavleffBot-domains-ru.py — Википедия

Участник:JaroslavleffBot/JaroslavleffBot-domains-ru.py

Материал из Википедии — свободной энциклопедии

Исходный текст бота, создававшего болванки для статей о доменах.

# -*- coding: utf-8 -*-

# Создаёт болванки статей с названиями национальных доменов верхнего уровня

#
#

really = True

import sys, os
import time, datetime
import codecs
import socket
import re

import wikipedia, config

site=None

#

cctldDomains = \
    [
        u'ac',
        u'ad',
        u'ae',
        u'af',
        u'ag',
        u'ai',
        u'al',
        u'am',
        u'an',
        u'ao',
        u'aq',
        u'ar',
        u'as',
        u'at',
        u'au',
        u'aw',
        u'az',
        u'ax',
        u'ba',
        u'bb',
        u'bd',
        u'be',
        u'bf',
        u'bg',
        u'bh',
        u'bi',
        u'bj',
        u'bm',
        u'bn',
        u'bo',
        u'br',
        u'bs',
        u'bt',
        u'bu',
        u'bv',
        u'bw',
        u'by',
        u'bz',
        u'ca',
        u'cc',
        u'cd',
        u'cf',
        u'cg',
        u'ch',
        u'ci',
        u'ck',
        u'cl',
        u'cm',
        u'cn',
        u'co',
        u'cr',
        u'cs',
        u'cu',
        u'cv',
        u'cx',
        u'cy',
        u'cz',
        u'dd',
        u'de',
        u'dj',
        u'dk',
        u'dm',
        u'do',
        u'dz',
        u'ec',
        u'ee',
        u'eg',
        u'eh',
        u'er',
        u'es',
        u'et',
        u'eu',
        u'fi',
        u'fj',
        u'fk',
        u'fm',
        u'fo',
        u'fr',
        u'ga',
        u'gb',
        u'gd',
        u'ge',
        u'gf',
        u'gg',
        u'gh',
        u'gi',
        u'gl',
        u'gm',
        u'gn',
        u'gp',
        u'gq',
        u'gr',
        u'gs',
        u'gt',
        u'gu',
        u'gw',
        u'gy',
        u'hk',
        u'hm',
        u'hn',
        u'hr',
        u'ht',
        u'hu',
        u'id',
        u'ie',
        u'il',
        u'im',
        u'in',
        u'io',
        u'iq',
        u'ir',
        u'is',
        u'it',
        u'je',
        u'jm',
        u'jo',
        u'jp',
        u'ke',
        u'kg',
        u'kh',
        u'ki',
        u'km',
        u'kn',
        u'kp',
        u'kr',
        u'kw',
        u'ky',
        u'kz',
        u'la',
        u'lb',
        u'lc',
        u'li',
        u'lk',
        u'lr',
        u'ls',
        u'lt',
        u'lu',
        u'lv',
        u'ly',
        u'ma',
        u'mc',
        u'md',
        u'mg',
        u'mh',
        u'mk',
        u'ml',
        u'mm',
        u'mn',
        u'mo',
        u'mp',
        u'mq',
        u'mr',
        u'ms',
        u'mt',
        u'mu',
        u'mv',
        u'mw',
        u'mx',
        u'my',
        u'mz',
        u'na',
        u'nc',
        u'ne',
        u'nf',
        u'ng',
        u'ni',
        u'nl',
        u'no',
        u'np',
        u'nr',
        u'nu',
        u'nz',
        u'om',
        u'pa',
        u'pe',
        u'pf',
        u'pg',
        u'ph',
        u'pk',
        u'pl',
        u'pm',
        u'pn',
        u'pr',
        u'ps',
        u'pt',
        u'pw',
        u'py',
        u'qa',
        u're',
        u'ro',
        u'ru',
        u'rw',
        u'sa',
        u'sb',
        u'sc',
        u'sd',
        u'se',
        u'sg',
        u'sh',
        u'si',
        u'sj',
        u'sk',
        u'sl',
        u'sm',
        u'sn',
        u'so',
        u'sr',
        u'st',
        u'sv',
        u'sy',
        u'sz',
        u'tc',
        u'td',
        u'tf',
        u'tg',
        u'th',
        u'tj',
        u'tk',
        u'tl',
        u'tm',
        u'tn',
        u'to',
        u'tp',
        u'tr',
        u'tt',
        u'tv',
        u'tw',
        u'tz',
        u'ua',
        u'ug',
        u'uk',
        u'um',
        u'us',
        u'uy',
        u'uz',
        u'va',
        u'vc',
        u've',
        u'vg',
        u'vi',
        u'vn',
        u'vu',
        u'wf',
        u'ws',
        u'ye',
        u'yt',
        u'yu',
        u'za',
        u'zm',
        u'zr',
        u'zw'
    ]

cctldCountriesRussian = \
    [
        u'остров Вознесения',
        u'Андорра',
        u'Объединённые Арабские Эмираты',
        u'Афганистан',
        u'Антигуа и Барбуда',
        u'Ангила',
        u'Албания',
        u'Армения',
        u'Антильские острова',
        u'Ангола',
        u'Антарктида',
        u'Аргентина',
        u'Восточное Самоа',
        u'Австрия',
        u'Австралия',
        u'Аруба',
        u'Азербайджан',
        u'Аландские острова',
        u'Босния и Герцеговина',
        u'Барбадос',
        u'Бангладеш',
        u'Бельгия',
        u'Буркина-Фасо',
        u'Болгария',
        u'Бахрейн',
        u'Бурунди',
        u'Бенин',
        u'Бермудские острова',
        u'Бруней',
        u'Боливия',
        u'Бразилия',
        u'Багамские острова',
        u'Бутан',
        u'Бирма',
        u'остров Буве',
        u'Ботсвана',
        u'Белоруссия',
        u'Белиз',
        u'Канада',
        u'Кокосовые острова',
        u'Демократическая Республика Конго',
        u'Центрально-Африканская Республика',
        u'Республика Конго',
        u'Швейцария',
        u'Кот-д\'Ивуар',
        u'острова Кука',
        u'Чили',
        u'Камерун',
        u'Китай',
        u'Колумбия',
        u'Коста-Рика',
        u'Сербия и Черногория',
        u'Куба',
        u'Кабо-Верде',
        u'остров Рождества',
        u'Кипр',
        u'Чехия',
        u'ГДР',
        u'Германия',
        u'Джибути',
        u'Дания',
        u'Доминика',
        u'Доминиканская Республика',
        u'Алжир',
        u'Эквадор',
        u'Эстония',
        u'Египет',
        u'Западная Сахара',
        u'Эритрея',
        u'Испания',
        u'Эфиопия',
        u'Европейский Союз',
        u'Финляндия',
        u'Фиджи',
        u'Фолклендские (Мальвинские) острова',
        u'Микронезия',
        u'Фарерские острова',
        u'Франция',
        u'Габон',
        u'Великобритания',
        u'Гренада',
        u'Грузия',
        u'Гвиана',
        u'Гернси',
        u'Гана',
        u'Гибралтар',
        u'Гренландия',
        u'Гамбия',
        u'Гвинея',
        u'Гваделупа',
        u'Экваториальная Гвинея',
        u'Греция',
        u'Южная Георгия и Южные Сандвичевы острова',
        u'Гватемала',
        u'Гуам',
        u'Гвинея-Биссау',
        u'Гайана',
        u'Гонконг',
        u'острова Херд и Макдоналд',
        u'Гондурас',
        u'Хорватия',
        u'Гаити',
        u'Венгрия',
        u'Индонезия',
        u'Ирландия',
        u'Израиль',
        u'Мэн',
        u'Индия',
        u'Британские территории в Индийском океане',
        u'Ирак',
        u'Иран',
        u'Исландия',
        u'Италия',
        u'Джерси',
        u'Ямайка',
        u'Иордан',
        u'Япония',
        u'Кения',
        u'Киргизия',
        u'Камбоджа',
        u'Кирибати',
        u'Коморские острова',
        u'Сент-Киттс и Невис',
        u'КНДР',
        u'Республика Корея',
        u'Кувейт',
        u'Каймановы острова',
        u'Казахстан',
        u'Лаос',
        u'Ливан',
        u'Санта-Лючия',
        u'Лихтенштейн',
        u'Шри-Ланка',
        u'Либерия',
        u'Лесото',
        u'Литва',
        u'Люксембург',
        u'Латвия',
        u'Ливия',
        u'Морокко',
        u'Монако',
        u'Молдавия',
        u'Мадагаскар',
        u'Маршалловы острова',
        u'Македония',
        u'Мали',
        u'Мьянма',
        u'Монголия',
        u'Макао',
        u'Северные Марианские острова',
        u'Мартиника',
        u'Мавритания',
        u'Монтсеррат',
        u'Мальта',
        u'Маврикий',
        u'Мальдивские острова',
        u'Малави',
        u'Мексика',
        u'Малайзия',
        u'Мозамбик',
        u'Намибия',
        u'Новая Каледония',
        u'Нигер',
        u'Норфолк',
        u'Нигерия',
        u'Никарагуа',
        u'Нидерланды',
        u'Норвегия',
        u'Непал',
        u'Науру',
        u'Ниуэ',
        u'Новая Зеландия',
        u'Оман',
        u'Панама',
        u'Перу',
        u'Французская Полинезия',
        u'Папуа-Новая Гвинея',
        u'Филиппины',
        u'Пакистан',
        u'Польша',
        u'Сен-Пьер и Микелон',
        u'Питкэрн',
        u'Пуэрто-Рико',
        u'Палестинские территории',
        u'Португалия',
        u'Палау',
        u'Парагвай',
        u'Катар',
        u'Реюньон',
        u'Румыния',
        u'Россия',
        u'Руанда',
        u'Саудовская Аравия',
        u'Соломоновы острова',
        u'Сейшельские острова',
        u'Судан',
        u'Швеция',
        u'Сингапур',
        u'остров Святой Елены',
        u'Словения',
        u'острова Шпицберген и Ян-Майен',
        u'Словакия',
        u'Сьерра-Леоне',
        u'Сан-Марино',
        u'Сенегал',
        u'Сомали',
        u'Суринам',
        u'Сан-Томе и Принсипи',
        u'Сальвадор',
        u'Сирия',
        u'Свазиленд',
        u'острова Тёркс и Кайкос',
        u'Чад',
        u'Южные Французские Территории',
        u'Того',
        u'Таиланд',
        u'Таджикистан',
        u'Токелау',
        u'Восточный Тимор',
        u'Туркмения',
        u'Тунис',
        u'Тонга',
        u'Восточный Тимор',
        u'Турция',
        u'Тринидад и Тобаго',
        u'Тувалу',
        u'Тайвань',
        u'Танзания',
        u'Украина',
        u'Уганда',
        u'Великобритания',
        u'Американские Малые Внешние острова',
        u'США',
        u'Уругвай',
        u'Узбекистан',
        u'Ватикан',
        u'Сент-Винсент и Гренадины',
        u'Венесуэла',
        u'Британские Виргинские острова',
        u'Американские Виргинские острова',
        u'Вьетнам',
        u'Вануату',
        u'острова Уоллис и Футуна',
        u'Западное Самоа',
        u'Йемен',
        u'Майотта',
        u'Югославия',
        u'ЮАР',
        u'Замбия',
        u'Заир',
        u'Зимбабве'
    ]

cctldCountriesRussianGen = \
    [
        u'острова Вознесения',
        u'Андорры',
        u'Объединённых Арабских Эмиратов',
        u'Афганистана',
        u'Антигуа и Барбуды',
        u'Ангилы',
        u'Албании',
        u'Армении',
        u'Антильских островов',
        u'Анголы',
        u'Антарктиды',
        u'Аргентины',
        u'Восточного Самоа',
        u'Австрии',
        u'Австралии',
        u'Арубы',
        u'Азербайджана',
        u'Аландских островов',
        u'Боснии и Герцеговины',
        u'Барбадоса',
        u'Бангладеша',
        u'Бельгии',
        u'Буркина-Фасо',
        u'Болгарии',
        u'Бахрейна',
        u'Бурунди',
        u'Бенина',
        u'Бермудских островов',
        u'Брунея',
        u'Боливии',
        u'Бразилии',
        u'Багамских островов',
        u'Бутана',
        u'Бирмы',
        u'острова Буве',
        u'Ботсваны',
        u'Белоруссии',
        u'Белиза',
        u'Канады',
        u'Кокосовых островов',
        u'Демократической Республики Конго',
        u'Центрально-Африканской Республики',
        u'Республики Конго',
        u'Швейцарии',
        u'Кот-д\'Ивуара',
        u'островов Кука',
        u'Чили',
        u'Камеруна',
        u'Китая',
        u'Колумбии',
        u'Коста-Рики',
        u'Сербии и Черногории',
        u'Кубы',
        u'Кабо-Верде',
        u'острова Рождества',
        u'Кипра',
        u'Чехии',
        u'ГДР',
        u'Германии',
        u'Джибути',
        u'Дании',
        u'Доминики',
        u'Доминиканской Республики',
        u'Алжира',
        u'Эквадора',
        u'Эстонии',
        u'Египта',
        u'Западной Сахары',
        u'Эритреи',
        u'Испании',
        u'Эфиопии',
        u'Европейского Союза',
        u'Финляндии',
        u'Фиджи',
        u'Фолклендских (Мальвинских) островов',
        u'Микронезии',
        u'Фарерских островов',
        u'Франции',
        u'Габона',
        u'Великобритании',
        u'Гренады',
        u'Грузии',
        u'Гвианы',
        u'Гернси',
        u'Ганы',
        u'Гибралтара',
        u'Гренландии',
        u'Гамбии',
        u'Гвинеи',
        u'Гваделупы',
        u'Экваториальной Гвинеи',
        u'Греции',
        u'Южной Георгии и Южных Сандвичевых островов',
        u'Гватемалы',
        u'Гуама',
        u'Гвинеи-Биссау',
        u'Гайаны',
        u'Гонконга',
        u'островов Херд и Макдоналд',
        u'Гондураса',
        u'Хорватии',
        u'Гаити',
        u'Венгрии',
        u'Индонезии',
        u'Ирландии',
        u'Израиля',
        u'острова Мэн',
        u'Индии',
        u'Британских территорий в Индийском океане',
        u'Ирака',
        u'Ирана',
        u'Исландии',
        u'Италии',
        u'острова Джерси',
        u'Ямайки',
        u'Иордана',
        u'Японии',
        u'Кении',
        u'Киргизии',
        u'Камбоджи',
        u'Кирибати',
        u'Коморских островов',
        u'островов Сент-Киттс и Невис',
        u'КНДР',
        u'Республики Кореи',
        u'Кувейта',
        u'Каймановых островов',
        u'Казахстана',
        u'Лаоса',
        u'Ливана',
        u'Санта-Лючии',
        u'Лихтенштейна',
        u'Шри-Ланки',
        u'Либерии',
        u'Лесото',
        u'Литвы',
        u'Люксембурга',
        u'Латвии',
        u'Ливии',
        u'Морокко',
        u'Монако',
        u'Молдавии',
        u'Мадагаскара',
        u'Маршалловых островов',
        u'Македонии',
        u'Мали',
        u'Мьянмы',
        u'Монголии',
        u'Макао',
        u'Северных Марианских островов',
        u'Мартиники',
        u'Мавритании',
        u'Монтсеррата',
        u'Мальты',
        u'Маврикия',
        u'Мальдивских островов',
        u'Малави',
        u'Мексики',
        u'Малайзии',
        u'Мозамбика',
        u'Намибии',
        u'Новой Каледонии',
        u'Нигера',
        u'Норфолка',
        u'Нигерии',
        u'Никарагуа',
        u'Нидерландов',
        u'Норвегии',
        u'Непала',
        u'Науру',
        u'острова Ниуэ',
        u'Новой Зеландии',
        u'Омана',
        u'Панамы',
        u'Перу',
        u'Французской Полинезии',
        u'Папуа-Новой Гвинеи',
        u'Филиппин',
        u'Пакистана',
        u'Польши',
        u'островов Сен-Пьер и Микелон',
        u'острова Питкэрн',
        u'Пуэрто-Рико',
        u'Палестинских территорий',
        u'Португалии',
        u'Палау',
        u'Парагвая',
        u'Катара',
        u'Реюньона',
        u'Румынии',
        u'России',
        u'Руанды',
        u'Саудовской Аравии',
        u'Соломоновых островов',
        u'Сейшельских островов',
        u'Судана',
        u'Швеции',
        u'Сингапура',
        u'острова Святой Елены',
        u'Словении',
        u'островов Шпицберген и Ян-Майен',
        u'Словакии',
        u'Сьерра-Леоне',
        u'Сан-Марино',
        u'Сенегала',
        u'Сомали',
        u'Суринама',
        u'Сан-Томе и Принсипи',
        u'Сальвадора',
        u'Сирии',
        u'Свазиленда',
        u'островов Тёркс и Кайкос',
        u'Чада',
        u'Южных Французских Территорий',
        u'Того',
        u'Таиланда',
        u'Таджикистана',
        u'Токелау',
        u'Восточного Тимора',
        u'Туркмении',
        u'Туниса',
        u'Тонги',
        u'Восточного Тимора',
        u'Турции',
        u'Тринидада и Тобаго',
        u'Тувалу',
        u'Тайваня',
        u'Танзании',
        u'Украины',
        u'Уганды',
        u'Великобритании',
        u'Американских Малых Внешних островов',
        u'США',
        u'Уругвая',
        u'Узбекистана',
        u'Ватикана',
        u'Сент-Винсента и Гренадин',
        u'Венесуэлы',
        u'Британских Виргинских островов',
        u'Американских Виргинских островов',
        u'Вьетнама',
        u'Вануату',
        u'островов Уоллис и Футуна',
        u'Западного Самоа',
        u'Йемена',
        u'Майотты',
        u'Югославии',
        u'ЮАР',
        u'Замбии',
        u'Заира',
        u'Зимбабве'
    ]

def report(text = ""):
    wikipedia.output(text)


def main():
#    wikipedia.output(u"utf-8")
#    wikipedia.output(u"Starting: " + str(datetime.datetime.now()))

    for arg in sys.argv[1:]:
        arg = wikipedia.argHandler(arg, 'JaroslavleffBot-domains-ru')
        if arg:
            if False:
                pass
            else:
                report(u"Unknown argument: " + arg)
                wikipedia.stopme()
                sys.exit(1)

    if not config.never_log:
        wikipedia.activateLog('dates-ru.log')

    site=wikipedia.getSite()

#    if site.loggedin():
#        report(u"Logged in (%s)" % repr(site))
#    else:
#        report(u"Not logged in (%s)" % repr(site))
#        os.exit(2)

    global tempfile
    tempfile = None

    global page
    page = None

    for cc, country, gen in zip(cctldDomains, cctldCountriesRussian, cctldCountriesRussianGen):
        page = wikipedia.Page(site, title = (u"." + cc))
        if page.exists:
            if not page.isEmpty:
                temptext = page.get()
                regexp = u"^.xx$"
                if re.compile(regexp, re.M).search(temptext):
                    wikipedia.output(u"page exists, but contains garbage; replacing it...")
                else:
                    wikipedia.output(u"page exists, but not empty; skipping...")
                    continue
            else:
                wikipedia.output(u"page exists, but it's empty; replacing it...")
        else:
            wikipedia.output(u"page not exists; let's make one...")

        text = u"{{Домен верхнего уровня|\n" + \
               u"name=." + cc + u"|\n" + \
               u"background=#ccccff|\n" + \
               u"image=| <!-- здесь - изображение (эмблему) домена -->\n" + \
               u"introduced=| <!-- здесь проставьте год введения домена -->\n" + \
               u"type=[[национальный домен верхнего уровня]]|\n" + \
               u"status=действующий| <!-- или недействующий/неиспользуемые/резервные/удалённый -->\n" + \
               u"registry=| <!-- здесь - ссылка на статью о регистраторе -->\n" + \
               u"sponsor=| <!-- здесь - ссылка на статью об иницаторе введения домена, sponsor != спонсор -->\n" + \
               u"intendeduse=| <!-- здесь опишите основное (формальное) предназначение домена -->\n" + \
               u"actualuse=| <!-- здесь опишите, как домен используется фактически -->\n" + \
               u"restrictions=| <!-- существующие ограничения на регистрацию доменов -->\n" + \
               u"structure=| <!-- структура данного доменного имени -->\n" + \
               u"document=| <!-- документы, регламентирующие управление доменом -->\n" + \
               u"disputepolicy=| <!-- документы, регламентирующие разрешение споров по доменным именам -->\n" + \
               u"website=| <!-- ссылка на сайт основного регистратора доменов -->\n" + \
               u"}}\n" + \
               u"\n" + \
               u"'''." + cc + u"''' — [[национальный домен верхнего уровня|национальный]] [[домен верхнего уровня]] для [[" + country + "|" + gen + u"]].\n" + \
               u"\n" + \
               u"== Ссылки ==\n" + \
               u"* [http://www.iana.org/root-whois/" + cc + u".htm Сведения whois для домена ." + cc + u" на сайте IANA]\n" + \
               u"\n" + \
               u"{{Национальные домены верхнего уровня}}\n" + \
               u"\n" + \
               u"{{Compu-domain-stub}}\n" + \
               u"\n" + \
               u"[[Категория:Национальные домены верхнего уровня|" + cc +"]]\n" + \
               u"\n" + \
               u"[[en:." + cc + u"]]\n"

        try:
            tempfile = codecs.open('JaroslavleffBot-domains/%s' % cc, 'w', 'utf-8')
        except IOError:
            pass

        tempfile.write(text)
        tempfile.flush()

        if really:
            try:
                status, reason, data = page.put(newtext = text, comment = u"Robot: болванка для ."+cc)
            except wikipedia.EditConflict, error:
                wikipedia.output(u'ERROR putting page: %s. Giving up.' % error)
            except (socket.error, IOError, wikipedia.PageNotSaved), error:
                wikipedia.output(u'ERROR putting page: %s. Giving up.' % error)
            else:
                print status, reason
                continue


# end of main

# running:

if __name__ == "__main__":
    try:
        main()
    except:
        wikipedia.stopme()
        raise
    else:
        wikipedia.stopme()

    wikipedia.stopme()


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -