import pywikibot
import re
from pywikibot import pagegenerators
site = pywikibot.Site('en', 'wikipedia')
resultpage = pywikibot.Page(site, u"User:Trialpears/Automatic biography short descriptions")
def extractfirst(text):
    i=0
    result=text
    result=re.sub("\[\[[Cc]ategory:[^\]]*]]","",result)
    result=re.sub("\[\[[Ff]ile:[^\]]*]]","",result)
    result=re.sub("\[\[[Ii]mage:[^\]]*]]","",result)
    result=re.sub("\n"," ",result)
    result=re.sub("==.*","",result)
    result=re.sub("''+","",result)
    result=re.sub("\[\[([^\|\]\[]*\|)?([^\|\]\[]*)]]",r"\2",result)
    while i < 5:
        result=re.sub("{{[^{}]*}}","",result)
        result=re.sub("\([^\(\)]*\)","",result)
        result=re.sub("<ref[^<>]*>[^<>]*<\/ref>","",result)
        result=re.sub("<ref[^<>]*\/>","",result)
        result=re.sub("<!--[^<>]*-->","",result)
        i+=1
    result=re.sub("\n","",result)
    result=re.sub("  *"," ",result)
    result=re.sub("(^.*?[.!?](?=\s[A-Z]|$)).*",r"\1",result)
    result=re.sub("^\s*","",result)
    result=re.sub("\s*(?=,|\.)","",result)
    result=re.sub("\s*$","",result)
    return result
def extractdescription(text):
    result=text
    if re.search("\.[^\s]\.",result,re.IGNORECASE) or re.search("(br|chan|chapln|dr|fr|gov|miss|mr|mrs|ms|mme|m|msgr|pres|prof|rep|rev|revs|sen|sr|sra|srta|hon|esq|jr|ret|lt|col|sgt|gen|cpl|capt|bg|adm|cwo|ens|maj|msgt|st)\.",result,re.IGNORECASE):
        return False
    if re.search("(and|or)$",result):
        return False
    if re.match('^(("?[A-Z][a-z]*"?|(Jr\.)),? )*?(is|was) (a|an) ',result):
        result=re.sub('^(("?[A-Z][a-z]*"?|(Jr\.)),? )*?(is|was) (a|an) (.*)',r"\6",result)
        result=re.sub(',? who.*',"",result)
        result=re.sub(',? and currently.*',"",result)
        result=re.sub(',? currently.*',"",result)
        result=re.sub(',? as well.*',"",result)
        result=re.sub(',? better known.*',"",result)
        result=re.sub(',? best known.*',"",result)
        result=re.sub(',? also known.*',"",result)
        result=re.sub(',? most known.*',"",result)
        result=re.sub(',? mostly known.*',"",result)
        result=re.sub(',? generally known.*',"",result)
        result=re.sub(',? especially known.*',"",result)
        result=re.sub(',? well known.*',"",result)
        result=re.sub(',? particularly known.*',"",result)
        result=re.sub(',? primarily known.*',"",result)
        result=re.sub(',? also known.*',"",result)
        result=re.sub(',? known for.*',"",result)
        result=re.sub("\.$","",result)
        result=re.sub('[,;]? (he|she|they) (is|are|were|was).*',"",result)
        result=re.sub('([a-zA-Z])', lambda x: x.groups()[0].upper(), result, 1)
        result=re.sub("\.$","",result)
        if len(result) <= 40:
            if re.match("(Afghan|Albanian|Algerian|Andorran|Angolan|and|Barbuda|Antiguan|Barbudan|Argentine|Armenian|Australian|Austrian|Azerbaijani|Azeri|Bahamas|Bahamian|Bahraini|Bengali|Barbadian|Belarusian|Belgian|Belizean|Beninese|Beninois|Bhutanese|Bolivian|Bosnian|Herzegovinian|Motswana|Botswanan|Brazilian|Bruneian|Bulgarian|Faso|Burkinabé|Burmese|Burundian|Verde|Cabo|Verdean|Cambodian|Cameroonian|Canadian|African|Chadian|Chilean|Chinese|Colombian|Comoran|Comorian|Congolese|Rican|Ivorian|Croatian|Cuban|Cypriot|Republic|Czech|Danish|Djiboutian|Dominican|Republic|Dominican|Timor|Timorese|Ecuadorian|Egyptian|Salvador|Salvadoran|Guinea|Equatorial|Guinean|Equatoguinean|Eritrean|Estonian|Ethiopian|Fijian|Finnish|French|Gabonese|The|Gambian|Georgian|German|Ghanaian|Gibraltar|Greek|Hellenic|Grenadian|Guatemalan|Guinean|Bissau|Guinean|Guyanese|Haitian|Honduran|Hungarian|Magyar|Icelandic|Indian|Indonesian|Iranian|Persian|Iraqi|Irish|Israeli|Italian|Coast|Ivorian|Jamaican|Japanese|Jordanian|Kazakhstani|Kazakh|Kenyan|Kiribati|Korea|North|Korean|Korea|South|Korean|Kuwaiti|Kyrgyzstani|Kyrgyz|Kirgiz|Kirghiz|Lao|Laotian|Latvian|Lettish|Lebanese|Basotho|Liberian|Libyan|Liechtensteiner|Lithuanian|Luxembourg|Luxembourgish|Macedonian|Malagasy|Malawian|Malaysian|Maldivian|Malian|Malinese|Maltese|Islands|Marshallese|Martiniquais|Martinican|Mauritanian|Mauritian|Mexican|Micronesian|Moldovan|Monégasque|Monacan|Mongolian|Montenegrin|Moroccan|Mozambican|Namibian|Nauruan|Nepali|Nepalese|Dutch|Netherlandic|Zealand|Zealand|Zelanian|Nicaraguan|Nigerien|Nigerian|Marianan|Norwegian|Omani|Pakistani|Palauan|Palestinian|Panamanian|Guinea|Papua|Guinean|Papuan|Paraguayan|Peruvian|Filipino|Philippine|Polish|Portuguese|Rico|Puerto|Rican|Qatari|Romanian|Russian|Rwandan|Kitts|and|Nevis|Kittitian|Nevisian|Saint|Lucian|Saint|Vincentian|Vincentian|Samoan|Marino|Sammarinese|Tomé|Príncipe|São|Toméan|Arabia|Saudi|Arabian|Senegalese|Serbian|Seychellois|Leone|Sierra|Leonean|Singapore|Singaporean|Slovak|Slovenian|Slovene|Islands|Solomon|Island|Somali|African?|South|African|Sudan|South|Sudanese|Spanish|Lanka|Sri|Lankan|Sudanese|Surinamese|Swazi|Swedish|Swiss|Syrian|Tajikistani|Tanzanian|Thai|Leste|Timorese|Togolese|Tokelauan|Tongan|Tobago|Trinidadian|Tobagonian|Tunisian|Turkish|Turkmen|Tuvaluan|Ugandan|Ukrainian|Arab|Emirates|Emirati|Emirian|Emiri|Kingdom|Great|Britain|Northern|Ireland|UK|British|States|of|America|United|States|U.S.|American|Uruguayan|Uzbekistani|Uzbek|Vanuatu|Vanuatuan|Vatican|Venezuelan|Vietnamese|Yemeni|Zambian|Zimbabwean)",result):
                return result
    return False
