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)
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
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
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
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()
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()
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'])
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")
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
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()
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
def outpttxt(header, echo): ui.header(header) ui.echo(echo) ui.line()
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("<", "<") str = str.replace(">", ">") str = str.replace(""", '"') str = str.replace("'", "'") #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:
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")
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