def get(self): username = self.request.get("username") ctx = {} if username: # get user from database user = Redditor.get_by_key_name(username) if not user: # create new user from Reddit API data user = Redditor(key_name=username, username=username) data = Redditor.fetch_info(username)["data"] user.joined = datetime.fromtimestamp(data["created"]) user.link_karma = data["link_karma"] user.comment_karma = data["comment_karma"] # calculate shares user.shares = user.calculate_shares() user.put() # update total counters generalcounter.increment("total_shares", user.shares) generalcounter.increment("total_users", 1) ctx['user'] = user ctx['total_shares'] = generalcounter.get_count("total_shares") ctx['total_users'] = generalcounter.get_count("total_users") ctx['share_worth'] = settings.TOTAL_COINS * 1.0 / ctx['total_shares'] ctx['initial_capital'] = ctx['share_worth'] * user.shares ctx['settings'] = settings self.response.out.write(template.render("calc.html", ctx))
def create(self, appUser, name, tags=None): generalcounter.increment(PAGE_CREATED_COUNTER) p = models.create_page(appUser, name, getNewPageTemplate(name), tags) #json = createPageJson(p) json = {} json['edit'] = 'http://' + os.environ['HTTP_HOST'] + '/a/edit/' + str( p.key() ) self.response.out.write(simplejson.dumps(json))
def post(self): counter = self.request.get('counter') if counter == 'simple': simplecounter.increment() else: generalcounter.increment('FOO') self.redirect("/")
def get_or_create_page(bucket, url, href, key=None): if key: return Page.get(key) else: page = Page(ip=cgi.os.environ['REMOTE_ADDR'], owner=bucket, url=url, href=href) page.put() generalcounter.increment('page') return page
def create(self, appUser, name, tags=None): generalcounter.increment(PAGE_CREATED_COUNTER) page = models.create_page(appUser, name, getNewPageTemplate(name), tags) page_id = page.key().id() logging.debug('created pageId: %s' % str(page_id)) #create test data #for i in range(1, 50): # name = name + str(i) # models.create_page(appUser, name, getNewPageTemplate(name), tags) page_key = str( page.key() ) set_user_last_page(page_key, appUser) logging.debug('set set_user_last_page: %s' % page_key) json = createPageJson(page) logging.debug('create page json') self.response.out.write(simplejson.dumps(json))
def create_or_update_sticky(page, content, key=None): sticky = None if key: sticky = Sticky.get(key) if sticky: sticky.ip=cgi.os.environ['REMOTE_ADDR'] sticky.content = content else: sticky = Sticky(ip=cgi.os.environ['REMOTE_ADDR'], owner = page, content = content) generalcounter.increment('sticky') if sticky: sticky.put() return sticky
def add(cls, title, content, summary = None, add_time = None): u = get_user() count = cls.count() if add_time is None: add_time = datetime.datetime.utcnow() p = cls(parent =u, offset = count+1, title = title, content = content, \ author = u, add_time = add_time) if summary: p.summary = summary u.post_count += 1 def txn(): p.put() u.put() db.run_in_transaction(txn) generalcounter.increment('post')
def get_or_create_user(): """ Find a matching User or create a new one with the email as the key_name. Returns a User for the given goog_user. """ goog_user = users.get_current_user() if goog_user: user = User.get_by_key_name(goog_user.email()) if user is None: user = User(key_name=goog_user.email(), goog_user=goog_user) generalcounter.increment('user') user.put() bucket = Bucket(owner=user, name='Home') bucket.put() generalcounter.increment('bucket') return user return None
def _next_segment_name(self): #Returns the name of the next segment in sequence. generalcounter.increment("nextsegment") return str(generalcounter.get_count("nextsegment"))
def post(self): generalcounter.increment("FOO") self.redirect("/")