Beispiel #1
0
    def post(self):
        if self.request.get('_put'):
            self.put()
            return

        name = self.request.get('name')
        email = self.request.get('email')
        push_token = self.request.get('token')
        device_type = self.request.get('type')

        if not push_token or not device_type:
            api.write_error(self.response, 400, 'Missing required parameter, token or type')
            return

        user = User(uuid=str(uuid.uuid4()), auth=str(uuid.uuid4()))
        if name:
            user.name = name
            update_gender(user)
        if email:
            user.devices.append(Device(device_type='EMAIL', data=email))
        user.devices.append(Device(device_type=device_type.upper(), data=push_token))
        user.put()
        update_user_cards(user)
        api.search.update_public_index(user)

        api.write_message(self.response, 'success',
                          extra={'users' : [get_user_json(user, public=False)]})
Beispiel #2
0
    def __init__(self, user_id):
        if user_id is None:
            self.user_object = User.get_by_id(user_id)
        else:
            if not isinstance(user_id, str):
                raise ValueError("UserID should be string")

            try:
                self.user_object = User.get_by_id(user_id)
                if self.user_object is None:
                    logging.warning("User not found, creating new user")
                    self.user_object = User(id=user_id)
                    self.user_object.put()

            except Exception as e:
                logging.error("Something wient wrong : {}".format(e))
                raise Exception

        self.userid = self.user_object.key.id()
    if weekly_avg_sleep and not math.isnan(weekly_avg_sleep):
        variables['weekly_average_sleep'] = str(weekly_avg_sleep)
    return variables


def get_card_type(card):
    tags = list(card.tags)
    if 'archived' in tags:
        tags.remove('archived')
    tags.sort()
    return ','.join(tags)


def get_card_week(card):
    week = None
    for tag in card.tags:
        if tag.startswith('week:'):
            try:
                return int(tag.split(':')[1])
            except:
                pass

    return week


if __name__ == '__main__':
    user = User()
    user.features.append(Pair(name='DUE_DATE_MILLIS', value=sys.argv[1]))
    for card in get_week_based_cards(user):
        print get_card_json(card)
Beispiel #4
0
MOCK_XSRF = MagicMock()
MOCK_XSRF.XSRFProtect = NoOpDecorator
sys.modules['xsrf'] = MOCK_XSRF

import user

FAKE_EMAIL = '*****@*****.**'
FAKE_NAME = 'fake name'
FAKE_PUBLIC_KEY = 'fakePublicKey'
FAKE_PRIVATE_KEY = 'fakePrivateKey'
FAKE_DS_KEY = 'urlEncodedKeyFromTheDatastore'
FAKE_USER_KEY = ndb.Key(User, hashlib.sha256(FAKE_EMAIL).hexdigest())
FAKE_USER = User(key=FAKE_USER_KEY,
                 email=FAKE_EMAIL,
                 name=FAKE_NAME,
                 public_key=FAKE_PUBLIC_KEY,
                 private_key=FAKE_PRIVATE_KEY,
                 is_key_revoked=False)
FAKE_USER_ARRAY = []
FAKE_EMAIL_1 = u'*****@*****.**'
FAKE_EMAIL_2 = u'*****@*****.**'
FAKE_ADD_USER = {}
FAKE_ADD_USER['primaryEmail'] = FAKE_EMAIL_1
FAKE_ADD_USER['name'] = {}
FAKE_ADD_USER['name']['fullName'] = FAKE_NAME
FAKE_ADD_USER['email'] = FAKE_EMAIL_1
FAKE_ADD_USER['role'] = 'MEMBER'
FAKE_ADD_USER['type'] = 'USER'
FAKE_USER_ARRAY.append(FAKE_ADD_USER)