Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!usr/bin/env python
- #-*- coding: utf-8 -*-
- #Importerar shelve för att sedan kunna spara allt i samma fil.
- import shelve
- import pymysql
- db = pymysql.connect(host="localhost", user="root", password="", db="filmregister")
- try:
- q = shelve.open("filmlistan")
- filmlist = q["Filmer"]
- q.close()
- except:
- pass
- #Skapar en klass för filmerna, med olika egenskaper.
- class film():
- def __init__(self, titel, längd, genre, typ, betyg, id):
- self.__titel = titel
- self.__längd = längd
- self.__genre = genre
- self.__typ = typ
- self.__betyg = betyg
- self.__id = id
- def gettitel(self):
- return self.__titel
- def settitel(self, titel):
- if titel =="":
- self.__titel = "None"
- else:
- self.__titel = titel
- def getlängd(self):
- return self.__längd
- def setlängd(self, längd):
- if längd =="":
- self.__längd = "None"
- else:
- self.__längd = längd
- def getgenre(self):
- return self.__genre
- def setgenre(self, genre):
- if genre =="":
- self.__genre = "None"
- else:
- self.__genre = genre
- def gettyp(self):
- return self.__typ
- def settyp(self, typ):
- if typ =="":
- self.__typ = "None"
- else:
- self.__typ = typ
- def getbetyg(self):
- return self.__betyg
- def setbetyg(self, betyg):
- if betyg =="":
- self.__betyg = "None"
- else:
- self.__betyg = betyg
- def getid(self):
- return self.__id
- def setid(self, id):
- if id == "":
- self.__id = "None"
- else:
- self.__id = id
- #Skapar en lista där filmerna sparas.
- filmlista = []
- #Välkomnar användaren till programmet och visar de olika val som finns.
- while True:
- print("Välkommen till Degefors Bio-filmregister!\n"
- "1: Lägg till en film\n"
- "2: Visa information om en film\n"
- "3: Spara filmlistan\n"
- "4: Avsluta\n\n")
- menyval = input("Välj ett alternativ: ")
- #Valalternativ 1.
- if menyval == "1":
- print("Du har valt att lägga till en film.")
- titel = input("Filmens titel: ")
- genre = input("Filmens genre: ")
- typ=""
- while True:
- typ = input("Filmens format(DVD/Bluray): ").upper()
- if typ == "DVD" or typ == "BLURAY":
- break
- else:
- print("Vänligen välj DVD eller Bluray.")
- while True:
- try:
- längd = int(input("Filmens längd i minuter: "))
- break
- except ValueError:
- print("Det måste vara enbart siffror.")
- betyg = input("Filmens IMDb-rating: ")
- while True:
- try:
- id = int(input("Filmens ID-nummer: "))
- break
- except ValueError:
- print("Det måste vara enbart siffror.")
- try:
- with db.cursor() as cursor:
- sql = "INSERT INTO filmer(titel, genre, typ, betyg, id) VALUES " \
- "('{}', '{}', '{}', {})".format(titel, genre, längd, typ, betyg, id)
- cursor.execute(sql)
- db.commit()
- except:
- db.rollback()
- ny_film = film(titel, genre, typ, längd, betyg, id) #Sparar sakerna i en lista.
- filmlista.append(ny_film)
- print("Filmen", titel ,"är nu inlagd i registret!")
- #Valalternativ 2.
- elif menyval == "2":
- print("Du har valt att söka efter en film.")
- sökfilm = input("Filmens titel: ")
- hitta_film = False
- for p in filmlista:
- if p.gettitel() == sökfilm:
- print("Titel".ljust(30) + "Genre".ljust(7) + "Typ".ljust(15) + "Längd".ljust(15) + "Betyg".ljust(15))
- print(str(p.gettitel).ljust(30) + str(p.getgenre).ljust(7) + str(p.gettyp).ljust(15) + str(p.getlängd).ljust(15) + str(p.getbetyg).ljust(15))
- hitta_film = True
- if not hitta_film:
- print("Filmen vid namn", sökfilm , "hittades tyvärr inte i registret!")
- #Valalternativ 3.
- elif menyval == "3":
- q = shelve.open("filmlista")
- q["Filmer"] = filmlista
- q.close()
- print("Listan är nu sparad.")
- #Valalternativ 4.
- elif menyval == "4":
- print("Tack för att du använde registret!")
- break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement