Exemple #1
0
def get_all_tag():
    resp = Resp()
    tag_columns = Tag.get_columns()
    tag_columns.remove("instances")
    result = Tag.get_all(*tag_columns)
    resp.data = result
    return resp
Exemple #2
0
 def setUp(self):
     # Create a few Authors.
     self.au1 = Author(name="Author 1")
     self.au1.save()
     self.au2 = Author(name="Author 2")
     self.au2.save()
     # Create a couple of Articles.
     self.a1 = Article(headline="Article 1", pub_date=datetime(2005, 7, 26), author=self.au1)
     self.a1.save()
     self.a2 = Article(headline="Article 2", pub_date=datetime(2005, 7, 27), author=self.au1)
     self.a2.save()
     self.a3 = Article(headline="Article 3", pub_date=datetime(2005, 7, 27), author=self.au1)
     self.a3.save()
     self.a4 = Article(headline="Article 4", pub_date=datetime(2005, 7, 28), author=self.au1)
     self.a4.save()
     self.a5 = Article(headline="Article 5", pub_date=datetime(2005, 8, 1, 9, 0), author=self.au2)
     self.a5.save()
     self.a6 = Article(headline="Article 6", pub_date=datetime(2005, 8, 1, 8, 0), author=self.au2)
     self.a6.save()
     self.a7 = Article(headline="Article 7", pub_date=datetime(2005, 7, 27), author=self.au2)
     self.a7.save()
     # Create a few Tags.
     self.t1 = Tag(name="Tag 1")
     self.t1.save()
     self.t1.articles.add(self.a1, self.a2, self.a3)
     self.t2 = Tag(name="Tag 2")
     self.t2.save()
     self.t2.articles.add(self.a3, self.a4, self.a5)
     self.t3 = Tag(name="Tag 3")
     self.t3.save()
     self.t3.articles.add(self.a5, self.a6, self.a7)
Exemple #3
0
 def setUp(self):
     # Create a few Authors.
     self.au1 = Author(name='Author 1')
     self.au1.save()
     self.au2 = Author(name='Author 2')
     self.au2.save()
     # Create a couple of Articles.
     self.a1 = Article(headline='Article 1', pub_date=datetime(2005, 7, 26), author=self.au1)
     self.a1.save()
     self.a2 = Article(headline='Article 2', pub_date=datetime(2005, 7, 27), author=self.au1)
     self.a2.save()
     self.a3 = Article(headline='Article 3', pub_date=datetime(2005, 7, 27), author=self.au1)
     self.a3.save()
     self.a4 = Article(headline='Article 4', pub_date=datetime(2005, 7, 28), author=self.au1)
     self.a4.save()
     self.a5 = Article(headline='Article 5', pub_date=datetime(2005, 8, 1, 9, 0), author=self.au2)
     self.a5.save()
     self.a6 = Article(headline='Article 6', pub_date=datetime(2005, 8, 1, 8, 0), author=self.au2)
     self.a6.save()
     self.a7 = Article(headline='Article 7', pub_date=datetime(2005, 7, 27), author=self.au2)
     self.a7.save()
     # Create a few Tags.
     self.t1 = Tag(name='Tag 1')
     self.t1.save()
     self.t1.articles.add(self.a1, self.a2, self.a3)
     self.t2 = Tag(name='Tag 2')
     self.t2.save()
     self.t2.articles.add(self.a3, self.a4, self.a5)
     self.t3 = Tag(name='Tag 3')
     self.t3.save()
     self.t3.articles.add(self.a5, self.a6, self.a7)
Exemple #4
0
def create_blog():
    if 'userid' not in session:
        flash('Must be logged in to create blog', 'error')
        return redirect('/')
    if request.method == 'POST':
        tags = None
        if len(request.form['tags']) > 0:
            tags = [x.strip() for x in request.form['tags'].split(',')]
        validate_blog = Blog.validate_blog(request.form)
        if validate_blog:
            blog_data = blog_schema.dump(request.form)
            blog_data.data['content'] = request.form['editordata']
            blog_data.data['user_id'] = session['userid']
            new_blog = Blog.create_blog(blog_data.data)
            if tags:
                Tag.create_tags(data={'tags': tags, 'blog': new_blog.id})
            file = request.files['file']
            # if user does not select file, browser also
            # submit an empty part without filename
            if file and allowed_file(file.filename):
                filename = '{}_'.format(new_blog.id) + secure_filename(
                    file.filename)
                file.save(
                    os.path.join(app.config['BLOG_UPLOAD_FOLDER'], filename))
                Blog.update_picture(data={
                    'id': new_blog.id,
                    'filepath': filename
                })
            return redirect('/blogs/{}'.format(new_blog.id))
    tags = Tag.query.all()
    for tag in tags:
        tag.usage = len(tag.tag_has_blogs)
    return render_template('create_blog.html', tags=tags)
 def get(self, *args, **kwargs):
     ''' This will let you delete a given tag from the system '''
     tags = Tag.all()
     try:
         uuid = self.get_argument('tag')
         if uuid != None:
             tag = Tag.by_uuid(uuid)
             if tag != None:
                 self.dbsession.delete(tag)
                 tags = Tag.all()
                 self.render(
                     "admin/manage_tags.html",
                     success="Successfuly deleted tag from the system",
                     tags=tags)
             else:
                 self.render("admin/manage_tags.html",
                             errors="Please Select a Tag",
                             tags=tags)
         else:
             self.render("admin/manage_tags.html",
                         errors="Please Select a Tag",
                         tags=tags)
     except Exception as e:
         self.render("admin/manage_tags.html",
                     errors="Invalid Tag Selected",
                     tags=tags)
Exemple #6
0
def addpost(request):
	if request.POST:
		#files = upload_receive(request)
		form = PostForm(request.POST, request.FILES)
		if form.is_valid():
			f2 = form.save(commit=False)
			f2.pub_date = datetime.now()
			f2.save()
			tags = f2.tags
			tags = tags.split(',')
			tagobjs = Tag.objects.all()
			taglist=[]
			for i in tagobjs:					#Adding new tags
				taglist.append(i.name)
			for i in tags:
				if i not in taglist:
					obj = Tag(name=i)
					obj.save()
					print 'saved'
					print obj
					print obj.name
					taglist.append(i)
			return HttpResponseRedirect('/blog/viewposts/')
		else:
			args = {}
			args.update(csrf(request))
			args['form']=form
			args['error']='Some error in form'
			return render_to_response('addpost.html',args)
				
	else:
		args = {}
		args.update(csrf(request))
		args['form'] = PostForm()
		return render_to_response('addpost.html',args)
Exemple #7
0
def post():
    longitude = request.form.get('longitude', '')
    latitude = request.form.get('latitude', '')
    treasure = request.form.getlist('treasure')
    if not (isfloat(latitude) and isfloat(longitude) and treasure):
        return redirect('/post.html')
    try:
        tags = [Tag.get(tag=x) for x in treasure]
    except Tag.DoesNotExist:
        return redirect('/post.html')

    x, obj_created = Point.get_or_create(
        latitude=latitude,
        longitude=longitude,
        defaults={'treasure': ', '.join(treasure)})  # type:Point,bool
    if obj_created:
        for y in tags:
            PointTag.create(tag=y, point=x)
        l = LogPoint.create(latitude=latitude,
                            longitude=longitude,
                            treasure=', '.join(treasure),
                            created_date=x.created_date)
    else:
        return render_template('post.html',
                               tags=Tag.select().execute(),
                               message='坐标已存在')
        # return render_template('post.html')
        # return '坐标已存在 <a href="/post.html">重新分享</a>'
    return redirect('/')
Exemple #8
0
def editarticle(request,aid):
    article=Article.objects.get(id=aid)
    maincat=MainCat.objects.all()
    nart,cart,rart,cm,tg=getthree()
    if request.method=='POST':
        title=request.POST['title']
        tags=request.POST['tag']
        cat=request.POST['cat']
        content=request.POST['content']
        tags=tags.split(',')
        tagm=[]
        
        for i in tags:
            a=Tag.objects.filter(tag=i)
            if a:
                tagm.append(a[0])
            else:
                t=Tag(tag=i)
                t.save()
                tagm.append(t)
        article.user=request.user
        article.title=title
        article.content=content
        if cat.find('mc')>0:
            maincat=MainCat.objects.get(id=cat[:cat.find('m')])
            article.maincat=maincat
        elif cat.find('-')==-1:
            dcat=DetailCat.objects.get(id=cat)
            article.maincat=dcat.maincat
            article.detailcat=dcat
        else:
            pass
        article.save()
        article.tag=tagm
        article.save()
        return redirect(getarticle,article.id)
    
    #日历
    today=today=datetime.datetime.now()
    s=calendar.HTMLCalendar(6)
    cals=list(s.itermonthdays2(today.year,today.month))
    tdarts=Article.objects.values('id','createtime').filter(createtime__year=today.year,createtime__month=today.month).order_by('createtime') #列表字典[{'createtime': datetime.datetime(2014, 4, 6, 4, 36, 32, 896000, tzinfo=<UTC>)},
    tdart=set([i['createtime'].day for i in tdarts])

    tmpq=Article.objects.exclude(createtime__year=today.year,createtime__month=today.month)
    premon=tmpq.filter(createtime__lt=today).order_by('-createtime')[:1]
    aftmon=tmpq.filter(createtime__gt=today).order_by('createtime')[:1]
    
    tt=[]
    for i in cals:
        tt.append(list(i))
    ttt=[]   
    for a in tt:
        for i in tdart:
            if a[0] == i:
                a.append(1)
        if len(a)==2:
            a.append(0)    
        ttt.append(a)
    return render_to_response('new.htm',locals(),context_instance=RequestContext(request))
Exemple #9
0
 def post(self):
     json_data = request.json
     errors = PostSchema_add().validate(json_data)
     if errors:
         return errors
     tags = json_data.get('tag')
     tags_list = []
     for i in tags:
         tag = Tag.objects(name=i)
         if len(tag) == 0:
             tag = Tag(name=i).save()
         else:
             tag = tag[0]
         tags_list.append(tag)
     author_field = json_data.get('author')
     if author_field is None:
         return {'errors': 'Not field author'}
     author = Author.objects(first_name=author_field['first_name'],
                             last_name=author_field['last_name'])
     if len(author) == 0:
         author = Author(first_name=author_field['first_name'],
                         last_name=author_field['last_name'])
         author.save()
     else:
         author = author[0]
     try:
         p = Post(name=json_data.get('name'),
                  description=json_data.get('description'))
         p.author = author
         p.tag = tags_list
         p.save()
         user_json = p.to_json()
         return json.loads(user_json)
     except (ValidationError, NotUniqueError) as errors:
         print(errors)
Exemple #10
0
    def setUp(self):
        """add two users"""
        user1 = User(first_name="TestFirstName1", last_name="TestLastName1",
                     image_url="https://ca-times.brightspotcdn.com/dims4/default/1d338c3/2147483647/strip/true/crop/4928x3264+0+0/resize/840x556!/quality/90/?url=https%3A%2F%2Fcalifornia-times-brightspot.s3.amazonaws.com%2F45%2F09%2F7c8d7171490d9c8744534920524a%2Fpet-store-adobestock-285952143.jpeg")

        user2 = User(first_name="TestFirstName2",
                     last_name="TestLastName2", image_url="")

        db.session.add(user1)
        db.session.add(user2)
        db.session.commit()

        self.user1_id = user1.id
        self.user2_id = user2.id

        self.user1 = user1

        post = Post(title="postTitle", content="postContent", user_id=user1.id)

        db.session.add(post)
        db.session.commit()

        self.post_id = post.id
        self.post = post

        self.client = app.test_client()

        t1 = Tag(name="Fun")
        t2 = Tag(name="Even More")

        db.session.add_all([t1, t2])
        db.session.commit()

        self.tag_id = t1.id
        self.tag = t1
Exemple #11
0
def editProject(pid):
    project = Project.query.filter_by(id=pid).first()
    user = User.query.filter_by(id=session.get('user_id')).first()
    form = EditProjectForm(request.form)
    if request.method == 'POST' and form.validate():
	if user == project.author:
	    if form.title.data:
		project.title = form.title.data
	    if form.status.data:
		project.public = not project.public
	    if form.tags.data:
		newTags = form.tags.data
		newTags = newTags.split(',')
		oldTags = Tag.query.filter_by(project_id=project.id).all()
		for tag in oldTags:
		    db_session.delete(tag)
		for tag in newTags:
		    if tag.strip() != "":
			tag = Tag(tag.strip(), project.id)
			db_session.add(tag)
	    db_session.add(project)
	    db_session.commit()
	    return redirect(url_for('project', pid=project.id))
	return redirect(url_for('index'))
    return render_template('edit.html', form=form, project=project)
Exemple #12
0
    def parse_page(self, response):
        hxs = HtmlXPathSelector(response)
        title = hxs.select('//h1[@class="title"]/text()').extract()
        if title and isinstance(title, list):
            title = title[0]

        url = response.url
        tags = hxs.select('//dl[@id="viewExtCati"]/dd/a/text()').extract()
        items = hxs.select('//dd[@class="relative"]/div/a/@href').extract()
        try:
            pattern_items = [re.search(pattern, item) for item in items]
            related_items = [item.group(1) for item in pattern_items if item]
        except Exception as err:
            print(err)
            return
        try:
            num = response.request.meta['view_num']
        except Exception as err:
            print(err)
            return

        tag = Tag(name=title, url=url, num=num, tags=tags, related_items=related_items)
        try:
            print("parse title %s, view num: %s" %(title, num))
            tag.save()
        except Exception as err:
            print(err)
            return