savecounter = 0
for page in pywikibot.pagegenerators.SearchPageGenerator('incategory:"Living people" -incategory:"Articles with short description"'):
    if extractdescription(extractfirst(page.text)) is not False:
        description="{{short description|"+extractdescription(extractfirst(page.text))+"|bot=PearBOT 5}}\n"
        page.text=description+page.text
        print(page)
        print(description)
        if savecounter < 100:
            savecounter= savecounter + 1
            print(savecounter)
            page.save("Adding automatically generated short description. For more informtion see [[Wikipedia:Bots/Requests for approval/PearBOT 5]]",botflag=True,minor=True)
[[en:Aaron Goldsmith]]
{{short description|American sportscaster|bot=PearBOT 5}}

1
Page [[Aaron Goldsmith]] saved
[[en:Alessandro Lambruschini]]
{{short description|Italian former long-distance runner|bot=PearBOT 5}}

2
Sleeping for 8.0 seconds, 2019-12-16 21:27:22
Page [[Alessandro Lambruschini]] saved
[[en:Amanda Smock]]
{{short description|American triple jumper|bot=PearBOT 5}}

3
Sleeping for 8.1 seconds, 2019-12-16 21:27:32
Page [[Amanda Smock]] saved
[[en:Amber Campbell]]
{{short description|American hammer thrower|bot=PearBOT 5}}

4
Sleeping for 8.8 seconds, 2019-12-16 21:27:41
Page [[Amber Campbell]] saved
[[en:Andre Barnett]]
{{short description|American politician and entrepreneur|bot=PearBOT 5}}

5
Sleeping for 8.7 seconds, 2019-12-16 21:27:51
Page [[Andre Barnett]] saved
[[en:Andre Cason]]
{{short description|American former track and field sprinter|bot=PearBOT 5}}

6
Sleeping for 8.7 seconds, 2019-12-16 21:28:01
Page [[Andre Cason]] saved
[[en:Andrew Howe]]
{{short description|Italian athlete|bot=PearBOT 5}}

7
Sleeping for 8.5 seconds, 2019-12-16 21:28:11
Page [[Andrew Howe]] saved
[[en:Anju Bobby George]]
{{short description|Indian athlete|bot=PearBOT 5}}

8
Sleeping for 8.0 seconds, 2019-12-16 21:28:22
Page [[Anju Bobby George]] saved
[[en:Bam Neely]]
{{short description|American former professional wrestler|bot=PearBOT 5}}

9
Sleeping for 7.3 seconds, 2019-12-16 21:28:33
Page [[Bam Neely]] saved
[[en:Bas Nijhuis]]
{{short description|Dutch football referee|bot=PearBOT 5}}

10
Sleeping for 8.8 seconds, 2019-12-16 21:28:41
Page [[Bas Nijhuis]] saved
[[en:Benny Green (pianist)]]
{{short description|American hard bop jazz pianist|bot=PearBOT 5}}

