Advertisement
Guest User

Untitled

a guest
Apr 25th, 2017
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.47 KB | None | 0 0
  1. #!usr/bin/env python
  2. #-*- coding: utf-8 -*-
  3.  
  4. #Importerar shelve för att sedan kunna spara allt i samma fil.
  5. import shelve
  6. import pymysql
  7.  
  8. db = pymysql.connect(host="localhost", user="root", password="", db="filmregister")
  9. try:
  10. q = shelve.open("filmlistan")
  11. filmlist = q["Filmer"]
  12. q.close()
  13. except:
  14. pass
  15.  
  16. #Skapar en klass för filmerna, med olika egenskaper.
  17. class film():
  18. def __init__(self, titel, längd, genre, typ, betyg, id):
  19. self.__titel = titel
  20. self.__längd = längd
  21. self.__genre = genre
  22. self.__typ = typ
  23. self.__betyg = betyg
  24. self.__id = id
  25.  
  26. def gettitel(self):
  27. return self.__titel
  28.  
  29. def settitel(self, titel):
  30. if titel =="":
  31. self.__titel = "None"
  32. else:
  33. self.__titel = titel
  34.  
  35. def getlängd(self):
  36. return self.__längd
  37.  
  38. def setlängd(self, längd):
  39. if längd =="":
  40. self.__längd = "None"
  41. else:
  42. self.__längd = längd
  43.  
  44. def getgenre(self):
  45. return self.__genre
  46.  
  47. def setgenre(self, genre):
  48. if genre =="":
  49. self.__genre = "None"
  50. else:
  51. self.__genre = genre
  52.  
  53. def gettyp(self):
  54. return self.__typ
  55.  
  56. def settyp(self, typ):
  57. if typ =="":
  58. self.__typ = "None"
  59. else:
  60. self.__typ = typ
  61.  
  62. def getbetyg(self):
  63. return self.__betyg
  64.  
  65. def setbetyg(self, betyg):
  66. if betyg =="":
  67. self.__betyg = "None"
  68. else:
  69. self.__betyg = betyg
  70.  
  71. def getid(self):
  72. return self.__id
  73.  
  74. def setid(self, id):
  75. if id == "":
  76. self.__id = "None"
  77. else:
  78. self.__id = id
  79.  
  80. #Skapar en lista där filmerna sparas.
  81. filmlista = []
  82.  
  83. #Välkomnar användaren till programmet och visar de olika val som finns.
  84. while True:
  85. print("Välkommen till Degefors Bio-filmregister!\n"
  86. "1: Lägg till en film\n"
  87. "2: Visa information om en film\n"
  88. "3: Spara filmlistan\n"
  89. "4: Avsluta\n\n")
  90. menyval = input("Välj ett alternativ: ")
  91.  
  92. #Valalternativ 1.
  93. if menyval == "1":
  94. print("Du har valt att lägga till en film.")
  95. titel = input("Filmens titel: ")
  96. genre = input("Filmens genre: ")
  97. typ=""
  98. while True:
  99. typ = input("Filmens format(DVD/Bluray): ").upper()
  100. if typ == "DVD" or typ == "BLURAY":
  101. break
  102. else:
  103. print("Vänligen välj DVD eller Bluray.")
  104. while True:
  105. try:
  106. längd = int(input("Filmens längd i minuter: "))
  107. break
  108. except ValueError:
  109. print("Det måste vara enbart siffror.")
  110. betyg = input("Filmens IMDb-rating: ")
  111. while True:
  112. try:
  113. id = int(input("Filmens ID-nummer: "))
  114. break
  115. except ValueError:
  116. print("Det måste vara enbart siffror.")
  117. try:
  118. with db.cursor() as cursor:
  119. sql = "INSERT INTO filmer(titel, genre, typ, betyg, id) VALUES " \
  120. "('{}', '{}', '{}', {})".format(titel, genre, längd, typ, betyg, id)
  121.  
  122. cursor.execute(sql)
  123. db.commit()
  124. except:
  125. db.rollback()
  126.  
  127. ny_film = film(titel, genre, typ, längd, betyg, id) #Sparar sakerna i en lista.
  128. filmlista.append(ny_film)
  129. print("Filmen", titel ,"är nu inlagd i registret!")
  130.  
  131. #Valalternativ 2.
  132. elif menyval == "2":
  133. print("Du har valt att söka efter en film.")
  134. sökfilm = input("Filmens titel: ")
  135. hitta_film = False
  136. for p in filmlista:
  137. if p.gettitel() == sökfilm:
  138. print("Titel".ljust(30) + "Genre".ljust(7) + "Typ".ljust(15) + "Längd".ljust(15) + "Betyg".ljust(15))
  139. 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))
  140. hitta_film = True
  141. if not hitta_film:
  142. print("Filmen vid namn", sökfilm , "hittades tyvärr inte i registret!")
  143.  
  144. #Valalternativ 3.
  145. elif menyval == "3":
  146. q = shelve.open("filmlista")
  147. q["Filmer"] = filmlista
  148. q.close()
  149. print("Listan är nu sparad.")
  150.  
  151. #Valalternativ 4.
  152. elif menyval == "4":
  153. print("Tack för att du använde registret!")
  154. break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement