def registerHouse(): get_lang(request) #generate form data form = RegisterForm(request.form) if request.method == 'POST': #store form data address = form.address.data city = form.city.data state = form.state.data zip = form.zip.data #generate lat/long from address results = Geocoder.geocode(address) result = results[0].coordinates lat = result[0] long = result[1] #create new db session sess = Session() #get user id for database relations account_id = session['id'] #create new home: A new home is identified by street. city, zip, state, lat/long new_home = Home(account_id=account_id, street_address=address, city=city, state=state, zip_code=zip, latitude=lat, longitude=long) #Does the address already exist match = sess.query(Home.street_address)\ .filter(Home.street_address==address)\ .all() #If the address is unique the home is added if not match: print(f'Added: {new_home}') #add entry to database for home sess.add(new_home) #save changes sess.commit() #the address is not unique else: #error message flash("Address already registered") #return to registration page return render_template('registerHouse.html', form=form) #close connection sess.close() return redirect(url_for('dashboard')) return render_template('registerHouse.html', form=form)
def wrapper(bot, update, *args, **kwargs): s = Session() if not Chat.q.get(update.message.chat.id): chat = Chat(id=update.message.chat.id, is_private=update.message.chat.type == 'private') s.add(chat) s.commit() chat = Chat.q.get(update.message.chat.id) # type: Chat return fn(bot, update, *args, chat, **kwargs)
def create_book(**data): try: sess = Session() book = Book(name=data['name'], author=data['author'], description=data['description']) sess.add(book) sess.commit() result = True except Exception: result = False return result
def post_new_class(new_class_name): session = Session() new_class_obj = ClassName(class_name=new_class_name) session.add(new_class_obj) session.commit() archives = session.query(Archive).filter_by(class_id=new_class_obj.id) [session.delete(archive) for archive in archives] session.commit() session.close() response = create_schedules_data() return response
def save_news(self, news): session = Session() q = session.query(News) for n in news: published = n['published_parsed'] date = datetime.date(published[0], published[1], published[2]) link = n['link'] title = n['title'] existing_news = q.filter(News.link == link).all() if not existing_news: news = News(date=date, title=title, summary=n['summary'], link=link) session.add(news) session.commit()
def create_user(**data): try: # password = sha512(data['passwd'].encode('utf-8')).hexdigest() password = data['passwd'] sess = Session() user = User(name=data['name'], password=password, active=True, role=data['role']) sess.add(user) sess.commit() user_id = user.id result = True except Exception: user_id = None result = False return result, user_id
def main(): # create a new session before executing inserts session = Session() # days grab in 24 hour chunks for day in range(1, 32): # get weather for month of march march = datetime(2018, 3, day).timestamp() # print(march) lat = 33.699657 lon = -86.635033 weather = get_weather(march, lat, lon) weather = filter_weather(weather) # print(weather) # select on lat, lon, time # make a new Forecast for w in weather: # print(**w) new_forecast = Forecast(latitude=lat, longitude=lon, **w) # match on lat, lon, time match = session.query(Forecast)\ .filter(Forecast.latitude==lat)\ .filter(Forecast.longitude==lon)\ .filter(Forecast.time==w['time'])\ .all() # if there were no matching records, insert if not match: print(f'Added: {new_forecast}') session.add(new_forecast) # save changes session.commit() print('DONE')
def ramp_up(): _s = Session() for t in ['большое спасибо', 'большой рахмет']: t = ThanksADay(text=t) _s.add(t) for id, rate in [(398, 1), (643, 5), (840, 360)]: e = Exchange(id=id, rate=rate) _s.add(e) a = DonateAuthor(name='Неизвестный Человек') # он должен быть #1 _s.add(a) _s.commit() _s.close()