Exemple #13
0
def login():
    """Homepage with login"""
    # Get all of the authenticated user's friends
    tag_names = [str(tag.tag_name) for tag in Tag.get_all_tags()]
    session['tag_names'] = tag_names
    top_6_tags = Tag.get_most_popular_tags(6)
    return render_template("login.html", top_6_tags=top_6_tags)
Exemple #14
0
def save_tag( request ) :
	user_agent = request.META['HTTP_USER_AGENT']
	tagname = request.GET['tagname']
	#will to be validate a tagname
	tag = Tag( name = tagname )
	tag.save()
	return render_to_response(u'tag_saved.html',locals())
Exemple #15
0
 def get(self, name = ''):
     objs = Tag.get_tag_page_posts(name, 1)
     
     catobj = Tag.get_tag_by_name(name)
     if catobj:
         pass
     else:
         self.redirect(BASE_URL)
         return
     
     allpost =  catobj.id_num
     allpage = allpost/EACH_PAGE_POST_NUM
     if allpost%EACH_PAGE_POST_NUM:
         allpage += 1
         
     output = self.render('index.html', {
         'title': "%s - %s"%( catobj.name, SITE_TITLE),
         'keywords':catobj.name,
         'description':SITE_DECR,
         'objs': objs,
         'cats': Category.get_all_cat_name(),
         'tags': Tag.get_hot_tag_name(),
         'page': 1,
         'allpage': allpage,
         'listtype': 'tag',
         'name': name,
         'namemd5': md5(name.encode('utf-8')).hexdigest(),
         'comments': Comment.get_recent_comments(),
         'links':Link.get_all_links(),
     },layout='_layout.html')
     self.write(output)
     return output
Exemple #16
0
    def test_update(self):
        order = Order(name="Dummy Order")
        order.save()

        for i in range(2):
            item = Item(name="Item %i" % i, sku=str(i) * 13, price=D("9.99"), order=order, status=0)
            item.save()

        tag = Tag(name="Test", content_object=order)
        tag.save()

        res = self.client.get("/inlines/1/")

        self.assertEqual(res.status_code, 200)
        order = Order.objects.get(id=1)

        self.assertEquals(2, order.item_set.count())
        self.assertEquals("Item 0", order.item_set.all()[0].name)

        data = {
            "name": u"Dummy Order",
            "item_set-TOTAL_FORMS": u"4",
            "item_set-INITIAL_FORMS": u"2",
            "item_set-MAX_NUM_FORMS": u"",
            "item_set-0-name": "Bubble Bath",
            "item_set-0-sku": "1234567890123",
            "item_set-0-price": D("9.99"),
            "item_set-0-status": 0,
            "item_set-0-order": 1,
            "item_set-0-id": 1,
            "item_set-1-name": "Bubble Bath",
            "item_set-1-sku": "1234567890123",
            "item_set-1-price": D("9.99"),
            "item_set-1-status": 0,
            "item_set-1-order": 1,
            "item_set-1-id": 2,
            "item_set-2-name": "Bubble Bath",
            "item_set-2-sku": "1234567890123",
            "item_set-2-price": D("9.99"),
            "item_set-2-status": 0,
            "item_set-2-order": 1,
            "item_set-3-DELETE": True,
            "tests-tag-content_type-object_id-TOTAL_FORMS": 3,
            "tests-tag-content_type-object_id-INITIAL_FORMS": 1,
            "tests-tag-content_type-object_id-MAX_NUM_FORMS": u"",
            "tests-tag-content_type-object_id-0-name": u"Test",
            "tests-tag-content_type-object_id-0-id": 1,
            "tests-tag-content_type-object_id-0-DELETE": True,
            "tests-tag-content_type-object_id-1-name": u"Test 2",
            "tests-tag-content_type-object_id-2-name": u"Test 3",
        }

        res = self.client.post("/inlines/1/", data, follow=True)
        self.assertEqual(res.status_code, 200)

        order = Order.objects.get(id=1)

        self.assertEquals(3, order.item_set.count())
        self.assertEquals(2, Tag.objects.count())
        self.assertEquals("Bubble Bath", order.item_set.all()[0].name)
Exemple #17
0
    def get(self, name=''):
        objs = Tag.get_tag_page_posts(name, 1)

        catobj = Tag.get_tag_by_name(name)
        if catobj:
            pass
        else:
            self.redirect(BASE_URL)
            return

        allpost = catobj.id_num
        allpage = allpost / EACH_PAGE_POST_NUM
        if allpost % EACH_PAGE_POST_NUM:
            allpage += 1

        output = self.render('index.html', {
            'title': "%s - %s" % (catobj.name, SITE_TITLE),
            'keywords': catobj.name,
            'description': SITE_DECR,
            'objs': objs,
            'cats': Category.get_all_cat_name(),
            'tags': Tag.get_hot_tag_name(),
            'page': 1,
            'allpage': allpage,
            'listtype': 'tag',
            'name': name,
            'namemd5': md5(name.encode('utf-8')).hexdigest(),
            'comments': Comment.get_recent_comments(),
            'links': Link.get_all_links(),
        },
                             layout='_layout.html')
        self.write(output)
        return output
Exemple #18
0
 def getTop(self, request):
     topics = memcache.get('top:all')
     if not topics:
         q = Topic.query()
         q = q.filter(Topic.vote > 0)
         q = q.order(-Topic.vote)
         if request.limit > 50:
             limit = 50
         else:
             limit = request.limit
         q = q.fetch(limit)
         topics = [self._copyTopicToForm(t) for t in q]
         memcache.set('top:all', topics)
         sum_tags = [
             self._copyTagToForm(Tag(tag=t[0], score=t[1]))
             for t in self._sumTag(topics)
         ]
         memcache.set('tag:top:all', sum_tags)
     else:
         sum_tags = memcache.get('tag:top:all')
         if not sum_tags:
             sum_tags = [
                 self._copyTagToForm(Tag(tag=t[0], score=t[1]))
                 for t in self._sumTag(topics)
             ]
             memcache.set('tag:top:all', sum_tags)
     # freq_tags = memcache.get('tag:top:all')
     # if not freq_tags:
     #     tags = []
     #     for topic in topics:
     #         tags.extend(topic.tags)
     #     freq_tags = [self._copyTagToForm(Tag(tag=t[0], score=t[1])) for t in self._freqTag(tags)]
     #     memcache.set('tag:top:all', freq_tags)
     n = len(topics)
     return TopicForms(topics=topics, length=n, tags=sum_tags)
