Exemple #1
0
    def get(self, aid):
        #arts = Article.all()
        #arts.filter('__key__ =',db.Key(aid))
        art = Article.get_by_key_name(aid.strip())  #arts.get()
        usr = users.get_current_user()
        if (not art) or (art.author != usr):
            self.redirect('/')

        if art:
            art.keyname = art.key().name()
            videos = art.video_set
            videos.order('postdate')
            vds = []
            for v in videos:
                v.keyname = v.key().name()
                v.cbk = v.cblock_set.count()
                vds.append(v)
            tmpvars = {
                'art': art,
                'title': unicode('添加视频 - ', 'utf-8') + art.title,
                'vds': vds
            }
            self.render('addvideo.html', tmpvars)
        else:
            self.redirect('/')
Exemple #2
0
 def post(self,articlekey=None):
   article = Article.get_by_key_name(unicode(articlekey).strip())
   if not article:
     self.redirect('/admin/error')
   title = unicode(self.request.get('title')).strip()
   abs = unicode(self.request.get('abs')).strip()
   tags = unicode(self.request.get('tags')).strip()
   classify = int(self.request.get('classify'))
   article.title = title;
   article.abs = abs;
   article.classify = classify;
   article.tags = tags.split();
   try:
     article.put()
   except:
     self.redirect('/admin/error/failtosavearticle')
     
   try:
     videostring = unicode(self.request.get('videolist')).strip()
     # logging.info('%r' % videostring)
     videos = read(videostring)
     # logging.info('%r' % videos)
     oldvideos = article.video_set.order('postdate')
     self.compareAndUpdate(article,videos,oldvideos)
   except:
     self.redirect('/admin/error/failtosavevideos')
   self.get(articlekey)
Exemple #3
0
    def post(self, articlekey=None):
        article = Article.get_by_key_name(unicode(articlekey).strip())
        if not article:
            self.redirect('/admin/error')
        title = unicode(self.request.get('title')).strip()
        abs = unicode(self.request.get('abs')).strip()
        tags = unicode(self.request.get('tags')).strip()
        classify = int(self.request.get('classify'))
        article.title = title
        article.abs = abs
        article.classify = classify
        article.tags = tags.split()
        try:
            article.put()
        except:
            self.redirect('/admin/error/failtosavearticle')

        try:
            videostring = unicode(self.request.get('videolist')).strip()
            # logging.info('%r' % videostring)
            videos = read(videostring)
            # logging.info('%r' % videos)
            oldvideos = article.video_set.order('postdate')
            self.compareAndUpdate(article, videos, oldvideos)
        except:
            self.redirect('/admin/error/failtosavevideos')
        self.get(articlekey)
Exemple #4
0
  def delete_article_by_key_name(keyname):
    a = Article.get_by_key_name(keyname)
    if a:
      videos = a.video_set
      for v in videos:
        MukioTools.delete_video_by_key_name(v.key().name())

      MukioTools.delete_chat_by_artkey_name(keyname)
      a.delete()
Exemple #5
0
    def get(self, artkeynamestr):
        art = Article.get_by_key_name(artkeynamestr.strip())
        if art:
            chats = art.chat_set
            chats.order('postdate')
            chatstr = ''
            for i in range(chats.count()):
                chatstr += self.renderchat(chats[i], str(i))

            self.render('chats.html', {'chatstr': chatstr, 'art': art})

        else:
            self.error(404)
Exemple #6
0
  def get(self,artkeynamestr):
    art = Article.get_by_key_name(artkeynamestr.strip())
    if art:
      chats = art.chat_set
      chats.order('postdate')
      chatstr = ''
      for i in range(chats.count()):
        chatstr += self.renderchat(chats[i],str(i))

      self.render('chats.html',{'chatstr':chatstr,'art':art})

    else:
      self.error(404)
Exemple #7
0
 def get(self,articlekey=None):
   article = Article.get_by_key_name(unicode(articlekey).strip())
   if not article:
     self.redirect('/admin/error')
   article.keyname = article.key().name()
   article.tagname = MukioTools.tagname(article.classify)
   article.postdate += timedelta(hours=+8)
   article.tagstring = ' '.join(article.tags)
   videos = article.video_set
   videos.order('postdate')
   def addkey(i):
     i.keyname = i.key().name()
     return i
   self.render('admin/article_edit.html',{'title':u'编辑主题','article':article,'videos':map(addkey,videos)})
Exemple #8
0
    def get(self, aid, prt):
        #artkey = aid.strip()#db.Key(str(aid).strip())
        #arts = Article.all()
        #arts.filter('__key__=',artkey)
        if prt == '':
            prt = 0
        else:
            prt = int(prt)

        art = Article.get_by_key_name(unicode(aid).strip())  #arts.get()
        if not art:
            self.redirect('/articles.php')

        else:
            art.clickstatis += 1
            art.put()
            art.keyname = art.key().name()
            art.tagname = MukioTools.tagname(art.classify)
            art.postdate += timedelta(hours=+8)

            videos = art.video_set
            if prt > videos.count():
                prt = 0

            videos.order('postdate')

            vdlinks = []
            if videos.count() > 1:
                for i in range(videos.count()):
                    vdlinks.append({
                        'n': i,
                        'ptitle': videos[i].parttitle,
                        'selected': i == prt
                    })

            vds = videos.fetch(1, prt)
            vd = None
            if len(vds):
                vd = vds[0]
                vd.keyname = vd.key().name()
            tmpvars = {
                'art': art,
                'video': vd,
                'title': art.title,
                'links': vdlinks,
                'part': prt,
                'host': self.request.headers['host']
            }
            self.render('videos.html', tmpvars)
Exemple #9
0
  def get(self,aid,prt):
    #artkey = aid.strip()#db.Key(str(aid).strip())
    #arts = Article.all()
    #arts.filter('__key__=',artkey)
    if prt == '':
      prt = 0
    else:
      prt = int(prt)

    art = Article.get_by_key_name(unicode(aid).strip())#arts.get()
    if not art:
      self.redirect('/articles.php')

    else:
      art.clickstatis += 1
      art.put()
      art.keyname = art.key().name()
      art.tagname = MukioTools.tagname(art.classify)
      art.postdate += timedelta(hours=+8)
      
      videos = art.video_set
      if prt > videos.count():
        prt = 0

      videos.order('postdate')

      vdlinks = []
      if videos.count() > 1:
        for i in range(videos.count()):
          vdlinks.append({'n':i,'ptitle':videos[i].parttitle,'selected':i == prt})

      vds = videos.fetch(1,prt)
      vd = None
      if len(vds):
        vd = vds[0]
        vd.keyname = vd.key().name()
      tmpvars = {
                'art':art,
                'video':vd,
                'title':art.title,
                'links':vdlinks,
                'part':prt,
                'host':self.request.headers['host']
                }
      self.render('videos.html',tmpvars)
Exemple #10
0
    def get(self, articlekey=None):
        article = Article.get_by_key_name(unicode(articlekey).strip())
        if not article:
            self.redirect('/admin/error')
        article.keyname = article.key().name()
        article.tagname = MukioTools.tagname(article.classify)
        article.postdate += timedelta(hours=+8)
        article.tagstring = ' '.join(article.tags)
        videos = article.video_set
        videos.order('postdate')

        def addkey(i):
            i.keyname = i.key().name()
            return i

        self.render('admin/article_edit.html', {
            'title': u'编辑主题',
            'article': article,
            'videos': map(addkey, videos)
        })
Exemple #11
0
  def get(self,aid):
    #arts = Article.all()
    #arts.filter('__key__ =',db.Key(aid))
    art = Article.get_by_key_name(aid.strip())#arts.get()
    usr = users.get_current_user()
    if (not art) or (art.author != usr):
      self.redirect('/')

    if art:
      art.keyname = art.key().name()
      videos = art.video_set
      videos.order('postdate')
      vds = []
      for v in videos:
        v.keyname = v.key().name()
        v.cbk = v.cblock_set.count()
        vds.append(v)
      tmpvars = {'art':art,
                 'title':unicode('添加视频 - ','utf-8') + art.title,
                 'vds':vds}
      self.render('addvideo.html',tmpvars)
    else:
      self.redirect('/')
Exemple #12
0
  def get(self,aid,prt):
    if prt == '':
      prt = 0
    else:
      prt = int(prt)

    art = Article.get_by_key_name(unicode(aid).strip())#arts.get()
    if not art:
      self.error(404)

    else:
      art.clickstatis += 1
      art.put()
      
      videos = art.video_set
      if prt > videos.count():
        prt = 0

      videos.order('postdate')


      vds = videos.fetch(1,prt)
      vd = None
      flashvars = '/mukioplayer.swf?id='
      if len(vds):
        vd = vds[0]
        if vd.vid:
          flashvars += vd.vid
          if vd.typ == 'bokecc' or vd.typ == '6room' or vd.typ == 'youku' or vd.typ == 'qq':
            flashvars += '&type=' + vd.typ;
        else:
          flashvars += vd.key().name()
          flashvars += '&file=' + vd.fileurl

        self.redirect(flashvars)
      else:
        self.error(404)
Exemple #13
0
    def get(self, aid, prt):
        if prt == '':
            prt = 0
        else:
            prt = int(prt)

        art = Article.get_by_key_name(unicode(aid).strip())  #arts.get()
        if not art:
            self.error(404)

        else:
            art.clickstatis += 1
            art.put()

            videos = art.video_set
            if prt > videos.count():
                prt = 0

            videos.order('postdate')

            vds = videos.fetch(1, prt)
            vd = None
            flashvars = '/mukioplayer.swf?id='
            if len(vds):
                vd = vds[0]
                if vd.vid:
                    flashvars += vd.vid
                    if vd.typ == 'bokecc' or vd.typ == '6room' or vd.typ == 'youku' or vd.typ == 'qq':
                        flashvars += '&type=' + vd.typ
                else:
                    flashvars += vd.key().name()
                    flashvars += '&file=' + vd.fileurl

                self.redirect(flashvars)
            else:
                self.error(404)
Exemple #14
0
 def delete_article(self, key_name):
     article = Article.get_by_key_name(key_name)
     if article:
         if article.author == self.user:
             MukioTools.delete_article_by_key_name(key_name)
Exemple #15
0
 def delete_chat_by_artkey_name(keyname):
   a = Article.get_by_key_name(keyname)
   if a:
     chats = a.chat_set
     for c in chats:
       MukioTools.delete_chat(c)
Exemple #16
0
 def delete_article(self, key_name):
   article = Article.get_by_key_name(key_name)
   if article:
     if article.author == self.user:
       MukioTools.delete_article_by_key_name(key_name)