11
Sleeping for 8.8 seconds, 2019-12-16 21:28:51
Page [[Benny Green (pianist)]] saved
[[en:Bernd Meinunger]]
{{short description|German lyricist and record producer|bot=PearBOT 5}}

12
Sleeping for 8.8 seconds, 2019-12-16 21:29:01
Page [[Bernd Meinunger]] saved
[[en:Bertrand Gachot]]
{{short description|French former racing driver|bot=PearBOT 5}}

13
Sleeping for 8.6 seconds, 2019-12-16 21:29:11
Page [[Bertrand Gachot]] saved
[[en:Beth Daniel]]
{{short description|American professional golfer|bot=PearBOT 5}}

14
Sleeping for 8.4 seconds, 2019-12-16 21:29:21
Page [[Beth Daniel]] saved
[[en:Bianca Knight]]
{{short description|American former track and field athlete|bot=PearBOT 5}}

15
Sleeping for 8.6 seconds, 2019-12-16 21:29:31
Page [[Bianca Knight]] saved
[[en:Bill Ritter]]
{{short description|American politician and lawyer|bot=PearBOT 5}}

16
Sleeping for 8.4 seconds, 2019-12-16 21:29:42
Page [[Bill Ritter]] saved
[[en:Brad Walker (pole vaulter)]]
{{short description|American pole vaulter|bot=PearBOT 5}}

17
Sleeping for 7.6 seconds, 2019-12-16 21:29:52
Page [[Brad Walker (pole vaulter)]] saved
[[en:Byron Gallimore]]
{{short description|American record producer|bot=PearBOT 5}}

18
Sleeping for 8.1 seconds, 2019-12-16 21:30:02
Page [[Byron Gallimore]] saved
[[en:Carl Hewitt]]
{{short description|American computer scientist|bot=PearBOT 5}}

19
Sleeping for 8.6 seconds, 2019-12-16 21:30:11
Page [[Carl Hewitt]] saved
[[en:Charlie Mason (lyricist)]]
{{short description|American lyricist|bot=PearBOT 5}}

20
Sleeping for 8.5 seconds, 2019-12-16 21:30:21
Page [[Charlie Mason (lyricist)]] saved
[[en:Chryste Gaines]]
{{short description|American athlete|bot=PearBOT 5}}

21
Sleeping for 8.8 seconds, 2019-12-16 21:30:31
Page [[Chryste Gaines]] saved
[[en:Coby Miller]]
{{short description|American track and field athlete|bot=PearBOT 5}}

22
Sleeping for 8.3 seconds, 2019-12-16 21:30:42
Page [[Coby Miller]] saved
[[en:Dan Kroffat]]
{{short description|Canadian retired professional wrestler|bot=PearBOT 5}}

23
Sleeping for 8.2 seconds, 2019-12-16 21:30:52
Page [[Dan Kroffat]] saved
[[en:David Finch (comics)]]
{{short description|Canadian-born comics artist|bot=PearBOT 5}}

24
Sleeping for 8.8 seconds, 2019-12-16 21:31:01
Page [[David Finch (comics)]] saved
[[en:David Michelinie]]
{{short description|American comic book writer|bot=PearBOT 5}}

25
Sleeping for 8.5 seconds, 2019-12-16 21:31:12
Page [[David Michelinie]] saved
[[en:David Neville (sprinter)]]
{{short description|American sprinter|bot=PearBOT 5}}

26
Sleeping for 8.8 seconds, 2019-12-16 21:31:21
Page [[David Neville (sprinter)]] saved
[[en:Derartu Tulu]]
{{short description|Ethiopian long-distance runner|bot=PearBOT 5}}

27
Sleeping for 8.2 seconds, 2019-12-16 21:31:32
Page [[Derartu Tulu]] saved
[[en:Dianne Reeves]]
{{short description|American jazz singer|bot=PearBOT 5}}

28
Sleeping for 8.5 seconds, 2019-12-16 21:31:42
Page [[Dianne Reeves]] saved
[[en:Emily Regan]]
{{short description|American rower|bot=PearBOT 5}}

29
Sleeping for 7.2 seconds, 2019-12-16 21:31:53
Page [[Emily Regan]] saved
[[en:Fernanda Abreu]]
{{short description|Brazilian singer|bot=PearBOT 5}}

30
Sleeping for 7.3 seconds, 2019-12-16 21:32:03
Page [[Fernanda Abreu]] saved
[[en:Gamma (wrestler)]]
{{short description|Japanese professional wrestler|bot=PearBOT 5}}

31
Sleeping for 8.2 seconds, 2019-12-16 21:32:12
Page [[Gamma (wrestler)]] saved
[[en:Grace Upshaw]]
{{short description|American track and field athlete|bot=PearBOT 5}}

32
Sleeping for 8.0 seconds, 2019-12-16 21:32:22
Page [[Grace Upshaw]] saved
[[en:Hazel Clark]]
{{short description|American middle-distance runner|bot=PearBOT 5}}

33
Sleeping for 8.5 seconds, 2019-12-16 21:32:32
Page [[Hazel Clark]] saved
[[en:Helma Lodders]]
{{short description|Dutch politician|bot=PearBOT 5}}

34
Sleeping for 8.8 seconds, 2019-12-16 21:32:41
Page [[Helma Lodders]] saved
[[en:Isabelle Aubret]]
{{short description|French singer|bot=PearBOT 5}}