Exemple #19
0
def tag_helper(data, name_field, dataset, tag):
    mps = MapPoint.objects.filter(dataset_id=dataset)
    tags = Tag.objects.filter(dataset_id=dataset).filter(tag=tag)
    if tags.count() > 1:
        appr_tags = tags.filter(approved=True)
        if appr_tags.count() > 0:
            tags = appr_tags
        tag = tags[0]
    elif tags.count() == 0:
        tag = Tag(dataset_id=dataset, tag=tag, approved=True)
        tag.save()
    else:
        tag = tags[0]

    regex = re.compile('[%s]' % re.escape(string.punctuation))
    for item in data:
        name = regex.sub(r'[\'\'\.-]*', item[name_field])
        print name
        for mp in mps.filter(name__iregex=name):
            print mp.name
            t = TagIndiv(tag=tag, mapelement=mp)
            try:
                t.save()
            except IntegrityError:
                # violate unique restraint so just don't save it
                pass
Exemple #20
0
def tag_handler(tag_id):
    if request.method == 'GET':
        tag = Tag.get(tag_id)
        if tag is not None:
            return jsonify(tag=[tag.serialize])
        else:
            raise InvalidUsage('Not Found', status_code=404)
    if request.method == 'PUT':
        tag = Tag.get(tag_id)
        if tag is not None:
            name = request.args.get('name')
            description = request.args.get('description')
            updated_tag = tag.update(name, description)
            return jsonify(tag=[updated_tag.serialize])
        else:
            raise InvalidUsage('Not Found', status_code=404)
    if request.method == 'DELETE':
        tag = Tag.get(tag_id)
        if tag is not None:
            deleted = tag.delete()
            if deleted:
                return jsonify(status='OK')
            else:
                raise InvalidUsage('Unknown Error', status_code=520)
        else:
            raise InvalidUsage('Not Found', status_code=404)
def ask_display(request):
        if not request.user.is_authenticated():
            raise PermissionDenied

        if request.method == 'POST':

            request_title = request.POST.get('title')
            request_text = request.POST.get('text')
            request_tags = request.POST.get('tags')
            
            if request_title == '' or request_text == '':
                return render(request, 'ask.html', {'page_title': 'New Question', 'errors': '1'})
            
            new_question = Question(title = request_title, 
                date = datetime.datetime.now(), 
                author = UserProfile.objects.get(user_account = request.user),
                text = request_text)
            
            new_question.save()
            
            for tag_str in request_tags.split(','):
                if Tag.objects.filter(name = tag_str).exists():
                    tag = Tag.objects.get(name = tag_str)
                    new_question.tags.add(tag)
                else:
                    new_tag = Tag(name = tag_str)
                    new_tag.save()
                    new_question.tags.add(new_tag)
            
            return HttpResponseRedirect('/question/{}'.format(new_question.id))
            
        return render(request, 'ask.html', {'page_title': 'New Question', 'errors': '0'})
Exemple #22
0
    def post(self):
        update = self.request.get('update', False)
        cate_name = self.request.get('cate_name')
        tags_list = self.request.get_all('tags_name', [])
        title = self.request.get('title')
        blog = self.request.get('blog')
        if not blog:
            self.response.write('blog content empty!')

        cate = Category.query(Category.title==cate_name).get()
        if not cate:
            cate = Category(title=cate_name)
            cate.put()
        print tags_list
        tags = Tag.query(Tag.title.IN(tags_list)).fetch()
        tags_old = [tag.title for tag in tags]
        tags_new = []
        for tag in tags_list:
            if tag not in tags_old:
                tag = Tag(title=tag)
                tag.put()
                tags_new.append(tag)
        print tags
        print tags_new
        tags += tags_new
        print tags
        print '==='
        print dir(tags[0])
        tags = [tag.key for tag in tags]

        blog = Blog(title=title, text=blog, category=cate.key, tags=tags)
        blog.put()
        self.response.write('blog publish success')
        self.response.set_status(200)
Exemple #23
0
def edit_photo_view(request, photo_id):
    # try:
    #     photo = Photo.objects.get(pk=photo_id)
    # except Photo.DoesNotExist:
    #     raise Http404
    photo = get_object_or_404(Photo, pk=photo_id)
    if photo.owner_id == request.user.id:
        if request.method == 'POST':
            form = EditPhotoForm(request.user, data=request.POST or None, instance=photo)
            if form.is_valid():
                photo = form.save()
                if form.cleaned_data['tag']:
                    tag = Tag(name=form.cleaned_data['tag'])
                    tag.save()
                    photo.tags.add(tag)
                    photo.save()
                else:
                    form.save()
                return redirect('photorizer.views.photo_view', photo.id)
        else:
            form = EditPhotoForm(instance=photo, current_user=request.user)
            context = {'form': form, 'photo': photo}
            # return render(request, 'photorizer/edit_photo.html',
            #               {'form': form, 'photo': photo})
            return render(request, 'photorizer/edit_photo.html',
                          context)
    else:
        return render(request, 'photorizer/permission_denied.html')
Exemple #24
0
    def test_update(self):
        order = Order(name='Dummy Order')
        order.save()

        for i in range(2):
            item = Item(name='Item %i' % i, sku=str(i) * 13, price=D('9.99'), order=order, status=0)
            item.save()

        tag = Tag(name='Test', content_object=order)
        tag.save()

        res = self.client.get('/inlines/1/')

        self.assertEqual(res.status_code, 200)
        order = Order.objects.get(id=1)

        self.assertEquals(2, order.item_set.count())
        self.assertEquals('Item 0', order.item_set.all()[0].name)

        data = {
            'name': u'Dummy Order',
            'item_set-TOTAL_FORMS': u'4',
            'item_set-INITIAL_FORMS': u'2',
            'item_set-MAX_NUM_FORMS': u'',
            'item_set-0-name': 'Bubble Bath',
            'item_set-0-sku': '1234567890123',
            'item_set-0-price': D('9.99'),
            'item_set-0-status': 0,
            'item_set-0-order': 1,
            'item_set-0-id': 1,
            'item_set-1-name': 'Bubble Bath',
            'item_set-1-sku': '1234567890123',
            'item_set-1-price': D('9.99'),
            'item_set-1-status': 0,
            'item_set-1-order': 1,
            'item_set-1-id': 2,
            'item_set-2-name': 'Bubble Bath',
            'item_set-2-sku': '1234567890123',
            'item_set-2-price': D('9.99'),
            'item_set-2-status': 0,
            'item_set-2-order': 1,
            'item_set-3-DELETE': True,
            'tests-tag-content_type-object_id-TOTAL_FORMS': 3,
            'tests-tag-content_type-object_id-INITIAL_FORMS': 1,
            'tests-tag-content_type-object_id-MAX_NUM_FORMS': u'',
            'tests-tag-content_type-object_id-0-name': u'Test',
            'tests-tag-content_type-object_id-0-id': 1,
            'tests-tag-content_type-object_id-0-DELETE': True,
            'tests-tag-content_type-object_id-1-name': u'Test 2',
            'tests-tag-content_type-object_id-2-name': u'Test 3',
        }

        res = self.client.post('/inlines/1/', data, follow=True)
        self.assertEqual(res.status_code, 200)

        order = Order.objects.get(id=1)

        self.assertEquals(3, order.item_set.count())
        self.assertEquals(2, Tag.objects.count())
        self.assertEquals('Bubble Bath', order.item_set.all()[0].name)
