Exemplo n.º 1
0
def menu_options(option):
    if option == 1:
        db_functions.connect()
        db_functions.list_users()
        menu()

    elif option == 2:
        db_functions.connect()
        db_functions.add_user()
        menu()

    elif option == 3:
        db_functions.connect()
        db_functions.edit_user()
        menu()

    elif option == 4:
        db_functions.connect()
        db_functions.delete_user()
        menu()

    elif option == 5:
        sys.exit('Bye.')

    else:
        print(str(option) + " is not a valid option. Please try again.")
        menu()
Exemplo n.º 2
0
def delete_irrelevant_requests():
    """Функция, которая удаляет неактуальные заявки и информирует от этом.
       Запускается сервером в конце рабочего дня"""

    import telebot
    import passwords
    bot = telebot.TeleBot(passwords.key)
    from db_functions import connect
    try:
        db = connect()
        for instance in db.posts.find({}):
            bot.send_message(instance['message_chat_id'], "🌃 Увы, сегодня вам не нашлось пары 🌃\n"
                                                          "🌅 Отправь новую заявку на завтра прямо сейчас! 🌅\n"
                                                          "(👉 /start)")
            db.posts.delete_one(instance)
    except Exception as ex:
        import logging
        logging.error("Ошибка удаления:" + str(ex))
Exemplo n.º 3
0
"""
Nose tests for db_functions.py
"""

import db_functions, flask_main, uuid, arrow

col = db_functions.connect()  # db collection


def test_create_remove():
    """
    Make sure memos are properly added and removed from the database
    """
    uid = uuid.uuid4()
    assert col.find({'_id': uid}).count() == 0

    db_functions.create('memo text', '2017-01-01', uid)
    assert col.find({'_id': uid}).count() == 1

    db_functions.remove(uid)
    assert col.find({'_id': uid}).count() == 0


def test_get():
    """
    Make sure memos are returned in chronological order
    """
    memo_list = db_functions.get_memos()
    for i in range(0, len(memo_list)):
        if i != (len(memo_list) - 1):
            assert memo_list[i]['date'] < memo_list[i + 1]['date']
Exemplo n.º 4
0
          'summary': 'test-user2 first test event',
          'start': 'start datetime',
          'end': 'end datetime'
        },
        {
          'event_id': 'user2event2',
          'summary': 'test-user2 second test event',
          'start': 'start datetime',
          'end': 'end datetime'
        },
      ]
    },
  ]
}

c = db.connect() # db collection

##
# helper functions
##
def clean():
    c.remove({ '_id': meeting_id })

def insert_full_meeting():
    clean()
    c.insert(full_test_meeting)

def insert_empty_meeting():
    clean()
    c.insert(empty_test_meeting)
Exemplo n.º 5
0
import uuid

# Date handling
import arrow

###
# Globals
###
import CONFIG
app = flask.Flask(__name__)
app.secret_key = CONFIG.secret_key

###
# Initialize database connection
###
db_functions.connect()

###
# Pages
###
@app.route("/")
@app.route("/index")
def index():
    g.memos = db_functions.get_memos()
    return flask.render_template('index.html')

@app.route("/create")
def create():
    return flask.render_template('create.html')

###
Exemplo n.º 6
0
# Date handling
import arrow  # Replacement for datetime, based on moment.js
# import datetime # But we still need time
from dateutil import tz  # For interpreting local times

# OAuth2  - Google library implementation for convenience
from oauth2client import client
import httplib2  # used in oauth2 flow

# Google API for services
from apiclient import discovery

# Database interaction
import db_functions
db_functions.connect()  # initialize db connection

###
# Globals
###
import CONFIG
import secrets.admin_secrets  # Per-machine secrets
import secrets.client_secrets  # Per-application secrets

app = flask.Flask(__name__)
app.debug = CONFIG.DEBUG
app.logger.setLevel(logging.DEBUG)
app.secret_key = CONFIG.secret_key

SCOPES = 'https://www.googleapis.com/auth/calendar.readonly'
CLIENT_SECRET_FILE = secrets.admin_secrets.google_key_file