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"})
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')
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])
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 {}
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
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()
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')
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 {}
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"})
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)
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()
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')