Exemplo n.º 1
0
    def post(self):
        show = Show()
        # show.key=ndb.Key('Show', int(request.form['id']))
        show.event_id = ndb.Key('Event', int(request.form['event_id']))
        show.client_id = ndb.Key('Client', int(request.form['client_id']))
        show.screen_id = ndb.Key('Screen_Layout', int(request.form['screen_id']))
        show.name = request.form['name']
        show.datetime = datetime.datetime.now()
        screen = ndb.Key('Screen_Layout', int(request.form['screen_id']))
        seats = screen.get().seats
        print type(seats)
        updated_seats = {}
        for each in seats:
            updated_seats[str(each['row'])+'-'+str(each['column'])]= {'status':4}
        show.seats = updated_seats
        res = show.put()

        # The below paragraph should be deleted later
        offset_id = 21
        prices = []
        print show.screen_id
        categories = Category.query(Category.screen_id == show.screen_id).fetch()
        for category in categories:
            price1 = Price(id=show.key.id() + offset_id, show_id=show.key, category_id=category.key, amount=500)
            offset_id += 1
            prices.append(price1)
        print "###"
        print prices
        for price in prices:
            price.put()

        # The above paragraph should be deleted later

        return jsonify({'id': res.id(), 'message': "Success"})
Exemplo n.º 2
0
def create_show_submission():
    error = False
    try:
        artits_id = request.form.get('artist_id')
        venue_id = request.form.get('venue_id')
        start_time = request.form.get('start_time')
        show = Show()
        show.artist_id = artits_id
        show.venue_id = venue_id
        show.start_time = datetime.strptime(start_time, "%Y-%m-%d %H:%M:%S")
        db.session.add(show)
        db.session.commit()
    except:
        error = True
        db.session.rollback()
    finally:
        db.session.close()
    # called to create new shows in the db, upon submitting new show listing form
    # TODO: insert form data as a new Show record in the db, instead

    # on successful db insert, flash success
    if error == False:
        flash('Show was successfully listed!')
    else:
        flash('Show was failed listed!')
    # TODO: on unsuccessful db insert, flash an error instead.
    # e.g., flash('An error occurred. Show could not be listed.')
    # see: http://flask.pocoo.org/docs/1.0/patterns/flashing/
    return render_template('pages/home.html')
Exemplo n.º 3
0
def create_shows():
    show1 = Show(id=1, event_id=ndb.Key(Event, 1), client_id=ndb.Key(Client, 12345),
                 screen_id=ndb.Key(Screen_Layout, 1),
                 datetime=datetime.strptime("2018-09-24 12:00:00.0", '%Y-%m-%d %H:%M:%S.%f'),
                 seats={'1-1': {'status': 4}, '1-2': {'status': 4}, '2-1': {'status': 4}, '2-2': {'status': 4}})
    show2 = Show(id=2, event_id=ndb.Key(Event, 2), client_id=ndb.Key(Client, 12345),
                 screen_id=ndb.Key(Screen_Layout, 2),
                 datetime=datetime.strptime("2018-09-20 12:00:00.0", '%Y-%m-%d %H:%M:%S.%f'),
                 seats={'1-1': {'status': 4}, '1-2': {'status': 4}, '2-1': {'status': 4}, '2-2': {'status': 4}})

    show3 = Show(id=3, event_id=ndb.Key(Event, 4), client_id=ndb.Key(Client, 123456),
                 screen_id=ndb.Key(Screen_Layout, 3),
                 datetime=datetime.strptime("2018-09-20 12:00:00.0", '%Y-%m-%d %H:%M:%S.%f'),
                 seats={'1-1': {'status': 4}, '1-2': {'status': 4}, '2-1': {'status': 4}, '2-2': {'status': 4}})
    show4 = Show(id=4, event_id=ndb.Key(Event, 3), client_id=ndb.Key(Client, 123456),
                 screen_id=ndb.Key(Screen_Layout, 4),
                 datetime=datetime.strptime("2018-09-20 12:00:00.0", '%Y-%m-%d %H:%M:%S.%f'),
                 seats={'1-1': {'status': 4}, '1-2': {'status': 4}, '2-1': {'status': 4}, '2-2': {'status': 4}})
    ndb.put_multi([show1, show2, show3, show4])
Exemplo n.º 4
0
 def get_titles_test(self, name):
     try:
         try:
             optimized = Show().getShows(MockService().getData())
             #self.post_to_db(optimized)
         except Exception as ex:
             self.logger.error(
                 "DB service couldn't able to process this result.", ex)
         return optimized
     except Exception as ex:
         self.logger.error("Unable to get results", ex)
         return {}