Exemple #25
0
def post_update_post(id):
    postid = request.forms.get('postid')
    title = request.forms.get('title').decode('utf-8')
    slug = request.forms.get('slug').decode('utf-8')
    post = request.forms.get('post')
    tags = request.forms.get('tags').decode('utf-8')
    category = request.forms.get('category').decode('utf-8')
    post_type = request.forms.get('postype')
    if post_type == 'HTML':
        is_html = 1
        content = post.decode('utf-8')
        markdown = u'html'
    else:
        is_html = 0
        markdown = post.decode('utf-8')
        content = to_markdown(markdown)
    category = Category.get(name=category)
    Post.update(title=title, slug=slug, content=content, markdown=markdown,
                tags=tags, category=category,
                is_html=is_html).where(id=postid).execute()
    tag_list = set(tags.split(","))
    for tag in tag_list:
        try:
            Tag.get(name=tag.strip(), post_id=postid)
        except Post.DoesNotExist:
            Tag.create(name=tag.strip(), post_id=postid)
    redirect("/%s" % slug)
Exemple #26
0
def post_new_post():
    title = request.forms.get('title').decode('utf-8')
    slug = request.forms.get('slug').decode('utf-8')
    post = request.forms.get('post')
    tags = request.forms.get('tags').decode('utf-8')
    category = request.forms.get('category').decode('utf-8')
    post_type = request.forms.get('postype')
    set_time = request.forms.get('setime')
    if set_time != '1':
        t = [int(tt) for tt in set_time.split('-')]
        d = datetime.datetime(*t)
        published = d
    else:
        published = datetime.datetime.now()

    if post_type == 'HTML':
        is_html = 1
        content = post.decode('utf-8')
        markdown = u'html'
    else:
        is_html = 0
        markdown = post.decode('utf-8')
        content = to_markdown(markdown)
    category = Category.get(name=category)
    post = Post.create(title=title, slug=slug.strip(), content=content,
                       markdown=markdown, tags=tags, category=category,
                       is_html=is_html, published=published, comm_count=0)
    for tag in post.tags_list():
        Tag.create(name=tag.strip(), post_id=post.id)
    redirect("/%s" % slug)
Exemple #27
0
class AlbumTest(TestCase):
    def setUp(self):
        self.user = User(username='******', email='*****@*****.**',
                         first_name='Sherlock', last_name="Holmes",
                         password='******')
        self.user.full_clean()
        self.user.save()
        self.photo = Photo(owner=self.user,
                           image='images/test.png',
                           name='test',
                           caption='testing')
        self.photo.clean()
        self.photo.save()
        self.tag = Tag(name='test tag', owner=self.user)
        self.tag.clean()
        self.tag.save()
        self.photo.tags.add(self.tag)
        self.album = Album(owner=self.user,
                           name='test album')
        self.album.clean()
        self.album.save()
        self.album.photos.add(self.photo)

    def test_id_creation(self):
        self.assertIsNotNone(self.album.id)

    def test_owner_entry(self):
        self.assertEqual(self.album.name, 'test album')

    def test_name_entry(self):
        self.assertEqual(self.photo.name, 'test')

    def test_album_to_photo_association(self):
        photos = Photo.objects.filter(album=self.album.id)
        self.assertEqual(photos[0].name, 'test')
Exemple #28
0
def bookmark_add():
    error = {}
    bookmark = {}
    user = auth.get_logged_in_user()
    if request.method == 'POST':
        if not request.form['url']:
            error['url'] = u'书签的网址不能为空'
        if not request.form['url'].startswith('http://') and not request.form['url'].startswith('https://'):
            request.form['url'] = ''.join(['http://', request.form['url']])
        if not error:
            try:
                bookmark = Bookmark.select().where(Bookmark.user == user,
                                        Bookmark.url == request.form['url']
                ).get()
            except Bookmark.DoesNotExist:
                try:
                    db.database.set_autocommit(False)
                    
                    bookmark = Bookmark.create(
                        user=user,
                        url=request.form['url'],
                        title=request.form['title']
                    )
                    bookmark.fetch_image()
                    bookmark.save()

                    tagnames = re.split('\s+', request.form['tags'].strip())
                    # marksure request.form['tags'] not a empty string
                    if tagnames[0]:
                        for tagname in tagnames:
                            if not Tag.select().where(Tag.user == user,
                                                      Tag.name == tagname
                                                     ).exists():
                                tag = Tag.create(user=user, name=tagname)
                                tag.save()

                                relationship = Relationship.create(
                                    user=user,
                                    tag=tag,
                                    bookmark=bookmark)
                                relationship.save()
                except Exception as e:
                    db.database.rollback()
                    flash(u'对不起,服务器太累了,刚罢工了一会儿', 'error')
                else:
                    try:
                        db.database.commit()
                    except Exception as e:
                        db.database.rollback()
                        flash(u'对不起,服务器太累了,刚罢工了一会儿', 'error')
                finally:
                    db.database.set_autocommit(True)

                if not get_flashed_messages():
                    flash(u'你已经成功添加一个书签', 'success')
                    return redirect(url_for('bookmark'))
            else:
                flash(Markup(u'书签已经存在,也许你想要<a href="' + url_for('bookmark_edit', id=bookmark.id) + u'">编辑</a>此书签'), 'info')
    
    return render_template('bookmark_add.html', error=error, form=request.form, user=user, bookmark=bookmark)
