Ejemplo n.º 1
0
def inspectart(): #funktionen som kombinerar urlen med artist Id så att vi kan komma åt djupare element i api'n.
    url = 'https://5hyqtreww2.execute-api.eu-north-1.amazonaws.com/artists/'#tar samma url som innan.
    r = requests.get(url) #sparar ned urlen i variabeln R
    svar = r.json() #gör om json listan så att vi kan använda den.
    artists = svar["artists"] #gör så att vi kan ta ut informationen med nyckel ordet Artists
    val = ui.prompt() #kallar på promt funktionen så att vi kan göra ett val utav vilken artist vi vill åt.

    for artist in artists: #itererar igenom våra artister så att vi kan komma längre in i dictionariet.
        if val.title() == artist["name"]: #kollar så att artisten i loopen nu stämmer med vårat val.
            ui.line(True)  # printar en linje gjord utav -
            Aid = artist["id"] #sparar ned Id's på våran matchande artist.
            newurl= str(url + Aid) #tar Id's och kombinerar det med våran url
            z = requests.get(newurl) #gör en request emot den nya urlen
            inspection = z.json()#sparar ned json objektet så att programmet kan agera med det.
            ui.echo("Name: " + inspection["artist"]["name"])
            ui.echo(" ")
            ui.echo("Genres")
            for genre in inspection["artist"]["genres"]:#loopar och printar ut genres på våra artister
                ui.echo(genre)
            ui.echo(" ")
            for years in inspection["artist"]["years_active"]:#loopar igenom och printar ut de åren som gruppen var aktiv
                ui.echo("Years active: " + years)
            print(" ")
            ui.echo("Members")
            for member in inspection["artist"]["members"]:#loopar igenom och printar ut de medlemar i bandet och deras stagenames, har de inte det så printar det bandnamnet.
                ui.echo(member)
Ejemplo n.º 2
0
def selection(
):  # gjorde en funktion som printar ut valen som man kan göra eftersom dom är samma
    ui.line()
    ui.Echo("L| list of artists")
    ui.Echo("V| view artist profile")
    ui.Echo("E| exit application")
    ui.line(True)
    select = ui.promt("selection")
    return select  #funktionen ger tillbaka svaret som användaren ger
Ejemplo n.º 3
0
def numbQ():
    global questions
    ui.echo("Number of questions, 1 - 25")
    questions = ui.prompt("Answer >")
    if ValNum(questions, 26):  #om nummret ligger mellan 1-25 returneras true
        return questions  #skickar tillbaka antalet frågor som ska finnas
    else:
        ui.echo("Invalid input, try again")
        ui.line()
        numbQ()  #funktionen körs om ogiltigt svar kommer in
def numbOfQuestions():
    global questions  #gör en global variabel av questions för att vi använder den i och utanför funktionen
    ui.echo("Number of questions, 1 - 25")
    questions = ui.prompt("Answer >")
    if isValidNumber(
            questions, 26
    ):  #om nummret ligger mellan 1-25 returneras true från isValidNummer
        return questions  #returnerar antalet frågor som ska finnas
    else:
        ui.echo("Invalid input, try again")
        ui.line()
        numbOfQuestions()  #om ett ogiltigt svar anges körs funktionen om
Ejemplo n.º 5
0
def whatDiff():  #funktion för svårighetsgrad
    ui.header("Difficulty")
    ui.echo("1: Easy")
    ui.echo("2: Hard")
    difficulty = ui.prompt("Answer >")
    if difficulty == "1":
        APIget(easyAPI)  #svar 1 ger lättare frågor
    elif difficulty == "2":
        APIget(hardAPI)  #svar 2 ger svåra frågor
    else:
        ui.echo("Invalid input, try again")
        ui.line()
        whatDiff()  #om något annat än 1 eller 2 anges så körs den om
def whatDifficulty():  #funktion för att välja svårighetsgrad
    ui.header("Difficulty")
    ui.echo("1: Easy")
    ui.echo("2: Hard")
    difficulty = ui.prompt("Answer >")
    if difficulty == "1":
        getApi(apiEasy)  #om man svarar 1 så används apin med lättare frågor
    elif difficulty == "2":
        getApi(apiHard)  #om man svarar 2 så används apin med svårare frågor
    else:
        ui.echo("Invalid input, try again")
        ui.line()
        whatDifficulty(
        )  #om något annat än 1 eller 2 anges så körsfunnktionen om
Ejemplo n.º 7
0
def alist(): #function för att printa en del utav ui
    ui.clear() #Clear call
    ui.line(False)  # printar en linje gjord utav -
    ui.header("ARTIST DATABASE")
    ui.line(True)  # printar en linje gjord utav *
    web.getart() #kallar på funktionen som tar fram listna av artister
    ui.line(False)  # printar en linje gjord utav -
    ui.echo("| Press enter to return ")  # Printar våra val
    ui.line(False)  # printar en linje gjord utav -
    ui.prompt()