35
Sleeping for 8.4 seconds, 2019-12-16 21:32:52
Page [[Isabelle Aubret]] saved
[[en:Ivan Bebek]]
{{short description|Croatian football referee|bot=PearBOT 5}}

36
Sleeping for 8.7 seconds, 2019-12-16 21:33:01
Page [[Ivan Bebek]] saved
[[en:Jack Burditt]]
{{short description|American producer and screenwriter|bot=PearBOT 5}}

37
Sleeping for 8.8 seconds, 2019-12-16 21:33:11
Page [[Jack Burditt]] saved
[[en:Jacqueline Rayner]]
{{short description|British author|bot=PearBOT 5}}

38
Sleeping for 9.0 seconds, 2019-12-16 21:33:21
Page [[Jacqueline Rayner]] saved
[[en:Jahn Teigen]]
{{short description|Norwegian singer, musician and comedian|bot=PearBOT 5}}

39
Sleeping for 9.2 seconds, 2019-12-16 21:33:31
Page [[Jahn Teigen]] saved
[[en:James Pitaro]]
{{short description|American media executive and attorney|bot=PearBOT 5}}

40
Sleeping for 8.6 seconds, 2019-12-16 21:33:41
Page [[James Pitaro]] saved
[[en:Jarrion Lawson]]
{{short description|American sprinter and long jumper|bot=PearBOT 5}}

41
Sleeping for 8.5 seconds, 2019-12-16 21:33:52
Page [[Jarrion Lawson]] saved
[[en:Jean Passanante]]
{{short description|American television screenwriter|bot=PearBOT 5}}

42
Sleeping for 8.2 seconds, 2019-12-16 21:34:02
Page [[Jean Passanante]] saved
[[en:Jeb Hensarling]]
{{short description|American politician|bot=PearBOT 5}}

43
Sleeping for 8.6 seconds, 2019-12-16 21:34:12
Page [[Jeb Hensarling]] saved
[[en:Jeff Hartwig]]
{{short description|American pole vaulter|bot=PearBOT 5}}

44
Sleeping for 7.9 seconds, 2019-12-16 21:34:22
Page [[Jeff Hartwig]] saved
[[en:Jeff Porter]]
{{short description|American track and field athlete|bot=PearBOT 5}}

45
Sleeping for 8.9 seconds, 2019-12-16 21:34:31
Page [[Jeff Porter]] saved
[[en:Jessica Monroe]]
{{short description|Canadian rower|bot=PearBOT 5}}

46
Sleeping for 8.8 seconds, 2019-12-16 21:34:41
Page [[Jessica Monroe]] saved
[[en:Jimmy Cicero]]
{{short description|American professional wrestler|bot=PearBOT 5}}

47
Sleeping for 7.1 seconds, 2019-12-16 21:34:53
Page [[Jimmy Cicero]] saved
[[en:Joe Greene (long jumper)]]
{{short description|American track and field athlete|bot=PearBOT 5}}

48
Sleeping for 8.3 seconds, 2019-12-16 21:35:02
Page [[Joe Greene (long jumper)]] saved
[[en:Johnny Hotbody]]
{{short description|American retired professional wrestler|bot=PearBOT 5}}

49
Sleeping for 7.9 seconds, 2019-12-16 21:35:12
Page [[Johnny Hotbody]] saved
[[en:Josh Gracin]]
{{short description|American country music singer|bot=PearBOT 5}}

50
Sleeping for 8.4 seconds, 2019-12-16 21:35:22
Page [[Josh Gracin]] saved
[[en:Kafu]]
{{short description|Brazilian retired professional wrestler|bot=PearBOT 5}}

51
Sleeping for 7.3 seconds, 2019-12-16 21:35:33
Page [[Kafu]] saved
[[en:Kennet Andersson]]
{{short description|Swedish former professional footballer|bot=PearBOT 5}}

52
Sleeping for 8.3 seconds, 2019-12-16 21:35:42
Page [[Kennet Andersson]] saved
[[en:Kerron Clement]]
{{short description|American track and field athlete|bot=PearBOT 5}}

53
Sleeping for 7.8 seconds, 2019-12-16 21:35:52
Page [[Kerron Clement]] saved
[[en:Kevin Burkhardt]]
{{short description|American sportscaster|bot=PearBOT 5}}

54
Sleeping for 7.9 seconds, 2019-12-16 21:36:02
Page [[Kevin Burkhardt]] saved
[[en:Kevin Rose]]
{{short description|American Internet entrepreneur|bot=PearBOT 5}}

55
Sleeping for 8.5 seconds, 2019-12-16 21:36:12
Page [[Kevin Rose]] saved
[[en:Lacey Von Erich]]
{{short description|American retired professional wrestler|bot=PearBOT 5}}

56
Sleeping for 7.9 seconds, 2019-12-16 21:36:22
Page [[Lacey Von Erich]] saved
[[en:Larry Nelson]]
{{short description|American professional golfer|bot=PearBOT 5}}

57
Sleeping for 8.4 seconds, 2019-12-16 21:36:32
Page [[Larry Nelson]] saved
[[en:Lars Sponheim]]
{{short description|Norwegian politician|bot=PearBOT 5}}