Exemplo n.º 5
0
 def create_show(self, *args, **kwargs):
     """Create show for organizer"""
     args[0]["organizer_id"] = self.id
     show = Show()
     for key, value in args[0].items():
         setattr(show, key, value)
     try:
         show.save()
         return show
     except exc.IntegrityError as e:
         print("show")
         errorInfo = e.orig.args
         print(errorInfo[0])  # This will give you error code
         print(errorInfo[1])  # This will give you error message
Exemplo n.º 6
0
def populate_db():
    if app.config["POPULATE_DB"]:
        for artist in ARTISTS:
            db.session.add(Artist(**artist))

        for show in SHOWS:
            db.session.add(Show(**show))

        for venue in VENUES:
            db.session.add(Venue(**venue))

        try:
            db.session.commit()
        except exc.SQLAlchemyError:
            db.session.rollback()
            print(sys.exc_info())
        finally:
            db.session.close()
Exemplo n.º 7
0
def create_show_submission():
    try:
        show = Show()
        show.artist_id = request.form.get('artist_id')
        show.venue_id = request.form.get('venue_id')
        show.start_time = request.form.get('start_time')

        db.session.add(show)
        db.session.commit()
        flash('Show was successfully created!')
    except:
        print(sys.exc_info())
        db.session.rollback()
        flash('An error occurred. Show could not be created.')
    finally:
        db.session.close()

    return render_template('pages/home.html')
Exemplo n.º 8
0
 def get_titles(self, name):
     try:
         feed_headers = {'x-rapidapi-key': config.FeedKey}
         response = requests.get(config.Feed.format(name),
                                 verify="certificates/feed.cer",
                                 headers=feed_headers)
         headers = {
             'Content-type': 'application/json',
             'Accept': 'text/plain',
         }
         optimized = Show().getShows(response.json())
         db_thread = threading.Thread(target=self.post_to_db,
                                      args=[optimized])
         db_thread.daemon = True
         db_thread.start()
         return optimized
     except Exception as ex:
         self.logger.error("Unable to get results", ex)
         return {}
Exemplo n.º 9
0
    def post(self):
        # Got client ID from environ
        user_id = request.environ['USER_ID']
        client_id = user_id.get().detail_id

        show = Show()
        show.event_id = ndb.Key('Event', int(request.json['event_id']))
        show.client_id = client_id  # Fetched from the environ values.
        show.screen_id = ndb.Key('Screen_Layout',
                                 int(request.json['screen_id']))
        show.datetime = datetime.strptime(request.json['datetime'],
                                          "%d-%m-%Y %H:%M")
        screen = ndb.Key('Screen_Layout', int(request.json['screen_id']))
        seats = screen.get().seats
        updated_seats = {}
        for each in seats:
            updated_seats[str(each['row']) + '-' + str(each['column'])] = {
                'status': 4
            }
        show.seats = updated_seats

        categories_price = request.json['category-price']
        res = show.put()

        # Creating a price for each request
        try:
            for each in categories_price:
                price = Price(show_id=res,
                              category_id=ndb.Key('Category',
                                                  int(each['category'])),
                              amount=int(each['price']))
                print '########'
                print type(price.category_id.id())
                price.put()

        except:
            return jsonify({"code": 500, "message": "server error"})

        return jsonify({"code": 200, "id": res.id(), "message": "Success"})
Exemplo n.º 10
0
from models import storage
from models.city import City
from models.venue import Venue
from models.show import Show
from models.artist import Artist
from models.organizer import Organizer
#Create city
organizer = Organizer
city = City(city_name='Cali', country_name="Colombia")
city.save()

#create venue
venue = Venue(city_id=city.id,
              venue_name="Asilo",
              email="*****@*****.**",
              address="Calle del cartucho",
              capacity=150)
venue.save()
#create show
show = Show(venue_id=venue.id, price_tikets=25000)
#Create artist
artist = Artist(artist_name="Ponkeys",
                genre_artist="Funk",
                email="*****@*****.**")
