You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.5 KiB

matej.py

import requests

# wtf jsou tyhle obrovsky mezery

def ship_detail(ShipName):
    url = 'https://swapi.co/api/starships'
    r = requests.get(url).json() # ^-- tohle je mega gay, protoze si nacitas vsechny data
    res = r['results']			 # a sortujes v pythonu, misto toho abys si upravil
    ship_absolute = ''			 # url - mel bys to jednodussi, rychlejsi, prehlednejsi
    for ship in res:			 # a pametove efektivnejsi
        if ship['name'] == ShipName: # lol
            ship_absolute = ship
            break
    return[ship_absolute['name'], ship_absolute['model'], [requests.get(film).json()['title'] for film in ship_absolute['films']]] # sexy

def species_detail(SpeciesName):
    url = 'https://swapi.co/api/species' # stejnej problem jako nahore
    r = requests.get(url).json()
    res = r['results']
    species_absolute = '' # eeh, celkem dlouhej nazev, sice to neni explicitni chyba ale kratsi nazev = lepsi nazev
    for specie in res:
        if specie['name'] == SpeciesName:
            species_absolute = specie
            break
    list_title = [requests.get(film).json()['title'] for film in species_absolute['films']]
    list_id = [requests.get(film).json()['episode_id'] for film in species_absolute['films']]
    sort = sorted(zip(list_id, list_title))
    return [species_absolute['name'], species_absolute['classification'], species_absolute['designation'], requests.get(species_absolute['homeworld']).json()['name'], sort] # sexy


def person_detail(Name): # a zase
    url = 'https://swapi.co/api/people'
    r = requests.get(url).json()
    res = r['results']
    person_absolute = ''
    for person in res:
        if person['name'] == Name:
            person_absolute = person
            break

    list_title = [requests.get(film).json()['title'] for film in person_absolute['films']]
    list_id = [requests.get(film).json()['episode_id'] for film in person_absolute['films']]
    sort = sorted(zip(list_id, list_title))
    return [person_absolute['name'], person_absolute['gender'], requests.get(person_absolute['homeworld']).json()['name'], sort] # sexy

def Crawl(Film_Title): # a poctvrte
    url = 'https://swapi.co/api/films'
    r = requests.get(url).json()
    res = r['results']
    film_absolute = ''
    for film in res:
        if film['title'] == Film_Title:
            film_absolute = film # <-- mozny vynechat protoze film == film_absolute je True
            break				 # protoze film se updateuje kazdou loopu - kdyz loop skonci (`break`) tak film je promenna po breaku
        						 # coz je hezky protoze recyklujes promenne aniz by jejich nazev
        						 # neodpovidal hodnote
    print(film_absolute['opening_crawl'])


def film_detail(FilmIdentifier): # a popate :D
    url = 'https://swapi.co/api/films'
    r = requests.get(url).json()
    res = r['results']
    film_absolute = ''
    for film in res:
        if film['title'] == FilmIdentifier or film['episode_id'] == FilmIdentifier:
            film_absolute = film
            break
    list_char = [requests.get(char).json() for char in film_absolute['characters']]
    list_ship = [requests.get(char).json() for char in film_absolute['starships']]
    return [film_absolute['title'], film_absolute['director'], film_absolute['episode_id'], sorted([ch['name'] for ch in list_char]), sorted([ch['name'] for ch in list_ship])] # sexy


if __name__ == '__main__':
    print(ship_detail('Executor'))
    print(species_detail('Hutt'))
    print(person_detail('Luke Skywalker'))
    print(film_detail(3))
    print(film_detail('A New Hope'))
    Crawl('The Phantom Menace')