Exemple #29
0
def post_article(request,
                 success_url = "/",
                 template="articles/post.html"):
    """ Post new article """
    if request.method == 'POST':
        form = ArticleForm(request.POST)
        if form.is_valid():
            title = form.cleaned_data['title']
            content = form.cleaned_data['content']
            tags = form.cleaned_data['tags']
            # new article
            art = Article(title=title,content=content,slug=slugify(title),author=request.user)
            art.save()
            # add tags
            for tag in tags:
                try:
                    t = Tag.objects.get(name=tag)
                except Tag.DoesNotExist:
                    t = None
                # if t doesnt exist
                if t is None:
                    t = Tag(name=tag,slug=slugify(tag))
                    t.save()
                # add the tag to the article
                art.tags.add(t)
            # set meta
            art.set_meta()
            # done here
            return HttpResponseRedirect(success_url)
    else:
        form = ArticleForm()
    
    return render_to_response(template,
                              {'form':form},
                              context_instance=RequestContext(request))
    def post(self, *args, **kwargs):
        ''' Create the Dork in the system '''
        form = Form(title="Please enter a title",
                    description="Please enter a Description",
                    author="Please Enter an Author",
                    query="Please Enter the Shodan Hq Search Query",
                    tag="Please Select a Category")
        try:
            #Getting the user
            session_manager = SessionManager.Instance()
            session = session_manager.get_session(
                self.get_secure_cookie('auth'), self.request.remote_ip)
            user = User.by_user_name(session.data['user_name'])

            #Get the tag
            old_tag = Tag.by_name(self.get_argument('tag'))

            #Get all the tags
            tags = Tag.all()

            if user != None:
                if form.validate(self.request.arguments):
                    old_dork = Dork.by_title(self.get_argument('title'))
                    if old_dork:
                        self.render(
                            'user/submit.html',
                            user=user,
                            errors=[
                                'A Dork by this title has already been submitted'
                            ],
                            success=None,
                            tags=tags)
                    elif old_tag == None:
                        self.render(
                            'user/submit.html',
                            user=user,
                            errors=[
                                'A Dork by this title has already been submitted'
                            ],
                            success=None,
                            tags=tags)
                    else:
                        self.create_dork(user)
                        self.render('user/submit.html',
                                    user=user,
                                    success='Successfully created new Dork',
                                    errors=None,
                                    tags=tags)
                else:
                    self.render('user/submit.html',
                                user=user,
                                errors=form.errors,
                                success=None,
                                tags=tags)
            else:
                self.render('public/please_login.html')
        except Exception as e:
            print e
            self.render('public/please_login.html')
Exemple #31
0
 def get(self, tag_name):
     page = int(self.request.get('page', 1))
     offset = (page - 1) * self.LIST_PER_PAGE
     tag = Tag.get_by_name(tag_name)
     self.list = Tag.get_article_list(tag=tag, limit=self.LIST_PER_PAGE, offset=offset) if tag else None
     self.count = tag.count if tag else 0
         
     return Action.Result.DEFAULT
 def test_create_tag(self):
     """Create a tag and assert that its fields appear as expected."""
     tag = Tag(text='Test Tag')
     tag.full_clean()
     tag.save()
     self.assertIsInstance(tag, Tag)
     self.assertEqual(tag.text, 'Test Tag')
     self.assertIsInstance(tag.date_created, datetime)
Exemple #33
0
 def eval(self, platform, tag):
     warning = ''
     if not select(count(t) for t in Tag if t.platform == platform.lower())[:][0]:
         platforms = ', '.join(sorted(select(t.platform for t in Tag)[:]))
         warning = bold('WARNING: creating a new platform. Please check that the platform doesn\'t already '
         'exist by another name.\n') + 'Current platforms are ' + platforms + '\n'
     Tag.create_or_update(user=self.user, platform=platform.lower(), tag=tag)
     return "%s%s added as %s tag for %s" % (warning, tag, platform.title(), self.name)
Exemple #34
0
def create(request):
    tag = Tag.objects.get(id=4)
    print 'TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT'
    print tag
    Tag.get_items(tag)
    returnData = Item.objects.makeItem(request)
    # print request.session['user'].get('username')
    return redirect('/products')
def tags_create():
    """Handle form submission for creating a new tag"""
    new_tag = Tag(name=request.form.get('name'))
    message_ids = [int(num) for num in request.form.getlist("messages")]
    new_tag.messages = Message.query.filter(Message.id.in_(message_ids))
    db.session.add(new_tag)
    db.session.commit()
    return redirect(url_for('tags_index'))
Exemple #36
0
def create_tags():
    names = [u"news", u"article", u"interview", u"test", u"review", u"témoignage"]
    for name in names:
        tag = Tag()
        name = LocalizedString(value=name, lang=u"fr")
        tag.name = name
        db.session.add(tag)
        db.session.commit()
def store_tag(text, message):
  #Construct the tag.
  tag = Tag()
  tag.tag = text
  tag.message = message
  tag.save()

  return tag
Exemple #38
0
def newarticle(request):
    if not request.user.is_authenticated():
        return  redirect('/Login/?next=%s' % request.path)
    if request.method=='POST':
        title=request.POST['title']
        tags=request.POST['tag']
        cat=request.POST['cat']
        content=request.POST['content']
        tags=tags.split(',')
        tagm=[]
        print tags
        for i in tags:
            a=Tag.objects.filter(tag=i)
            if a:
                tagm.append(a[0])
            else:
                t=Tag(tag=i)
                t.save()
                tagm.append(t)
        if cat.find('mc')>0:
            maincat=MainCat.objects.get(id=cat[:cat.find('m')])
            ar=Article(user=request.user,title=title,content=content,maincat=maincat)
        elif cat.find('-')==-1:
            dcat=DetailCat.objects.get(id=cat)
            maincat=dcat.maincat
            ar=Article(user=request.user,title=title,content=content,detailcat=dcat,maincat=maincat)
        else:
            ar=Article(user=request.user,title=title,content=content)
        ar.save()
        ar.tag=tagm
        ar.save()
        return redirect(getarticle,ar.id)
    
   
    maincat=MainCat.objects.all()
    nart,cart,rart,cm,tg=getthree()
    #日历
    today=today=datetime.datetime.now()
    s=calendar.HTMLCalendar(6)
    cals=list(s.itermonthdays2(today.year,today.month))
    tdarts=Article.objects.values('id','createtime').filter(createtime__year=today.year,createtime__month=today.month).order_by('createtime') #列表字典[{'createtime': datetime.datetime(2014, 4, 6, 4, 36, 32, 896000, tzinfo=<UTC>)},
    tdart=set([i['createtime'].day for i in tdarts])

    tmpq=Article.objects.exclude(createtime__year=today.year,createtime__month=today.month)
    premon=tmpq.filter(createtime__lt=today).order_by('-createtime')[:1]
    aftmon=tmpq.filter(createtime__gt=today).order_by('createtime')[:1]
    tt=[]
    for i in cals:
        tt.append(list(i))
    ttt=[]   
    for a in tt:
        for i in tdart:
            if a[0] == i:
                a.append(1)
        if len(a)==2:
            a.append(0)    
        ttt.append(a)
    return render_to_response('new.htm',locals(),context_instance=RequestContext(request))
