Benutzer:Toxoplasma II./Entwürfe

Bot

Dieser Benutzer ist ein Bot ohne Bot-Flag. Er wird von Toxoplasma II. betrieben.


Die unter diesem Account ausgeführten Bots wurden auf Basis des Pywikibot implementiert.

Taxobox-Autoren-Klammerungs-Bot

Dieser Bot soll ausschließlich Listen erstellen. Hier bei werden vom Bot die Taxoboxen in Lebeewesen-Artikel zoologischer Taxa untersucht und Listen bestimmter Artikel und bestimmter Werte die in der Taxobox dieser Artikel vorkommen. Mit dieser Liste soll es möglich werden möglichst schnell die Klammerung um die Autoren von zoologischen Arten gemacht werden muss wenn sich die Gattungszuordnung der Art nach ihrer Erstbeschreibungen geändert hat auf ihre Richtigkeit zu überprüfen.

= erster Entwurf des Bots

import pywikibot
from pywikibot import pagegenerators, textlib

site = pywikibot.Site('de', 'wikipedia')
template_page = pywikibot.Page(site, 'Vorlage:Taxobox')
referring_pages = template_page.getReferences(only_template_inclusion=True)

excluded_categories = ['Pflanzen', 'Pilze']
excluded_pages = set()

for cat in excluded_categories:
    cat_page = pywikibot.Category(site, cat)
    subcategories = pagegenerators.SubCategoriesPageGenerator(cat_page, recurse=True)
    for subcat in subcategories:
        pages = pagegenerators.CategorizedPageGenerator(subcat)
        for page in pages:
            excluded_pages.add(page.title())

list1_column1 = []
list1_column2 = []
list2_column1 = []
list2_column2 = []

for page in referring_pages:
    if page.title() not in excluded_pages:
        templates = textlib.extract_templates_and_params(page.text)
        for template in templates:
            if template[0] == 'Taxobox':
                taxon_rang = template[1].get('Taxon_Rang', '')
                if taxon_rang in ['Art', 'Gattung', 'Unterart']:
                    taxon_name = template[1].get('Taxon_Name', '')
                    taxon_wissname = template[1].get('Taxon_WissName', '')
                    taxon_autor = template[1].get('Taxon_Autor', '')
                    taxon2_name = template[1].get('Taxon2_Name', '')
                    taxon2_wissname = template[1].get('Taxon2_WissName', '')
                    taxon2_rang = template[1].get('Taxon2_Rang', '')
                    taxon2_autor = template[1].get('Taxon2_Autor', '')
                    if taxon_rang in ['Art', 'Unterart']:
                        if taxon_autor and not taxon2_autor:
                            list2_column1.append(f'Trivialname: {taxon_name} - Wissenschaftlicher Name: {taxon_wissname} - Rang: {taxon_rang} - Autor: {taxon_autor}')
                        elif taxon_autor and taxon2_autor:
                            list1_column1.append(f'Trivialname: {taxon_name} - Wissenschaftlicher Name: {taxon_wissname} - Rang: {taxon_rang} - Autor: {taxon_autor}')
                    elif taxon_rang == 'Gattung':
                        if taxon_autor and not taxon2_autor:
                            list2_column2.append(f'Name: {taxon2_name} - Wissenschaftlicher Name der Gattung: {taxon2_wissname} - Rang: {taxon2_rang} - Autor der Gattung: {taxon2_autor}')
                        elif taxon_autor and taxon2_autor:
                            list1_column2.append(f'Name: {taxon2_name} - Wissenschaftlicher Name der Gattung: {taxon2_wissname} - Rang: {taxon2_rang} - Autor der Gattung: {taxon2_autor}')

print(f'{"Arten von monotypischen Gattungen und ihre Gattungen":<60}')
print(f'{"Spalte 1":<60}{"Spalte 2":<60}')
for row1, row2 in zip(list1_column1, list1_column2):
    print(f'{row1:<60}{row2:<60}')

print(f'\n{"Arten und Unterarten von nicht monotypischen Gattungen und ihre Gattungen":<60}')
print(f'{"Spalte 1":<60}{"Spalte 2":<60}')
for row1, row2 in zip(list2_column1, list2_column2):
    print(f'{row1:<60}{row2:<60}')

Durchsuchte Artikel Bei Reptile Database

Ah

Schildkröten Paper

  • Elizabeth L. Nicholls: New material of Toxochelys latiremis Cope, and a revision of the genus Toxochelys (Testvoines, Chelonioidea).
  • Jean-Michel Guillon, Loreleï Guéry, Vincent Hulin, Marc Girondot: A large phylogeny of turtles (Testudines) using molecular data. doi:10.1163/18759866-08103002 (PDF).
  • Robert C. Thomson, H. Bradley Shaffer: Sparse Supermatrices for Phylogenetic Inference: Taxonomy, Alignment, Rogue Taxa, and the Phylogeny of Living Turtles. doi: 10.1093/sysbio/syp075.