58
Sleeping for 8.5 seconds, 2019-12-16 21:36:42
Page [[Lars Sponheim]] saved
[[en:Leo Burke]]
{{short description|Canadian retired professional wrestler|bot=PearBOT 5}}

59
Sleeping for 8.0 seconds, 2019-12-16 21:36:52
Page [[Leo Burke]] saved
[[en:Li Shulei]]
{{short description|Chinese politician|bot=PearBOT 5}}

60
Sleeping for 8.5 seconds, 2019-12-16 21:37:02
Page [[Li Shulei]] saved
[[en:Lima Duarte]]
{{short description|Brazilian actor|bot=PearBOT 5}}

61
Sleeping for 9.2 seconds, 2019-12-16 21:37:11
Page [[Lima Duarte]] saved
[[en:Lionel Jospin]]
{{short description|French politician|bot=PearBOT 5}}

62
Sleeping for 8.9 seconds, 2019-12-16 21:37:21
Page [[Lionel Jospin]] saved
[[en:Mark Everson]]
{{short description|American politician|bot=PearBOT 5}}

63
Sleeping for 6.4 seconds, 2019-12-16 21:37:34
Page [[Mark Everson]] saved
[[en:Masaaki Mochizuki]]
{{short description|Japanese professional wrestler|bot=PearBOT 5}}

64
Sleeping for 7.5 seconds, 2019-12-16 21:37:43
Page [[Masaaki Mochizuki]] saved
[[en:Melvin Lister]]
{{short description|American long jumper and triple jumper|bot=PearBOT 5}}

65
Sleeping for 8.7 seconds, 2019-12-16 21:37:52
Page [[Melvin Lister]] saved
[[en:Mercedes Lackey]]
{{short description|American writer of fantasy novels|bot=PearBOT 5}}

66
Sleeping for 8.9 seconds, 2019-12-16 21:38:01
Page [[Mercedes Lackey]] saved
[[en:Michael Turner (illustrator)]]
{{short description|British illustrator|bot=PearBOT 5}}

67
Sleeping for 8.4 seconds, 2019-12-16 21:38:12
Page [[Michael Turner (illustrator)]] saved
[[en:Michal Riszdorfer]]
{{short description|Slovak sprint canoer|bot=PearBOT 5}}

68
Sleeping for 9.0 seconds, 2019-12-16 21:38:21
Page [[Michal Riszdorfer]] saved
[[en:Mikey Batts]]
{{short description|American former professional wrestler|bot=PearBOT 5}}

69
Sleeping for 8.3 seconds, 2019-12-16 21:38:32
Page [[Mikey Batts]] saved
[[en:Miroslav Kostadinov]]
{{short description|Bulgarian singer and songwriter|bot=PearBOT 5}}

70
Sleeping for 9.0 seconds, 2019-12-16 21:38:41
Page [[Miroslav Kostadinov]] saved
[[en:Oleksandr Moroz]]
{{short description|Ukrainian politician|bot=PearBOT 5}}

71
Sleeping for 7.1 seconds, 2019-12-16 21:38:53
Page [[Oleksandr Moroz]] saved
[[en:Patti Austin]]
{{short description|American R&B, pop, and jazz singer|bot=PearBOT 5}}

72
Sleeping for 7.1 seconds, 2019-12-16 21:39:03
Page [[Patti Austin]] saved
[[en:Paula Zahn]]
{{short description|American journalist and newscaster|bot=PearBOT 5}}

73
Sleeping for 8.7 seconds, 2019-12-16 21:39:12
Page [[Paula Zahn]] saved
[[en:Paulus Jansen]]
{{short description|Dutch politician and civil engineer|bot=PearBOT 5}}

74
Sleeping for 8.9 seconds, 2019-12-16 21:39:22
Page [[Paulus Jansen]] saved
[[en:Peter Erskine]]
{{short description|American jazz drummer|bot=PearBOT 5}}

75
Sleeping for 8.2 seconds, 2019-12-16 21:39:32
Page [[Peter Erskine]] saved
[[en:Peter Hollingworth]]
{{short description|Australian retired Anglican bishop|bot=PearBOT 5}}

76
Sleeping for 8.5 seconds, 2019-12-16 21:39:42
Page [[Peter Hollingworth]] saved
[[en:Rami Jarrah]]
{{short description|Syrian political activist|bot=PearBOT 5}}

77
Sleeping for 6.8 seconds, 2019-12-16 21:39:54
Page [[Rami Jarrah]] saved
[[en:Reggie Witherspoon (athlete)]]
{{short description|American sprinter|bot=PearBOT 5}}

78
Sleeping for 8.8 seconds, 2019-12-16 21:40:02
Page [[Reggie Witherspoon (athlete)]] saved
[[en:Rena Inoue]]
{{short description|Japanese-born American pair skater|bot=PearBOT 5}}

79
Sleeping for 8.6 seconds, 2019-12-16 21:40:12
Page [[Rena Inoue]] saved
[[en:Renato Borghetti]]
{{short description|Brazilian folk musician and composer|bot=PearBOT 5}}

