Exemple #1
0
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')
Exemple #2
0
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')
Exemple #3
0
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)
Exemple #6
0
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()
Exemple #7
0
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")