Ejemplo n.º 8
0
def ainspect(): #function för att printa en del utav ui
    ui.clear() #Clear call
    ui.line(False)  # printar en linje gjord utav *
    ui.header("ARTIST DATABASE")
    ui.line(True)  # printar en linje gjord utav -
    web.inspectart() #kallar på funktionen som tar fram informationen på specifika artister.
    ui.line(False)  # printar en linje gjord utav *
    ui.echo("| Press enter to return ")  # Printar våra val
    ui.line(False)  # printar en linje gjord utav *
    ui.prompt()
Ejemplo n.º 9
0
def title(
    mess
):  # gjorde också en title funktion eftersom den är samma men man kan andra själva headern med ett medelande
    ui.line()
    ui.Header(mess)  # en header med valfri titel
    ui.line()
#8.4
import ui  #importerar nödvändiga moudler och funktioner
import requests
import web

url = 'https://5hyqtreww2.execute-api.eu-north-1.amazonaws.com/artists/'  # urlen

web.get(url)  # använder modulen
shutdown = False  # sätter shutdown variabeln till false för att vi inte vill att whileloopen ska stängas ner

artists = web.get(
    'https://5hyqtreww2.execute-api.eu-north-1.amazonaws.com/artists/')[
        'artists']  #går in i urlen och in i artister

ui.line()  #skapar interface med ui.py
ui.header('Artist database')
ui.line()
ui.echo('Welcome to a world of')
ui.echo('Music')
ui.line()
ui.echo('L, List artists')
ui.echo('V, View artist profile')
ui.echo('E, Exit application')
ui.line()
choice = ui.promt('| Selection> ')
ui.line()
while shutdown == False:  # om shutdown variabeln är falsk vilket vi satte den till kör den whileloopen
    if choice.lower() == 'l':  #om man väljer l
        for i in artists:  #skriver ut alla artisters namn
            ui.echo(i['name'])
Ejemplo n.º 11
0
import ui
ui.line()  # i denna kod skriver vi bara ut alla funktioner vi gjort i ui.py
ui.header("Meddelande")
ui.line(True)
ui.echo("Hej Hej")
ui.echo("Hej då")
ui.line()
ui.header("Hallå")
ui.line()
ui.echo("A")
ui.echo("B")
ui.echo("C")
ui.echo("D")
ui.line()
ui.prompt("Val")
Ejemplo n.º 12
0
import ui   # importerar ui
# använder funktioner från ui
ui.line()   # gör linje 
ui.header("EXEMPEL")    # skriver ut i mitten och med | på sidorna
ui.line(True)   # gör linje av sjärnor
ui.echo("Detta är ett exempel på hur")   # skriver ut med en | från början
ui.echo("ett grännsnitt kan se ut.") 
ui.line() 
ui.header("..vad vill du göra?") 
ui.line() 
ui.echo("A | Visa inköpslista") 
ui.echo("B | Lägg till vara") 
ui.echo("C | Ta bort vara") 
ui.echo("X | Stäng programmet") 
ui.line() 
ui.prompt("Val")    # finns möjlighet att göra input
Ejemplo n.º 13
0
import ui

ui.line()  #testar alla funktioner
ui.Header("hej hej")
ui.line(True)
ui.Echo("här kan man skriva ut")
ui.line()
ui.promt(
    "press enter to terminate"
)  # skriver ut ett medelande men kan också användas för att ta in inputs
ui.clear()
Ejemplo n.º 14
0
def interact(pts, selected, tool, dobegin=False, allow_delete=True, allow_add=True, toolbar='ab', show_draggers=True, get_modified=False, start_id=0): # TODO this get_modified is crap but need it to not break old code
    if dobegin:
        ui.begin()
    n = pts.shape[1]
    pts = np.array(pts)

    mod = False

    if show_draggers:
        for i in range(n):
            pts[:,i] = ui.dragger(i+start_id, pts[:,i])

            if ui.modified():
                mod = True
                selected = i
                allow_add = False

    delete_index = None

    if selected != None and allow_delete:        
        if app.keyPressed(app.KEY_BACKSPACE) and pts.shape[1] > 2:
            pts = np.delete(pts, selected, 1)
            delete_index = selected
            selected = None
        else:
            ui.highlightDragger(pts[:,selected])    

    if toolbar:
        tool = ui.toolbar("test", toolbar, tool)
        
    insert_index = None
    mp = app.mousePos()
    add_dist = 3

    if tool==1:
        # highlight line if in add range
        for i in range(pts.shape[1]-1):
            pa, pb = pts[:,i], pts[:,i+1]
            if geom.point_segment_distance(mp, pa, pb) < add_dist:
                ui.line(pa, pb, [1, 0, 0])

    if(tool == 1 and app.mouseClicked(0) and allow_add):
        # First check if to insert point
        ins = False
        for i in range(pts.shape[1]-1):
            pa, pb = pts[:,i], pts[:,i+1]
            if geom.point_segment_distance(mp, pa, pb) < add_dist:
                pts = np.insert(pts, i+1, mp, axis=1)
                insert_index = i+1
                ins = True
                selected = i+1
                break
        if not ins:    
            insert_index = pts.shape[1]   
            selected = pts.shape[1]
            pts = np.column_stack([pts, mp])
            
        mod = True

    if app.mouseClicked(0) and not mod:
        selected = None

    if dobegin:
        ui.end()

    if get_modified:
        return pts, selected, tool, insert_index, delete_index, mod    

    return pts, selected, tool, insert_index, delete_index
