def finalize(): service = get_gcal_service(valid_credentials()) db = DataAccessLayer() busy = db.retrieve_database_items(flask.session['meetingid']) theEvents = [] for item in busy: start = arrow.get(item["start"]) end = arrow.get(item["end"]) theEvents.append(timeblock.TimeBlock(start, end)) date_range_start = arrow.get(flask.session['begin_date'][:10] + "T" + flask.session['start_time']).replace( tzinfo=tz.tzlocal()) date_range_end = arrow.get(flask.session['end_date'][:10] + "T" + flask.session['end_time']).replace( tzinfo=tz.tzlocal()) freeTimes = calcf.freetimes(theEvents, date_range_start, date_range_end) flask.flash("free times so far") for f in freeTimes: flask.flash(f["date"] + " start: " + str(f["index"]) + " " + "duration : " + str(f["duration"])) # create database object return render_template('free.html')
def existing(): """ This page is used when there is already an existing meeting and a person wants to look up their busy times and add them to find the available free times """ flask.session['meetingid'] = request.form.get("meetingid") db = DataAccessLayer() busy = db.retrieve_database_items(flask.session['meetingid']) if len(busy) == 0: return render_template('main.html') else: return render_template('index.html')
def selectcalendar(): e = [] service = get_gcal_service(valid_credentials()) calendarids = request.form.getlist("selected_cal") flask.session["calendarids"] = calendarids e = calcb.getbusy(service, calendarids, flask.session['begin_date'], flask.session['end_date']) flask.flash("Busy Times") for ev in e: flask.flash(str(ev.start)) db = DataAccessLayer() for ev in e: db.insert_busy_times(ev, flask.session['meetingid']) flask.flash( "If everything looks correct, hit the finalize button to set the meeting and invite others" ) return flask.redirect(flask.url_for("choose"))
backend_host = os.environ.get("BACKEND_NAME", "localhost") db_conn_str = os.environ.get("DB_CONN_STR", "postgresql+psycopg2://postgres@localhost:5433") broker_str = "pyamqp://guest@{}:5672".format(broker_host) # TODO: move to env var sentry_dsn = ("https://*****:*****@sentry.io/151954") if backend_host: backend_str = "redis://{}:6379".format(backend_host) else: backend_str = "rpc://" print("DB_STR: ", db_conn_str) print("BROKER: ", broker_str) print("BACKEND: ", backend_str) dal = DataAccessLayer(db_conn_str) dal.connect() # dal.erase_database() admin = flask_admin.Admin() admin.init_app(app) admin.add_view(ModelView(m.Search, dal.ScopedSession)) admin.add_view(ModelView(m.SearchResult, dal.ScopedSession)) @app.before_request def before_request() -> None: g.db = dal.ScopedSession() @app.teardown_request def teardown_request(r):
def get_users(): hour = datetime.now().hour + 1 week_day = datetime.now().weekday() dal = DataAccessLayer() return dal.get_users(week_day=week_day, hour=hour, with_email=True)
from telegram_bot_response_wrapper import TelegramBotResponseWrapper __all__ = ['main'] logging.basicConfig( format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO) logger = logging.getLogger(__name__) # data_access_layer = None lichess = LichessAPI() config = ConfigSettings() dal = DataAccessLayer(database=config.db_name, login=config.db_login, password=config.db_password, address=config.db_address, port=config.db_port) core = Core(dal) def start(bot, update): core.create_user(update) update.message.reply_text( 'You added in bot database. Send /help for see avalible commands') def set_nickname_lichess(bot, update): wrapper = TelegramBotResponseWrapper(update) args = wrapper.get_command_args()
email = input('email: ') if not email: email = None phone_number = input('phone number: ') if not phone_number: phone_number = None city = input('city: ') days = [ 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday' ] days_number = 0 print('\nPick days: ') for i, day in enumerate(days): pick = input(f'{day} (y/n): ').lower() days_number += 2**i if pick == 'y' or pick == 'yes' else 0 hour = input('\nhour (0-23): ') try: if int(hour) < 0 or int(hour) > 23: raise ValueError except: hour = "7" dal = DataAccessLayer() if dal.save_user(User(name, days_number, hour, city, phone_number, email)): print(f"The user '{name}' has been added to the database") else: print(f"ERROR - Something went wrong")