80
Sleeping for 8.2 seconds, 2019-12-16 21:40:22
Page [[Renato Borghetti]] saved
[[en:Richard Garwin]]
{{short description|American physicist|bot=PearBOT 5}}

81
Sleeping for 9.0 seconds, 2019-12-16 21:40:31
Page [[Richard Garwin]] saved
[[en:Rick Veitch]]
{{short description|American comics artist and writer|bot=PearBOT 5}}

82
Sleeping for 8.8 seconds, 2019-12-16 21:40:42
Page [[Rick Veitch]] saved
[[en:Robert Korzeniowski]]
{{short description|Polish former racewalker|bot=PearBOT 5}}

83
Sleeping for 8.4 seconds, 2019-12-16 21:40:52
Page [[Robert Korzeniowski]] saved
[[en:Robert T. Bakker]]
{{short description|American paleontologist|bot=PearBOT 5}}

84
Sleeping for 7.7 seconds, 2019-12-16 21:41:03
Page [[Robert T. Bakker]] saved
[[en:Salva Kiir Mayardit]]
{{short description|South Sudanese politician|bot=PearBOT 5}}

85
Sleeping for 7.9 seconds, 2019-12-16 21:41:13
Page [[Salva Kiir Mayardit]] saved
[[en:Sam Trammell]]
{{short description|American actor|bot=PearBOT 5}}

86
Sleeping for 8.0 seconds, 2019-12-16 21:41:22
Page [[Sam Trammell]] saved
[[en:Sandy Parker]]
{{short description|Canadian retired professional wrestler|bot=PearBOT 5}}

87
Sleeping for 8.6 seconds, 2019-12-16 21:41:32
Page [[Sandy Parker]] saved
[[en:Scott Goodyear]]
{{short description|Canadian former race car driver|bot=PearBOT 5}}

88
Sleeping for 8.5 seconds, 2019-12-16 21:41:42
Page [[Scott Goodyear]] saved
[[en:Sheldon Harnick]]
{{short description|American lyricist and songwriter|bot=PearBOT 5}}

89
Sleeping for 8.0 seconds, 2019-12-16 21:41:53
Page [[Sheldon Harnick]] saved
[[en:Shoichiro Irimajiri]]
{{short description|Japanese engineer and businessman|bot=PearBOT 5}}

90
Sleeping for 8.4 seconds, 2019-12-16 21:42:02
Page [[Shoichiro Irimajiri]] saved
[[en:Steve Fritz]]
{{short description|American retired decathlete|bot=PearBOT 5}}

91
Sleeping for 8.3 seconds, 2019-12-16 21:42:12
Page [[Steve Fritz]] saved
[[en:Super Shisa]]
{{short description|Japanese professional wrestler|bot=PearBOT 5}}

92
Sleeping for 8.8 seconds, 2019-12-16 21:42:22
Page [[Super Shisa]] saved
[[en:Teo Fabi]]
{{short description|Italian former racing driver|bot=PearBOT 5}}

93
Sleeping for 8.6 seconds, 2019-12-16 21:42:32
Page [[Teo Fabi]] saved
[[en:Thierry Boutsen]]
{{short description|Belgian former racing driver|bot=PearBOT 5}}

94
Sleeping for 8.1 seconds, 2019-12-16 21:42:42
Page [[Thierry Boutsen]] saved
[[en:Thomas Voeckler]]
{{short description|French former road racing cyclist|bot=PearBOT 5}}

95
Sleeping for 8.2 seconds, 2019-12-16 21:42:52
Page [[Thomas Voeckler]] saved
[[en:Tvrtko Jakovina]]
{{short description|Croatian historian|bot=PearBOT 5}}

96
Sleeping for 7.2 seconds, 2019-12-16 21:43:03
Page [[Tvrtko Jakovina]] saved
[[en:Wyatt Allen]]
{{short description|American rower|bot=PearBOT 5}}

97
Sleeping for 7.8 seconds, 2019-12-16 21:43:13
Page [[Wyatt Allen]] saved
[[en:Albina Guarnieri]]
{{short description|Canadian former politician|bot=PearBOT 5}}

98
Sleeping for 6.3 seconds, 2019-12-16 21:43:24
Page [[Albina Guarnieri]] saved
[[en:Alex Magala]]
{{short description|Moldovan entertainer and sword swallower|bot=PearBOT 5}}

99
Sleeping for 8.6 seconds, 2019-12-16 21:43:32
Page [[Alex Magala]] saved
[[en:Arnold Merkies]]
{{short description|Dutch politician|bot=PearBOT 5}}

100
Sleeping for 7.6 seconds, 2019-12-16 21:43:43
Page [[Arnold Merkies]] saved
[[en:Axel Rudi Pell]]
{{short description|German heavy metal guitar player|bot=PearBOT 5}}

[[en:Bill Haas]]
{{short description|American professional golfer|bot=PearBOT 5}}

[[en:Brandon Frazier]]
{{short description|American pair skater|bot=PearBOT 5}}

[[en:Brian Crowley]]
{{short description|Irish former Fianna Fáil politician|bot=PearBOT 5}}

[[en:Catalina Sandino Moreno]]
{{short description|Colombian actress|bot=PearBOT 5}}

