Пример #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)]})
Пример #2
0
def new_user(**kw):
    user = User(
            parent=User.parent_key(),
            name = kw['account'],
            img_key = '',
            chatclass = random.randrange(0,4),
            account = kw['account'],
            passward = hash_passward(kw['account'],kw['passward']),
            fbuser = False,
        )
    user.put()
    return user.key.id()
Пример #3
0
 def get(self, extID):
     user = users.get_current_user()
     if user:
         userEntry = User.gql("WHERE user = :1", user).get()
         if not userEntry:
             userEntry = User()
             userEntry.user = user
             userEntry.starred = []
         userEntry.starred.append(extID)
         userEntry.put()
     else:
         self.redirect(users.create_login_url(self.request.uri))
Пример #4
0
    def post(self):
        username = self.request.get('username')
        self.params['username'] = username
        password = self.request.get('password')
        verify = self.request.get('verify')
        email = self.request.get('email')
        self.params['email'] = email
        user = User.all()
        user.filter('username ='******'username_error'] = 'That is not a valid username'
        elif invalid_user:
            self.params['username_error'] = 'This name has been taken'
        else:
            self.params['username_error'] = ''

        if self.valid_password(password):
            self.params['password_error'] = ''
        else:
            self.params['password_error'] = 'That is not a valid password!'

        if verify == password:
            self.params['verify_error'] = ''
        else:
            self.params['verify_error'] = 'Your passwords did not match!'

        if self.valid_email(email):
            self.params['email_error'] = ''
        else:
            self.params['email_error'] = 'That is not a valid email!'

        if not invalid_user and self.valid_username(username) \
            and self.valid_password(password) and self.valid_email(email) \
            and verify == password:

            pwhash = au.make_pw_hash(username, password)
            new = User(username=username, password=pwhash, email=email)
            new.put()
            self.response.headers.add_header('Set-Cookie', 'user=%s; Path=/' % str(username))
            self.response.headers.add_header('Set-Cookie', 'pw=%s; Path=/' % str(pwhash))
            sleep(0.5)
            self.redirect('/blog/welcome')
        else:
            self.render('signup.html', **self.params)
Пример #5
0
def new_facebook_user(fb_cookie):
    graph = facebook.GraphAPI(fb_cookie["access_token"])
    profile = graph.get_object("me")
    user = User(
        parent=User.parent_key(),
        fbuser = True,
        fid = str(profile["id"]),
        name = profile["name"],
        img_key = '',
        profile_url = profile["link"],
        access_token = fb_cookie["access_token"]
    )
    user.put()
    return user
Пример #6
0
 def get(self, extID):
     user = users.get_current_user()
     if user:
         userEntry = User.gql("WHERE user = :1", user).get()
         if not userEntry:
             userEntry = User()
             userEntry.user = user
             userEntry.starred = []
         if extID in userEntry.starred:
             userEntry.starred.remove(extID)
         userEntry.put()
         self.redirect("/gallery/info/" + extID)
     else:
         self.redirect(users.create_login_url(self.request.uri))
Пример #7
0
  def get(self):
    # check if user is already in database
    rawRecipes = Recipe.query().fetch()
    recipes = []
    for rawRecipe in rawRecipes : 
      if rawRecipe.image :
        recipes.append({
          'name': rawRecipe.name, 
          'latlng': str(rawRecipe.location), 
          'location': rawRecipe.location_name, 
          'cooktime': rawRecipe.cooktime, 
          'image': '<div style="background-image: url(' + rawRecipe.imageUrl() + ')"></div>',
          'servings': rawRecipe.servings, 
          'ingredients': json.dumps(rawRecipe.ingredients),
          'recipeUrl' : rawRecipe.viewUrl()
        })
      else :
        recipes.append({
          'name': rawRecipe.name, 
          'latlng': str(rawRecipe.location), 
          'location': rawRecipe.location_name, 
          'cooktime': rawRecipe.cooktime, 
          'servings': rawRecipe.servings, 
          'ingredients': json.dumps(rawRecipe.ingredients),
          'recipeUrl' : rawRecipe.viewUrl()
        })    
    user = users.get_current_user()
    name = user.nickname()
    userID = user.user_id()
    dbUser = User.query().filter(User.user_id == userID).fetch(1)

    if UserInfo() : 
      name = dbUser[0].name
      template_values = { 'name': name }
      firstTime = False
    else :
      newUser = User(user_id=userID, name=name, savedRecipes=[''])
      newUser.put()
      name = user.nickname()
      firstTime = True

    template_values = { 'title': 'Homepage', 'recipes': json.dumps(recipes), 'header': GetHeader('homepage'), 'logout_url': users.create_logout_url('/'), 'first_time': firstTime }
    Homepage = jinja_environment.get_template('templates/homepage.html').render(template_values)
    self.response.write(Homepage)
Пример #8
0
class UserClass(object):
    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()

    def set_name(self, name):
        if not isinstance(name, str):
            raise TypeError
        self.user_object.name = name

    def set_date_of_birth(self, date_obj):
        if not isinstance(date_obj, datetime):
            raise TypeError

        self.user_object.date_of_birth = date_obj

    def set_per_month_salary(self, per_month_salary):
        if not isinstance(per_month_salary, int):
            raise TypeError

        self.user_object.per_month_salary = per_month_salary

    def set_per_month_rent(self, per_month_rent):
        if not isinstance(per_month_rent, int):
            raise TypeError

        self.user_object.per_month_rent = per_month_rent

    def set_per_month_investment(self, per_month_investment):
        if not isinstance(per_month_investment, int):
            raise TypeError

        self.user_object.per_month_investment = per_month_investment

    def set_per_month_expenses(self, per_month_expenses):
        if not isinstance(per_month_expenses, int):
            raise TypeError

        self.user_object.per_month_expenses = per_month_expenses

    def set_no_of_dependents(self, no_of_dependents):
        if not isinstance(no_of_dependents, int):
            raise TypeError

        self.user_object.no_of_dependents = no_of_dependents

    def set_only_earning_member(self, only_earning_member):
        if not isinstance(only_earning_member, int):
            raise TypeError

        self.user_object.only_earning_member = only_earning_member

    def save_data(self):
        self.user_object.put()

    def update_user(self, name, dob, salary, rent, expenses, dependents,
                    is_only_earning):
        self.set_name(name)
        self.set_date_of_birth(dob)
        self.set_per_month_salary(salary)
        self.set_per_month_rent(rent)
        self.set_per_month_expenses(expenses)
        self.set_no_of_dependents(dependents)
        self.set_only_earning_member(is_only_earning)

        self.save_data()