Skip to content
Snippets Groups Projects
Select Git revision
  • a74e807669bbe3a2995a87621b1ba75c1325517f
  • master default protected
2 results

index.js

Blame
  • main.py 1.79 KiB
    from __future__ import print_function
    
    from sys import stderr
    
    from sqlalchemy.exc import SQLAlchemyError
    from movies import MovieDatabase, Movie
    
    from kivy.app import App
    
    
    __app_package__ = 'edu.unl.cse.soft161.movies'
    __app__ = 'Movies'
    __version__ = '1.0'
    __flags__ = ['--bootstrap=sdl2', '--requirements=python2,kivy,sqlalchemy,mysql_connector', '--permission=INTERNET']
    
    
    class MoviesApp(App):
        def __init__(self, **kwargs):
            super(MoviesApp, self).__init__(**kwargs)
            url = MovieDatabase.construct_mysql_url('localhost', 3306, 'movies', 'root', 'cse')
            self.movie_database = MovieDatabase(url)
            self.session = self.movie_database.create_session()
    
        @staticmethod
        def _create_movie(session, title, budget, gross_revenue):
            movie = Movie(title=title, budget=budget, gross_revenue=gross_revenue)
            session.add(movie)
            session.commit()
    
        def create_movie(self, title, budget, gross_revenue):
            try:
                budget = int(budget) * 1000000
                gross_revenue = int(gross_revenue) * 1000000
            except ValueError as exception:
                self.root.ids.message.text = 'Formatting error: {exception}'.format(exception=exception)
                return
            try:
                self._create_movie(self.session, title, budget, gross_revenue)
                self.root.ids.message.text = 'Movie added!'
            except SQLAlchemyError as exception:
                self.session.rollback()
                self.root.ids.message.text = 'Database error: {exception}'.format(exception=exception)
    
    
    if __name__ == "__main__":
        try:
            app = MoviesApp()
            app.run()
        except SQLAlchemyError as exception:
            print('Initial database connection failed!', file=stderr)
            print('Cause: {exception}'.format(exception=exception), file=stderr)
            exit(1)