[[en:Cheryl Ladd]]
{{short description|American actress, singer and author|bot=PearBOT 5}}

[[en:Chris Innis]]
{{short description|American film editor and filmmaker|bot=PearBOT 5}}

[[en:Craig Owens]]
{{short description|American musician|bot=PearBOT 5}}

[[en:Daniel Ritchie]]
{{short description|British rower|bot=PearBOT 5}}

[[en:Danny Tiatto]]
{{short description|Australian former footballer|bot=PearBOT 5}}

[[en:David Fox (swimmer)]]
{{short description|American former competition swimmer|bot=PearBOT 5}}

[[en:David Storl]]
{{short description|German track and field athlete|bot=PearBOT 5}}

[[en:Diana Ossana]]
{{short description|American writer|bot=PearBOT 5}}

[[en:Dick Roche]]
{{short description|Irish former Fianna Fáil politician|bot=PearBOT 5}}

[[en:Don Cook]]
{{short description|American record producer and songwriter|bot=PearBOT 5}}

[[en:Edoardo Molinari]]
{{short description|Italian professional golfer|bot=PearBOT 5}}

[[en:Elena Ilinykh]]
{{short description|Russian ice dancer|bot=PearBOT 5}}

[[en:Eli Drake]]
{{short description|American professional wrestler|bot=PearBOT 5}}

[[en:Ellen Fanning]]
{{short description|Australian journalist|bot=PearBOT 5}}

[[en:Elpida (singer)]]
{{short description|Greek singer|bot=PearBOT 5}}

[[en:Emilia Sykes]]
{{short description|American politician|bot=PearBOT 5}}

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
/srv/paws/lib/python3.6/site-packages/urllib3/connectionpool.py in _make_request(self, conn, method, url, timeout, chunked, **httplib_request_kw)
    378                 # Python 2.7, use buffering of HTTP responses
--> 379                 httplib_response = conn.getresponse(buffering=True)
    380             except TypeError:

TypeError: getresponse() got an unexpected keyword argument 'buffering'

During handling of the above exception, another exception occurred:

KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-10-7934010e45ff> in <module>
     62 savecounter = 0
     63 for page in pywikibot.pagegenerators.SearchPageGenerator('incategory:"Living people" -incategory:"Articles with short description"'):
---> 64     if extractdescription(extractfirst(page.text)) is not False:
     65         description="{{short description|"+extractdescription(extractfirst(page.text))+"|bot=PearBOT 5}}\n"
     66         page.text=description+page.text

/srv/paws/pwb/pywikibot/page.py in text(self)
    623         if not hasattr(self, '_text') or self._text is None:
    624             try:
--> 625                 self._text = self.get(get_redirect=True)
    626             except pywikibot.NoPage:
    627                 # TODO: what other exceptions might be returned?

/srv/paws/pwb/pywikibot/tools/__init__.py in wrapper(*__args, **__kw)
   1736                              cls, depth)
   1737                     del __kw[old_arg]
-> 1738             return obj(*__args, **__kw)
   1739 
   1740         if not __debug__:

/srv/paws/pwb/pywikibot/page.py in get(self, force, get_redirect, sysop)
    478             del self.latest_revision_id
    479         try:
--> 480             self._getInternals(sysop)
    481         except pywikibot.IsRedirectPage:
    482             if not get_redirect:

/srv/paws/pwb/pywikibot/page.py in _getInternals(self, sysop)
    508         if self._latest_cached_revision() is None:
    509             try:
--> 510                 self.site.loadrevisions(self, content=True, sysop=sysop)
    511             except (pywikibot.NoPage, pywikibot.SectionError) as e:
    512                 self._getexception = e

/srv/paws/pwb/pywikibot/tools/__init__.py in wrapper(*__args, **__kw)
   1736                              cls, depth)
   1737                     del __kw[old_arg]
-> 1738             return obj(*__args, **__kw)
   1739 
   1740         if not __debug__:

/srv/paws/pwb/pywikibot/site.py in loadrevisions(self, page, content, revids, startid, endid, starttime, endtime, rvdir, user, excludeuser, section, sysop, step, total, rollback)
   4146             rvgen.set_maximum_items(-1)  # suppress use of rvlimit parameter
   4147 
-> 4148         for pagedata in rvgen:
   4149             if not self.sametitle(pagedata['title'],
   4150                                   page.title(with_section=False)):

/srv/paws/pwb/pywikibot/data/api.py in __iter__(self)
   2981         """Yield results."""
   2982         self._previous_dicts = {}
-> 2983         for result in super(PropertyGenerator, self).__iter__():
   2984             yield result
   2985         for result in self._previous_dicts.values():

/srv/paws/pwb/pywikibot/data/api.py in __iter__(self)
   2805                 prev_limit, new_limit, previous_result_had_data)
   2806             if not hasattr(self, 'data'):
-> 2807                 self.data = self.request.submit()
   2808             if not self.data or not isinstance(self.data, dict):
   2809                 pywikibot.debug(

/srv/paws/pwb/pywikibot/data/api.py in submit(self)
   1983                                                                    paramstring)
   1984             rawdata, use_get = self._http_request(use_get, uri, body, headers,
-> 1985                                                   paramstring)
   1986             if rawdata is None:
   1987                 continue