artist.save()
print(venue)
print(show)
print(artist)
print(show.org_id)
Exemplo n.º 11
0
def seed_db():
    genre_objs = [Genre(name=genre) for genre in genres]
    artist_objs = [Artist(**artist) for artist in artists]
    venue_objs = [Venue(**venue) for venue in venues]

    try:
        db.session.add_all(genre_objs)
        db.session.add_all(artist_objs)
        db.session.add_all(venue_objs)
        db.session.commit()

        # genre ids
        genre_ids = {}
        for genre in genre_objs:
            genre_ids.update({genre.name: genre.id})

        # artist ids
        artist1_id = artist_objs[0].id
        artist2_id = artist_objs[1].id
        artist3_id = artist_objs[2].id

        # venue ids
        venue1_id = venue_objs[0].id
        venue2_id = venue_objs[1].id
        venue3_id = venue_objs[2].id

        # add artist genres
        artists_genres = [
            ArtistGenre(artist_id=artist1_id, genre_id=genre_ids["Rock n Roll"]),
            ArtistGenre(artist_id=artist2_id, genre_id=genre_ids["Jazz"]),
            ArtistGenre(artist_id=artist3_id, genre_id=genre_ids["Jazz"]),
            ArtistGenre(artist_id=artist3_id, genre_id=genre_ids["Classical"])
        ]
        db.session.add_all(artists_genres)

        # add venue genres
        venues_genres = [
            VenueGenre(venue_id=venue1_id, genre_id=genre_ids["Jazz"]),
            VenueGenre(venue_id=venue1_id, genre_id=genre_ids["Reggae"]),
            VenueGenre(venue_id=venue1_id, genre_id=genre_ids["Swing"]),
            VenueGenre(venue_id=venue1_id, genre_id=genre_ids["Classical"]),
            VenueGenre(venue_id=venue1_id, genre_id=genre_ids["Folk"]),

            VenueGenre(venue_id=venue2_id, genre_id=genre_ids["Classical"]),
            VenueGenre(venue_id=venue2_id, genre_id=genre_ids["R&B"]),
            VenueGenre(venue_id=venue2_id, genre_id=genre_ids["Hip-Hop"]),

            VenueGenre(venue_id=venue3_id, genre_id=genre_ids["Rock n Roll"]),
            VenueGenre(venue_id=venue3_id, genre_id=genre_ids["Jazz"]),
            VenueGenre(venue_id=venue3_id, genre_id=genre_ids["Classical"]),
            VenueGenre(venue_id=venue3_id, genre_id=genre_ids["Folk"]),
        ]
        db.session.add_all(venues_genres)

        # add shows

        shows = [
            {'artist_id': artist1_id, 'venue_id': venue3_id,
             'start_time': '2019-06-15T23:00:00.000Z'},
            {'artist_id': artist3_id, 'venue_id': venue3_id,
             'start_time': '2035-04-01T20:00:00.000Z'},
            {'artist_id': artist3_id, 'venue_id': venue3_id,
             'start_time': '2035-04-08T20:00:00.000Z'},
            {'artist_id': artist3_id, 'venue_id': venue3_id,
             'start_time': '2035-04-15T20:00:00.000Z'},
            {'venue_id': venue1_id, 'artist_id': artist1_id,
             'start_time': '2019-05-21T21:30:00.000Z'},
            {'venue_id': venue3_id, 'artist_id': artist2_id,
             'start_time': '2019-06-15T23:00:00.000Z'},
            {'venue_id': venue3_id, 'artist_id': artist3_id,
             'start_time': '2035-04-01T20:00:00.000Z'},
            {'venue_id': venue3_id, 'artist_id': artist3_id,
             'start_time': '2035-04-08T20:00:00.000Z'},
            {'venue_id': venue3_id, 'artist_id': artist3_id,
             'start_time': '2035-04-15T20:00:00.000Z'},
        ]
        show_objs = [Show(**show) for show in shows]
        db.session.add_all(show_objs)
        db.session.commit()

    except:
        db.session.rollback()
        print(sys.exc_info())
    finally:
        db.session.close()
Exemplo n.º 12
0
from models.venue import Venue

engine = create_engine("sqlite:///concerts.db")
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()

# Users
person1 = User(name="John Doe")
person2 = User(name="Frank Stallone")
person3 = User(name="Grace Kelly")
session.add_all([person1, person2, person3])

# Shows
phirst_show = date(2003, 11, 28)
phish_11_28_03 = Show(date=phirst_show)

ph_1995 = date(1995, 12, 31)
phish_12_31_95 = Show(date=ph_1995)

cornell_77 = date(1977, 5, 8)
dead_5_8_77 = Show(date=cornell_77)

sunshine_daydream = date(1972, 8, 27)
dead_venetta = Show(date=sunshine_daydream)

dead_msg = date(1979, 1, 7)
dead_1_7_79 = Show(date=dead_msg)

# Bands
phish = Band(name='Phish')