Vogel Paper

  • George Robert Gray: The genera of birds : comprising their generic characters, a notice of the habits of each genus, and an extensive list of species referred to their several genera. Band 1 Longman, Brown, Green, and Longmans, London 1844-1849, S. 12 ([1] Digitalisat).
  • Gerald Mayr: A previously unnoticed vascular trait of the middle ear suggests that a cranial heat-exchange structure contributed to the radiation of cold-adapted songbirds. In: Journal of Ornithology. Bd. 160, Nr. 1, 2019, S. 173–184, doi:10.1007/s10336-018-1588-2.

Tabelle Kaimane

Die Gattung der Echten Kaimane umfasst drei rezente Arten:

Deutscher NameWissenschaftlicher NameVerbreitungGefährdungsstufe
Rote Liste der IUCN
AnmerkungenBild
KrokodilkaimanCaiman crocodilus
(Linnaeus, 1758)
Verbreitungsgebiet des Krokodilkaimans (Least Concern – nicht gefährdet)[1]4 Unterarten

Verbreitet von Südmexiko über das nördliche Südamerika bis in den Norden Boliviens. Eingeführt wurde er auf Inseln von Kuba und auf Puerto Rico.

Krokodilkaiman (Caiman crocodilus)
BrillenkaimanCaiman yacare
(Daudin, 1801)
Verbreitungsgebiet des Brillenkaimans (Least Concern – nicht gefährdet)[2]2 Unterarten

Wurde früher als Unterart des Krokodilkaimans eingstuft

Brillenkaiman (Caiman yacare)
BreitschnauzenkaimanCaiman latirostris
(Daudin, 1801)
Verbreitungsgebiet des Breitschnauzenkaimans (Least Concern – nicht gefährdet)[3]2 UnterartenBreitschnauzenkaiman ('Caiman latirostris)

Tabelle Glattnattern

Deutscher NameWissenschaftlicher NameVerbreitungGefährdungsstufe
Rote Liste der IUCN
AnmerkungenBild
Glatt- oder SchlingnatterCoronella austriaca
Laurenti, 1768
Verbreitungsgebiet der Glatt- oder Schlingnatterkeine Angaben3 Unterarten:

C. a. austriaca, C. a. acutirostris, C. a. fitzingeri*

Verbreitet in Finnland, südliches Norwegen, Schweden, Belgien, Niederlande, Luxemburg, Deutschland, Österreich, Schweiz, südliches Großbritannien, nördliches Spanien, nördliches Portugal, Frankreich, Italien, Polen, Tschechien, Ungarn, Slowakei, Kroatien, Slowenien, Bosnien und Herzegowina, Montenegro, Mazedonien, Serbien, Rumänien, Bulgarien, Griechenland (inkl. Samothraki), Albanien, Türkei, Russland, Estland, Lettland, Litauen, Weißrussland, Ukraine, Moldawien, Armenien, Georgien, Aserbaidschan, westliches Kasachstan, nördliches Anatolien, nördlicher Iran

Glatt- oder Schlingnatter (Coronella austriaca)
Indische GlattnatterCoronella brachyura
(Günther, 1866)
Verbreitungsgebiet der Indischen Glattnatter(Least Concern – nicht gefährdet)[4]monotypisch

Verbreitet in Indien (nördliches Maharashtra)

Indische Glattnatter (Coronella brachyura)
Girondische GlattnatterCoronella girondica
(Daudin, 1803)
Verbreitungsgebiet der Girondische Glattnatter(Least Concern – nicht gefährdet)[5]2 Unterarten:

C. g. girondica, C. g. amaliae*

Verbreitet in Spanien, Portugal, südliches Frankreich, Italien, Marokko, Algerien, Tunesien

Girondische Glattnatter (Coronella girondica)

(*strittig)

  1. Caiman crocodilus in der Roten Liste gefährdeter Arten der IUCN 2016.3. Eingestellt von: Crocodile Specialist Group, 1996. Abgerufen am 13. Februar 2017.
  2. Caiman yacare in der Roten Liste gefährdeter Arten der IUCN 2016.3. Eingestellt von: Crocodile Specialist Group, 1996. Abgerufen am 13. Februar 2017.
  3. Caiman latirostris in der Roten Liste gefährdeter Arten der IUCN 2016.3. Eingestellt von: Crocodile Specialist Group, 1996. Abgerufen am 13. Februar 2017.
  4. Coronella brachyura in der Roten Liste gefährdeter Arten der IUCN 2016.3. Eingestellt von: Srinivasulu, C., Srinivasulu, B., Vyas, R. & Mohapatra, P., 2010. Abgerufen am 1. März 2017.
  5. Coronella girondica in der Roten Liste gefährdeter Arten der IUCN 2016.3. Eingestellt von: Sá-Sousa, P., Pérez Mellado, V., Corti, C., Sindaco, R., Romano, A. & Martinez Solano, I., 2008. Abgerufen am 1. März 2017.