Exemple #39
0
def post_create_user(sender, instance, created, **kwargs):
    print "Post save emited for", instance
    users = User.objects.filter(username="******")
    if created and len(users) > 0:
        user_template = users[0]
        print "user_template", user_template
        user = instance
        image_types = ImageType.objects.filter(user=user_template)
        print "image_types", image_types
        print 'mkdir {0}{1}'.format(BASE_DIR+'/segment/static/uploads/',str(user_template.id),str(user.id))
        os.popen('cp -a {0}{1} {0}{2}'.format(BASE_DIR+'/segment/static/uploads/',str(user_template.id),str(user.id)))
        for image_type in image_types:
            print "imagetype", image_type
            #folder_random_name = get_random_name()
            #print 'mkdir {0}{1}/{2}'.format(BASE_DIR+'/segment/static/uploads/',str(user.id),folder_random_name)
            #os.popen('mkdir {0}{1}/{2}'.format(BASE_DIR+'/segment/static/uploads/',str(user.id),folder_random_name))
            #os.popen('mkdir {0}{1}/{2}/segments'.format(BASE_DIR+'/segment/static/uploads/',str(user.id),folder_random_name))
            #os.popen('mkdir {0}{1}/{2}/segments'.format(BASE_DIR+'/segment/static/uploads/',str(user.id),folder_random_name))
            it = ImageType()
            it.name=image_type.name
            it.user = user
            it.folder = image_type.folder
            it.save()
            it.users_shared.add(user)
            tags = Tag.objects.filter(image_type=image_type)
            for tag in tags:
                t = Tag()
                t.name = tag.name
                t.image_type = it
                t.save()
            images = Image.objects.filter(image_type=image_type)
            print "images", images
            for image in images:
                i = Image()
                i.name = image.name
                i.image_type = it
                i.filename = str(image.filename).replace('/'+str(user_template.id)+'/','/'+str(user.id)+'/')
                #print 'cp "{0}{1}" "{2}{3}"'.format(BASE_DIR+'/segment/static/',str(image.filename),BASE_DIR+'/segment/static/' ,str(i.filename))
                #os.popen('cp "{0}{1}" "{2}{3}"'.format(BASE_DIR+'/segment/static/',str(image.filename),BASE_DIR+'/segment/static/' ,str(i.filename)))
                i.parent_segment = image.parent_segment
                i.save()
                segments = Segment.objects.filter(image=image)
                print "image id", image.id, "segments", len(segments), segments
                for segment in segments:
                    s = Segment()
                    s.x1 = segment.x1
                    s.y1 = segment.y1
                    s.x2 = segment.x2
                    s.y2 = segment.y2
                    s.image = i
                    s.filename = str(segment.filename).replace('/'+str(user_template.id)+'/','/'+str(user.id)+'/')
                    #print 'cp "{0}{1}" "{2}{3}"'.format(BASE_DIR+'/segment/static/',str(segment.filename),BASE_DIR+'/segment/static/',str(s.filename))
                    #os.popen('cp "{0}{1}" "{2}{3}"'.format(BASE_DIR+'/segment/static/',str(segment.filename),BASE_DIR+'/segment/static/',str(s.filename)))
                    s.save()
                    for tag in segment.tags.all():
                        tag_new = Tag.objects.filter(image_type=it,name=tag.name)
                        s.tags.add(tag_new[0])
Exemple #40
0
def process_tags(tags, message, user):
    for tag in tags:
        try:
            new_tag = Tag.objects.get(name=tag, user=user)
        except Tag.DoesNotExist:
            new_tag = Tag(name=tag, user=user, type='user')
            new_tag.save()
        message_tag = MessageTag(tag=new_tag, message=message)
        message_tag.save()
def newTag(text):
  try:
    #Construct the tag.
    tag = Tag()
    tag.tag = text
    tag.save()
    return tag
  except Exception as e:
    print "ERROR CONSTRUCTING TAG: {}".format(e)
Exemple #42
0
def api_tags(request, *, page='1'):
    check_admin(request)
    page_index = get_page_index(page)
    num = yield from Tag.findNumber('count(id)')
    p = Page(num, page_index)
    if num == 0:
        return dict(page=p, tags=())
    tags = yield from Tag.findAll(orderBy='ctime desc', limit=(p.offset, p.limit))
    return dict(page=p, tags=tags)
Exemple #43
0
class TagTest(TestCase):
    def setUp(self):
        self.user1 = User.objects.create_user('tester1', 'tester1')
        self.tag = Tag(content="test", creator=self.user1)
        self.tag.save()

    def test_creator(self):
        self.assertEqual(self.tag.creator, self.user1)
        self.assertTrue(self.tag in self.user1.tags_i_created.all())
Exemple #44
0
    def setUp(self):
        """Make demo data."""

        db.drop_all()
        db.create_all()
        t1 = Tag(name='glass art')
        t2 = Tag(name='renovations')
        db.session.add_all([t1, t2])
        db.session.commit()
Exemple #45
0
    def test_news_method(self):
        tag = Tag.new("DC")

        self.assertIs(tag, Tag.query.get(tag.id))

        # create request context for flash messages
        with app.test_request_context() as ctx:
            dup_tag = Tag.new("DC")
            self.assertIsNone(dup_tag)
Exemple #46
0
def admin_tag_edit(uid):
    try:
        tag_to_edit = Tag.get(Tag.id == uid)
        all_tags = Tag.select().where(Tag.id != tag_to_edit.id)
    except Tag.DoesNotExist:
        abort(404)
    return render_template('tag_edit.html',
                           editing=True,
                           tag_to_edit=tag_to_edit,
                           all_tags=all_tags)
Exemple #47
0
def edit_post(post_id):
    post = Post.query.get(post_id)
    post.title = request.form['title']
    post.content = request.form['content']
    db.session.commit()

    tags = request.form.getlist('tags')
    Tag.fill_tags(tags, post_id)

    return redirect(f"/posts/{post.id}")
Exemple #48
0
 def post(self):
     data = super().post()
     name = data.get('name')
     items = Tag.query.filter_by(name=name).all()
     if items:
         return self.abort(f'Tag with the name "{name}" already exists!')
     new_item = Tag(name=name)
     self.session.add(new_item)
     self.session.commit()
     return self.make_response(new_item.serialize())
