Exemple #1
0
def update_counter(count_type):
    counter = model.Counter.query().get()

    if count_type == "registration":
        if not counter:
            counter = model.Counter(registrations=1)
            counter.put()
        else:
            counter.registrations += 1
            counter.put()

    if count_type == "download":
        if not counter:
            counter = model.Counter(podcast_downloads=1)
            counter.put()
        else:
            counter.podcast_downloads += 1
            counter.put()

    if count_type == "play":
        if not counter:
            counter = model.Counter(podcast_plays=1)
            counter.put()
        else:
            counter.podcast_plays += 1
            counter.put()
Exemple #2
0
 def test_get(self):
     db.put([
         model.Counter(
             scan_name='Person', repo='haiti', last_key='', count_all=278),
         model.Counter(
             scan_name='Person', repo='pakistan', last_key='',
             count_all=127),
         model.Counter(
             scan_name='Note', repo='haiti', last_key='', count_all=12),
         model.Counter(
             scan_name='Note', repo='pakistan', last_key='', count_all=8)
     ])
     resp = self.client.get('/global/admin/dashboard')
     self.assertEqual(resp.status_code, 200)
Exemple #3
0
    def post(self):
        name = self.request.get('name', '')
        comment = self.request.get('comment', '')

        try:
            message = model.Message(name=name, comment=comment)
            message.put()
            
            counter = model.Counter.get_by_key_name('message')
            if counter is None:
                counter = model.Counter(key_name='message')
            counter.value = counter.value + 1
            counter.put()
            if memcache.get('total_msgs'):
                memcache.incr('total_msgs')
            else:
                total_msgs = counter.value
                memcache.set('total_msgs', total_msgs)

            total_pages = counter.value / MSGS_PER_PAGE
            if counter.value % MSGS_PER_PAGE:
                total_pages += 1
            
            if memcache.get('msgs_%d' % total_pages):
                memcache.delete('msgs_%d' % total_pages)
            
            self.redirect('/')
        except BadValueError:
            self.response.out.write('You have not filled the name or comment field. <a href="/">Back &raquo;</a>')
Exemple #4
0
 def test_repo_with_count(self):
     self.data_generator.repo(repo_id='haiti')
     self.data_generator.setup_repo_config(repo_id='haiti')
     counter = model.Counter(repo='haiti', scan_name='person')
     counter.count_all = 180
     counter.put()
     resp = self.client.get('/haiti/d/repo', secure=True)
     self.assertEqual(
         {
             'repoId': 'haiti',
             'title': 'Haiti',
             'recordCount': 200,
         }, resp.json())
Exemple #5
0
def Survey_result(Survey_name):
    ct = model.Counter()
    ct2 = model.Counter()
    sp = model.Surveys_Pool()
    s = model.Survey()
    s.Name = Survey_name
    if s.exist() == False:
        return render_template('Survey_result.html')
    s = sp.Get(Survey_name)
    '''
    if AUTHORITY_TEST("STAFF") == False:
        if s.to_public():
            pass
        else:
            return render_template("INVALID_AUTHORITY.html",a1 = current_user.authority,a2 = "STAFF")
    '''
    sc = model.Student_Course()
    rv = sc.Get(current_user.id, s.Course_Semester)
    if current_user.authority == "ADMIN":
        return render_template('Survey_result.html',
                               survey=s,
                               c=ct,
                               c2=ct2,
                               a1=current_user.authority)
    if rv == 1:
        return render_template('display_Survey.html',
                               text="You Are Not Enrolled in This Course!!!")
    if s.survey_open() == False and s.State != "NOT_REVIEWED":
        return render_template('Survey_result.html',
                               survey=s,
                               c=ct,
                               c2=ct2,
                               a1=current_user.authority)
    else:
        return render_template('display_Survey.html',
                               text="Survey result closed")
def get_agency_count():
    key = 'count.Agency'
    count = memcache.get(key)
    if count is not None:
        return int(count)
    count = model.Counter.all().filter('name=', "Agency").fetch(1)
    if not count:
        # one time shunt; breaks > x entries
        count = model.Agency.all().count()
        c = model.Counter()
        c.name = "Agency"
        c.count = count
        c.put()
    else:
        count = count[0].count
    memcache.set(key, str(count), 60 * 60 * 24 * 2)
    return count
Exemple #7
0
                def tx():
                    # 先取得Blog資料實體
                    blog = model.Blog.get_by_key_name('blog')
                    # 取得最新的文章index
                    counter = model.Counter.get_by_key_name('blog_index', 
                                                            parent=db.Key.from_path('Blog', 'blog'))
                    if counter is None:
                        counter = model.Counter(key_name='blog_index',
                                                parent=blog)
                    counter.count += 1
                    counter.put()

                    article = model.Article(key_name='article' + str(counter.count),
                                  parent=blog,
                                  blog=blog,
                                  title=title,
                                  content=db.Text(content),
                                  tags=striped_tags)
                    article.put()
Exemple #8
0
    def post(self):
        try:
            guser = users.get_current_user()
            user = model.User.gql('WHERE google_user = :1', guser).get()

            url = db.Link(self.request.get('url'))
            title = self.request.get('title')
            desc = db.Text(self.request.get('desc'))
            tags = self.request.get('tags').split(',')
            for i in range(len(tags)):
                tags[i] = tags[i].strip()
            private = self.request.get('private') == 'on'

            bookmark = model.Bookmark(parent=user,
                                      user=user,
                                      url=url,
                                      title=title,
                                      desc=desc,
                                      tags=tags,
                                      private=private)
            bookmark.put()

            counter = model.Counter.get_by_key_name('%s_bookmark_counter' %
                                                    guser,
                                                    parent=user)
            if counter is None:
                counter = model.Counter(key_name='%s_bookmark_counter' % guser,
                                        parent=user)
            counter.count += 1
            counter.put()

            latest = model.Stat.get_by_key_name('stat_latest')
            if latest is None:
                latest = model.Stat(key_name='stat_latest')
            latest.data = [bookmark.key()] + latest.data
            latest.put()

            self.redirect('/home')
        except Exception, ex:
            self.response.out.write(ex)