Пример #1
0
from DatabaseHandler import DatabaseHandler as db

filmIDDatabase = db.loadDatabase('idDatabase.csv')
db.generateFilmInfoDatabase(filmIDDatabase, 'infoDatabase.csv')
Пример #2
0
def run():
	if len(sys.argv) < 3:
		printUsage()

	command = sys.argv[1]
	inputFilePath = sys.argv[2]

	if not os.path.isfile(inputFilePath):
		print(inputFilePath, 'could not be found.')
		sys.exit(1)

	with open(inputFilePath) as json_file:
		data = json.load(json_file)
		filmIdDatabasePath = data['filmIdDatabase']
		filmInfoDatabasePath = data['filmInfoDatabase']
		likedFilmsPath = data['likedFilms']
		dislikedFilmsPath = data['dislikedFilms']
		outputFilePath = data['outputFile']
		maxCount = int(data['count'])

	fileNotFound = False

	if command == 'updateIdDatabase' and not os.path.isfile(filmIdDatabasePath):
		fileNotFound = True
		print(filmIdDatabasePath, 'could not be found.')

	if (command == 'suggestFilms' or command == 'printSuggestions') and not os.path.isfile(filmInfoDatabasePath):
		fileNotFound = True
		print(filmInfoDatabasePath, 'could not be found.')

	if command == 'suggestFilms' and not os.path.isfile(likedFilmsPath):
		fileNotFound = True
		print(likedFilmsPath, 'could not be found.')

	# I may use films that are disliked by the user in the future to make suggestions
	# if not os.path.isfile(dislikedFilmsPath):
	# 	fileNotFound = True
	# 	print(dislikedFilmsPath, 'could not be found.')

	if command == 'printSuggestions' and not os.path.isfile(outputFilePath):
		fileNotFound = True
		print(outputFilePath, 'could not be found.')

	if fileNotFound:
		sys.exit(1)

	# Check the user parameters

	if command == 'suggestFilms':
		print('Making suggestions, please wait. This should only take a couple seconds.')
		suggestedFilms = ms.getTopSuggestedFilms(likedFilmsPath, filmInfoDatabasePath, maxCount)
		db.saveDatabase(suggestedFilms, outputFilePath)
		print('Done! Suggestions were saved to ' + outputFilePath + '.')
	elif command == 'updateIdDatabase':
		db.generateFilmDatabase(filmIdDatabasePath)
	elif command == 'updateInfoDatabase':
		filmIdDatabase = db.loadDatabase(filmIdDatabasePath)
		db.generateFilmInfoDatabase(filmIdDatabase, filmInfoDatabasePath)
	elif command == 'printSuggestions':
		printSuggestions(outputFilePath, filmInfoDatabasePath)
	else:
		printUsage()