Ejemplo n.º 15
0
def outpttxt(header, echo):
    ui.header(header)
    ui.echo(echo)
    ui.line()
Ejemplo n.º 16
0
    else:
        ui.echo("Invalid input, try again")
        ui.line()
        numbQ()  #funktionen körs om ogiltigt svar kommer in


def replace(str):  #tar bort onödiga tecken
    str = str.replace("&lt;", "<")
    str = str.replace("&gt;", ">")
    str = str.replace("&quot;", '"')
    str = str.replace("&#039;", "'")
    #vi uppdaterar str för varje rad med de riktiga teckena
    return str


ui.line()
ui.header("Frågesport")
ui.line()
whatDiff()
ui.line()
ui.header("Questions")
numbQ()
ui.line()
while True:  #frågesporten körs tills antalet frågor har uppnåtts, då stoppas den
    if count != int(questions):
        count += 1  #antalet gånger programmet har ställt en fråga, lägger till 1 när en ny fråga ställs
        NumbersGet()
        ui.echo(replace(QA[index]["fråga"]))  #frågan
        ui.echo("Alternatives:")
        AltGet(index)  #hämtar alternativ
        for i in alt:
Ejemplo n.º 17
0
import ui  # importerar ui och web
import web
# använder funktioner från ui
ui.line()
ui.header("ARTIST DATABASE")
ui.line()
ui.echo("Welcome to a world of")
ui.echo("Musice!")
ui.line()
ui.echo(" L | List artists")
ui.echo(" V | View artist profile")
ui.echo(" E | Exit application")
ui.line()
s = ui.prompt("Selection")
s
# urlen går genom get funktionen från web
url = "https://5hyqtreww2.execute-api.eu-north-1.amazonaws.com/artists/"
r = web.get(url)
# om man skriver in L
if s == "L" or s == "l":
    ui.clear()
    ui.line()
    ui.header("ARTIST DATABASE")
    ui.line()
    ui.echo("Ariana Grande")
    ui.echo("Avicii")
    ui.echo("Blink -182")
    ui.echo("Brad Paisley")
    ui.echo("Ed Sheeran")
    ui.echo("Imagine Dragons")
    ui.echo("Maroon 5")
Ejemplo n.º 18
0
def ainspect(): #function för att printa en del utav ui
    ui.clear() #Clear call
    ui.line(False)  # printar en linje gjord utav *
    ui.header("ARTIST DATABASE")
    ui.line(True)  # printar en linje gjord utav -
    web.inspectart() #kallar på funktionen som tar fram informationen på specifika artister.
    ui.line(False)  # printar en linje gjord utav *
    ui.echo("| Press enter to return ")  # Printar våra val
    ui.line(False)  # printar en linje gjord utav *
    ui.prompt()



while True: #kör en stor while sålänge som end variabeln inte innehåller
    ui.clear() #Clear call
    ui.line(False) #printar en linje gjord utav -
    ui.header("Welcome to the Music Library") #printar en header
    ui.line(False)#printar en linje gjord utav -
    ui.line(False)#printar en linje gjord utav -
    ui.echo("| L | Lista alla Artister") #Printar våra val
    ui.echo("| V | Inspektera Artist ")#Printar våra val
    ui.echo("| E | Stäng av ")
    ui.line(False)
    choice = ui.prompt()#variable input så att du kan kalla på

    if choice == "L": #gör så att vi kan välja olika val
        alist() #kallar på functionen alist
    if choice == "V": #gör så att vi kan välja olika val.
        ainspect() #kallar på functionen ainspect
    if choice == "E":
        break