Exemple #1
0
def paste(request, uplace_id):
    vd = vd_login_for_browser(request)
    uplace = UserPlace.objects.get(vd_id__in=vd.realOwner_vd_ids, id=uplace_id)

    if request.method == 'POST':
        pb = PostBase()
        pb.uuid = uplace.uuid
        if 'note' in request.POST and request.POST['note']:
            note, is_created = PlaceNote.get_or_create_smart(
                request.POST['note'])
            pb.notes.append(note)
        if request.FILES:
            for file in request.FILES.itervalues():
                rf = RawFile.objects.create(vd=vd, file=file)
                rf.start()
                img, is_created = Image.get_or_create_smart(rf.url)
                pb.images.append(img)
        if 'lp' in request.POST and request.POST['lp']:
            lp, is_created = LegacyPlace.get_or_create_smart(
                request.POST['lp'])
            pb.lps.append(lp)
            pb_MAMMA = pb.pb_MAMMA
            if pb_MAMMA:
                place, is_created = Place.get_or_create_smart(pb_MAMMA, vd)
                uplace.placed(place)

        if pb.ujson:
            pp = PostPiece.create_smart(uplace, pb)
            if uplace.is_empty:
                uplace.is_empty = False
                uplace.save()

        uplace._clearCache()

    return render(request, 'ui/paste.html', context=dict(uplace=uplace))
Exemple #2
0
 def test_get_or_create_smart(self):
     vd = VD.objects.create()
     test_data = 'http://place.kakao.com/places/15738374'
     lp, is_created = LegacyPlace.get_or_create_smart(test_data)
     pb = PostBase()
     pb.lps.append(lp)
     place, is_created = Place.get_or_create_smart(pb.pb_MAMMA, vd)
     placePost = place.placePost
     self.assertDictEqual(pb.pb_MAMMA.json, placePost.json)
     self.assertEqual(unicode(place), '방아깐')
Exemple #3
0
def url_placed(request):
    url = None
    places = None
    vd_id = request.session[VD_SESSION_KEY]
    vd = VD.objects.get(id=vd_id)
    if not vd:
        raise ValueError('Admin Login Required')

    if request.method == 'POST':
        raw_url = request.POST['url']
        url, is_created = Url.get_or_create_smart(raw_url)
        if not url:
            raise ValueError('Invalid URL')
        raw_places = request.POST['places']

        for raw_place in raw_places.split('\n'):
            raw_place = raw_place.strip()
            is_remove = False
            if raw_place.startswith('-'):
                is_remove = True
                raw_place = raw_place[1:]
            if not raw_place:
                continue
            lp_content = LegacyPlace.normalize_content(raw_place)
            if lp_content:
                lp, is_created = LegacyPlace.get_or_create_smart(lp_content)
                pb = PostBase()
                pb.lps.append(lp)
                place, is_created = Place.get_or_create_smart(pb.pb_MAMMA, vd)
                if is_remove:
                    url.remove_place(place)
                else:
                    url.add_place(place)
            else:
                raise NotImplementedError
        places = [place for place in url.places.all()]

    return render(request, 'admin2/url_placed.html',
                  dict(url=url, places=places))