def before_request(): g.db = fitbit_db.fitbit_db(app.config['DATABASE']) g.site_root = '' if 'X-Script-Name' in request.headers: g.site_root = request.headers['X-Script-Name'] g.host = 'localhost' if 'Host' in request.headers: g.host = request.headers['Host'] g.meta = {'root': g.site_root}
def before_request(): flask.g.db = fitbit_db.fitbit_db(app.config['DATABASE']) flask.g.host = flask.request.headers['Host'] or 'localhost' flask.g.site_root = '' if 'X-Script-Name' in flask.request.headers: flask.g.site_root = flask.request.headers['X-Script-Name'] flask.g.host = 'localhost' if 'Host' in flask.request.headers: flask.g.host = flask.request.headers['Host'] flask.g.meta = {'root': flask.g.site_root}
def update_user_meta (): while True: print("Fitbit Online Meta Update") db = fitbit_db.fitbit_db(app.config['DATABASE']) uffm = fitbit_manager.fitbit_manager( consumer_key=app.config['CONSUMER_KEY'], consumer_secret=app.config['CONSUMER_SECRET'], user_img_location=app.config['USER_IMG_LOCATION'], user_img_web_prefix=app.config['USER_IMG_WEB_PREFIX']) uffm.update_all_meta(db) db.close() # Sleep for an hour time.sleep(3600) # Sleep operates in seconds, not minutes
def update_fitbit (): while True: print("Fitbit Online Update") db = fitbit_db.fitbit_db(app.config['DATABASE']) uffm = fitbit_manager.fitbit_manager( consumer_key=app.config['CONSUMER_KEY'], consumer_secret=app.config['CONSUMER_SECRET'], user_img_location=app.config['USER_IMG_LOCATION'], user_img_web_prefix=app.config['USER_IMG_WEB_PREFIX']) uffm.update(db=db, number_of_days=7) minutes = 60.0 rate = math.ceil((minutes / app.config['REQUESTS_PER_HOUR']) * \ len(db.get_users())) rate += 1 # Reduce request rate as a safety margin db.close() print("Sleep Info. rate: {0}, current time: {1}".format(rate, datetime.datetime.now())) time.sleep(rate * 60) # Sleep operates in seconds, not minutes
# Sleep for an hour time.sleep(3600) # Sleep operates in seconds, not minutes parser = argparse.ArgumentParser() parser.add_argument('--no-update', action='store_true', help="Do not retrieve information from Fitbit") args = parser.parse_args() # Create objects that we need for the application app = flask.Flask(__name__) app.config.from_object('fl_config') db = fitbit_db.fitbit_db(app.config['DATABASE']) fm = fitbit_manager.fitbit_manager( consumer_key=app.config['CONSUMER_KEY'], consumer_secret=app.config['CONSUMER_SECRET'], user_img_location=app.config['USER_IMG_LOCATION'], user_img_web_prefix=app.config['USER_IMG_WEB_PREFIX']) fm.cache_images(db=db) # Check if the user does not want to update from Fitbit if not args.no_update: # Do an initial update to get a weeks worth of data at the least fm.update(db=db, number_of_days=7) fm.update_all_meta(db=db) fm.cache_images(db=db)
def update_fitbit (): while True: ufdb = fitbit_db.fitbit_db('fitbit.db') uffm = fitbit_manager.fitbit_manager(ufdb) uffm.update() time.sleep(5)
from threading import Timer import time from db import fitbit_db import fitbit_manager db = fitbit_db.fitbit_db('fitbit.db') fm = fitbit_manager.fitbit_manager(db) fm.update(7) fm.retrieve() def update_fitbit (): while True: ufdb = fitbit_db.fitbit_db('fitbit.db') uffm = fitbit_manager.fitbit_manager(ufdb) uffm.update() time.sleep(5) t = Timer(3, update_fitbit) t.start()