/srv/paws/pwb/pywikibot/data/api.py in _http_request(self, use_get, uri, body, headers, paramstring)
   1742                 site=self.site, uri=uri,
   1743                 method='GET' if use_get else 'POST',
-> 1744                 body=body, headers=headers)
   1745         except Server504Error:
   1746             pywikibot.log('Caught HTTP 504 error; retrying')

/srv/paws/pwb/pywikibot/tools/__init__.py in wrapper(*__args, **__kw)
   1736                              cls, depth)
   1737                     del __kw[old_arg]
-> 1738             return obj(*__args, **__kw)
   1739 
   1740         if not __debug__:

/srv/paws/pwb/pywikibot/comms/http.py in request(site, uri, method, params, body, headers, data, **kwargs)
    321 
    322     baseuri = site.base_url(uri)
--> 323     r = fetch(baseuri, method, params, body, headers, **kwargs)
    324     site.throttle.retry_after = int(r.response_headers.get('retry-after', 0))
    325     return r.text

/srv/paws/pwb/pywikibot/comms/http.py in fetch(uri, method, params, body, headers, default_error_handling, use_fake_user_agent, data, **kwargs)
    519             headers['user-agent'] = fake_user_agent()
    520 
--> 521     request = _enqueue(uri, method, params, body, headers, **kwargs)
    522     # if there's no data in the answer we're in trouble
    523     assert request._data is not None

/srv/paws/pwb/pywikibot/comms/http.py in _enqueue(uri, method, params, body, headers, data, **kwargs)
    475     request = threadedhttp.HttpRequest(
    476         uri, method, params, body, all_headers, callbacks, **kwargs)
--> 477     _http_process(session, request)
    478     return request
    479 

/srv/paws/pwb/pywikibot/comms/http.py in _http_process(session, http_request)
    388                                    headers=headers, auth=auth, timeout=timeout,
    389                                    verify=not ignore_validation,
--> 390                                    **http_request.kwargs)
    391     except Exception as e:
    392         http_request.data = e

/srv/paws/lib/python3.6/site-packages/requests/sessions.py in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)
    531         }
    532         send_kwargs.update(settings)
--> 533         resp = self.send(prep, **send_kwargs)
    534 
    535         return resp

/srv/paws/lib/python3.6/site-packages/requests/sessions.py in send(self, request, **kwargs)
    644 
    645         # Send the request
--> 646         r = adapter.send(request, **kwargs)
    647 
    648         # Total elapsed time of the request (approximately)

/srv/paws/lib/python3.6/site-packages/requests/adapters.py in send(self, request, stream, timeout, verify, cert, proxies)
    447                     decode_content=False,
    448                     retries=self.max_retries,
--> 449                     timeout=timeout
    450                 )
    451 

/srv/paws/lib/python3.6/site-packages/urllib3/connectionpool.py in urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)
    601                                                   timeout=timeout_obj,
    602                                                   body=body, headers=headers,
--> 603                                                   chunked=chunked)
    604 
    605             # If we're going to release the connection in ``finally:``, then

/srv/paws/lib/python3.6/site-packages/urllib3/connectionpool.py in _make_request(self, conn, method, url, timeout, chunked, **httplib_request_kw)
    381                 # Python 3
    382                 try:
--> 383                     httplib_response = conn.getresponse()
    384                 except Exception as e:
    385                     # Remove the TypeError from the exception chain in Python 3;

/usr/lib/python3.6/http/client.py in getresponse(self)
   1329         try:
   1330             try:
-> 1331                 response.begin()
   1332             except ConnectionError:
   1333                 self.close()

/usr/lib/python3.6/http/client.py in begin(self)
    295         # read until we get a non-100 response
    296         while True:
--> 297             version, status, reason = self._read_status()
    298             if status != CONTINUE:
    299                 break

/usr/lib/python3.6/http/client.py in _read_status(self)
    256 
    257     def _read_status(self):
--> 258         line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
    259         if len(line) > _MAXLINE:
    260             raise LineTooLong("status line")

/usr/lib/python3.6/socket.py in readinto(self, b)
    584         while True:
    585             try:
--> 586                 return self._sock.recv_into(b)
    587             except timeout:
    588                 self._timeout_occurred = True

/usr/lib/python3.6/ssl.py in recv_into(self, buffer, nbytes, flags)
   1010                   "non-zero flags not allowed in calls to recv_into() on %s" %
   1011                   self.__class__)
-> 1012             return self.read(nbytes, buffer)
   1013         else:
   1014             return socket.recv_into(self, buffer, nbytes, flags)

/usr/lib/python3.6/ssl.py in read(self, len, buffer)
    872             raise ValueError("Read on closed or unwrapped SSL socket.")
    873         try:
--> 874             return self._sslobj.read(len, buffer)
    875         except SSLError as x:
    876             if x.args[0] == SSL_ERROR_EOF and self.suppress_ragged_eofs:

/usr/lib/python3.6/ssl.py in read(self, len, buffer)
    629         """
    630         if buffer is not None:
--> 631             v = self._sslobj.read(len, buffer)
    632         else:
    633             v = self._sslobj.read(len)

KeyboardInterrupt: