Exemple #1
0
 def get(self, article_key=None):
     article = Article.get(article_key)
     if article is None or not article.is_active:
         return self.error(404)
     creator_view = self.get_current_user() == article.creator
     qs = article.revision_set
     qs.order('-date_created')
     revisions = each_profiles(qs)
     return self.render('revision_list.html', locals())
Exemple #2
0
 def get(self, article_key=None, errors=None):
     article = Article.get(article_key)
     if article is None or not article.is_active:
         return self.error(404)
     base_rev_key = self.request.get('base')
     base_rev = None
     if base_rev_key:
         base_rev = ArticleRevision.get(base_rev_key)
     if base_rev is None:
         base_rev = article.get_current_revision()
     content = base_rev.content
     return self.render('revision_add.html', locals())
Exemple #3
0
 def post(self, article_key=None):
     article = Article.get(article_key)
     if article is None or not article.is_active:
         return self.error(404)
     rev_key = self.request.get('revision_key')
     if not rev_key:
         return self.error(404)
     rev = ArticleRevision.get(rev_key)
     if rev is None or rev.article.key() != article.key():
         return self.error(401)
     article.current_rev_key = str(rev.key())
     article.put()
     return self.redirect(article.href())
Exemple #4
0
    def get(self, article_key=None):
        article = Article.get(article_key)
        if article is None or not article.is_active:
            return self.error(404)

        revision = None
        rev_key = self.request.get('rev', '')
        if rev_key:
            revision = ArticleRevision.get(rev_key)

        if not revision:
            revision = article.get_current_revision()

        return self.render('article_view.html', locals())
Exemple #5
0
    def post(self, article_key=None):
        article = Article.get(article_key)
        if article is None or not article.is_active:
            return self.error(404)

        errors = []
        content = self.request.get('content', '').strip()
        if not content:
            errors.append('Content cannot be empty')

        if errors:
            return self.render('revision_add.html', locals())

        user = self.get_current_user()
        rev = ArticleRevision(user=user, article=article,
                              content=content)
        rev.put()
        if user == article.creator:
            article.current_rev_key = str(rev.key())
        article.put()
        full_rev_url = urlparse.urljoin(self.request.uri, rev.href())
        blip = Blip.new(user, u'edited article %s %s' % (article.title,
                                                         full_rev_url))
        return self.redirect(article.href())
Exemple #6
0
    def post(self):
        parttitle = unicode(self.request.get('parttitle')).strip()
        #vid = unicode(self.request.get('vid')).strip()
        fileurl = unicode(self.request.get('fileurl')).strip()
        typ = unicode(self.request.get('typ')).strip()
        artkeystr = unicode(self.request.get('articleId')).strip()
        artkey = db.Key(artkeystr)
        if not artkey:
            self.redirect('/')

        art = Article.get(artkey)
        usr = users.get_current_user()
        if art.author == usr:
            self.redirect('/')

        if typ == 'bokecc':

            reg = re.compile(r'http://.*vid=([^&]+)', re.I)
            res = reg.findall(fileurl)

            if len(res) == 1:
                vid = res[0]
            else:
                vid = fileurl

            fileurl = ''
            keyname = 'vid' + vid

        elif typ == 'sina' or typ == 'youku' or typ == '6room' or typ == 'qq':
            vid = fileurl
            fileurl = ''
            keyname = 'vid' + vid

        elif typ == 'video':
            vid = ''
            keyname = MukioTools.rndvid(4)

        else:
            self.error(404)
        '''typ = 'sina'
    if not vid:
      typ = 'video'
      if not fileurl:
        typ = 'none'

    if typ == 'none':
      self.redirect('/')
    else:
      if typ == 'sina':
        keyname = 'vid' + vid
      else:
        reg = re.compile(r'vid=([^&]+)',re.I)
        res = reg.findall(fileurl)
        if len(res) == 1:
          typ = 'bokecc'
          vid = res[0]
          keyname = 'vid' + res[0]
        else:
          keyname = MukioTools.rndvid(4)'''

        video = Video(key_name=keyname,
                      typ=typ,
                      vid=vid,
                      fileurl=fileurl,
                      parttitle=parttitle,
                      art=artkey)
        if video:
            video.put()
            self.redirect('/addvideo/' + artkey.name() + '/')
        else:
            self.redirect('/')
Exemple #7
0
  def post(self):
    parttitle = unicode(self.request.get('parttitle')).strip()
    #vid = unicode(self.request.get('vid')).strip()
    fileurl = unicode(self.request.get('fileurl')).strip()
    typ = unicode(self.request.get('typ')).strip()
    artkeystr = unicode(self.request.get('articleId')).strip()
    artkey = db.Key(artkeystr)
    if not artkey:
      self.redirect('/')

    art = Article.get(artkey)
    usr = users.get_current_user()
    if art.author == usr:
      self.redirect('/')

    if typ == 'bokecc':

      reg = re.compile(r'http://.*vid=([^&]+)',re.I)
      res = reg.findall(fileurl)

      if len(res) == 1:
        vid = res[0]
      else:
        vid = fileurl

      fileurl = ''
      keyname = 'vid' + vid

    elif typ == 'sina' or typ == 'youku' or typ == '6room' or typ == 'qq':
      vid = fileurl
      fileurl = ''
      keyname = 'vid' + vid

    elif typ == 'video':
      vid = ''
      keyname = MukioTools.rndvid(4)

    else:
      self.error(404)
      
    '''typ = 'sina'
    if not vid:
      typ = 'video'
      if not fileurl:
        typ = 'none'

    if typ == 'none':
      self.redirect('/')
    else:
      if typ == 'sina':
        keyname = 'vid' + vid
      else:
        reg = re.compile(r'vid=([^&]+)',re.I)
        res = reg.findall(fileurl)
        if len(res) == 1:
          typ = 'bokecc'
          vid = res[0]
          keyname = 'vid' + res[0]
        else:
          keyname = MukioTools.rndvid(4)'''

    video = Video(key_name=keyname,
                  typ=typ,
                  vid=vid,
                  fileurl=fileurl,
                  parttitle=parttitle,
                  art=artkey
                  )
    if video:
      video.put()
      self.redirect('/addvideo/' + artkey.name() + '/')
    else:
      self.redirect('/')