Exemple #49
0
def create_question(request, question_id=None):
    '''create or update a answer based on a question id'''
    user = request.user
    if request.POST:
        #save form
        question = None
        question_id = request.POST["question_id"]
        if question_id:
            #editing
            question = Question.objects.get(id=question_id)
        form = QuestionForm(request.POST, instance=question)
        if form.is_valid():
            author = user.username
            question = form.save(commit=False)
            question.author = user
            question.save()

            currentTags = question.tags.all()
            for eachTag in currentTags:
                question.tags.remove(eachTag)

            tags = request.POST['tags']
            if tags:
                tags = tags.split(",")
                print >> sys.stderr, repr(tags)
                for eachTag in tags:
                    thisTag = Tag.objects.filter(text=eachTag)
                    if not thisTag:
                        #new tag
                        tag = Tag(text=eachTag.strip())
                        tag.save()
                    else:
                        #old tag
                        tag = thisTag[0]
                    question.tags.add(tag)
            return HttpResponseRedirect('/hello/question/%s' % question.id)
    else:
        #show form
        args = {}
        question = None
        tags = ""
        if question_id:
            #editing current
            question = Question.objects.get(id=question_id)
            args['question'] = question
            args['command'] = "Update"
            tags = ",".join(question.tags.values_list("text", flat=True))
        else:
            args['command'] = "Create"
        form = QuestionForm(tags=tags, instance=question)
        args['form'] = form

        return render_to_response("create_question.html",
                                  args,
                                  context_instance=RequestContext(request))
Exemple #50
0
def add_tag():
	'''
	Add new user or team tag to post
	Id's for users and teams are kept separate and unique by prepending with 'u' or 't'
	TODO: sort of backwards to send this to client and then back to server to send email notifications. Call directly from here

	Args:
		- post_id: post id for parent post
		- tag_ids: | delimited string with user or team ids for tags
		- tag_text: | delimited string with text of tags (team and user names)

	Returns:
		-json including tagged_user_ids and tagged_team_ids
	'''

	user_id = g.user.id
	form = request.form
	post_id = form.get("parent_post_id")

	tag_ids = request.form['tag_ids'].split('|')
	tag_text = request.form['tag_text'].split('|')

	tagged_user_ids = [] # used in kudos.js for send_notifications
	tagged_team_ids = []

	for i in range(len(tag_ids)-1): #last index will be "" because of delimiters
		#USER TAGS
		if tag_ids[i][0] == 'u':
			tag_user_id = int(tag_ids[i][1:]) #remove leading 'u' to convert back to int user_id
			new_tag = Tag(user_tag_id=tag_user_id, body=tag_text[i], post_id=post_id, tag_author=user_id, time=datetime.utcnow())

			tagged_user = User.query.filter_by(id=tag_user_id).first()
			# get tag information to create avatars client side
			db.session.add(new_tag)

			tagged_user_ids.append(tagged_user.id)

		#TEAM TAGS
		if tag_ids[i][0] == 't':
			tag_team_id = int(tag_ids[i][1:]) #remove leading 't' to convert back to int team_id
			new_tag = Tag(team_tag_id=tag_team_id, body=tag_text[i], post_id=post_id, tag_author=user_id, time=datetime.utcnow())

			tagged_team = Team.query.filter_by(id=tag_team_id).first()
			db.session.add(new_tag)

			tagged_team_ids.append(tagged_team.id)

	db.session.commit()

	new_tag_dict={}
	new_tag_dict['tagged_user_ids'] = tagged_user_ids
	new_tag_dict['tagged_team_ids'] = tagged_team_ids
	tag_info_json = json.dumps(new_tag_dict)

	return tag_info_json
Exemple #51
0
def index():
    user = User(username="******", email="*****@*****.**")
    article = Article(title="教你礼尚往来", content="我喜欢你你也得喜欢我")
    article.author = user
    tag1 = Tag(name="python")
    tag2 = Tag(name="java")
    article.tags.append(tag1)
    article.tags.append(tag2)
    db.session.add(article)
    db.session.commit()
    return 'hello world'
Exemple #52
0
    def setUp(self):
        """Remove existing tables, create sample user"""

        Tag.query.delete()
        Article.query.delete()
        # intermediate tables should have been removed due to on delete cascade

        self.tag = Tag(keyword="testing")

        db.session.add(self.tag)
        db.session.commit()
def index():
    user = User(username='******', email='*****@*****.**')
    article = Article(title='flask is cool')
    article.author = user
    tag1 = Tag(name='Python')
    tag2 = Tag(name='Scrapy')
    article.tags.append(tag1)
    article.tags.append(tag2)
    db.session.add(article)
    db.session.commit()
    return 'hello world'
Exemple #54
0
def add_data():
    user = User(username='******', email='*****@*****.**')
    article = Article(title='钢铁是怎样炼成的', content='没有金刚钻就不揽瓷器活')
    article.author = user
    tag1 = Tag(name='人物传记')
    tag2 = Tag(name='故事会')
    article.tags.append(tag1)
    article.tags.append(tag2)
    db.session.add(article)
    db.session.commit()
    print('添加数据成功')
Exemple #55
0
def create_tag_if_not_found(tagnum):
    taglock.lock()
    try:
        Tag.objects.get(tagnum=tagnum)
    except ObjectDoesNotExist:
        t = Tag(
            tagnum=tagnum,
            tag=tagnum_to_tag(tagnum),
        )
        t.save()
    taglock.unlock()
Exemple #56
0
def create_tag(tagnum=None):
    taglock.lock()
    if tagnum is None:
        tagnum = generate_unique_tagnum()
    t = Tag(
        tagnum=tagnum,
        tag=tagnum_to_tag(tagnum),
    )
    t.save()
    taglock.unlock()
    return t
Exemple #57
0
 def save(self):
     try:
         super(GenericTagInlineFormset, self).save()
     except TypeError, e:
         if e.message[0].startswith('Uniqueness'):
             tag = self.forms[0].instance
             new_item_type = tag.item_type
             obj = Tag.get_object(tag)
             tags = Tag.get_tags(obj)
             tags.update(item_type=new_item_type)
             self.save()
def hello_world():
    user = User(username='******', email='*****@*****.**')
    article = Article(title='abc', content='123')
    article.author = user
    tag1 = Tag(name='前端')
    tag2 = Tag(name='Python')
    article.tags.append(tag1)
    article.tags.append(tag2)
    db.session.add(article)
    db.session.commit()
    return 'Hello World!'
Exemple #59
0
def hello_world():
    user = User(username='******', email='*****@*****.**')
    article = Article(title='他强任他强', content='老子何杨杨')
    article.author = user
    tag1 = Tag(name='篮球界代码写的最好')
    tag2 = Tag(name='代码界篮球打的最好')
    article.tags.append(tag1)
    article.tags.append(tag2)
    db.session.add(article)
    db.session.commit()
    return 'Hello World!'
Exemple #60
-1
def upload_new_question(question_source, question, tags):
    new_question = Question(question = question, question_source=question_source)
    new_question.save()
    tags_final = []

    for tag in tags:
        try:
            search_tag = Tag.objects.get(tag=tag)
            tags_final.append(search_tag)
            continue
        except Tag.DoesNotExist:
            new_tag = Tag(tag=tag)
            new_tag.save()
            tags_final.append(new_tag)
            continue
        continue
    
    for tag in tags_final:
        print tag.tag

    for tag in tags_final:
        tag.questions.append(new_question)
        tag.save()
        continue

    return new_question.id