Ejemplo n.º 1
0
class notify(BlankView):
    @method_decorator(csrf_exempt)
    @method_decorator(validators.RateLimitDecorator)
    def post(self, request, user, *args, **kwargs):
        headers = {}
        emitter = get_emitter(request, 'xml')

        try:
            user = User.objects.get(email=user)
        except exceptions.ObjectDoesNotExist, e:
            xml = messagexml('User does not exist')
            status = 404
            return prepxml(etree.tostring(xml), status)

        form = forms.RawNotifyForm(data=request.raw_post_data)
        if form.is_valid():
            subscription = form.cleaned_data.get('subscription')
            bookmark = form.cleaned_data.get('bookmark')
            n = Notification(user=user,
                             subscription=subscription,
                             bookmark=bookmark)
            n.save()
            # subscription_model, created = user.user_subscriptions.get_or_create(callback_url=uri.url_full, user=user)
            xml = messagexml('Notification added', type="success")
            status = 201
        else:
            xml = messagexml('Error with form validation: %s' % form.errors)
            status = 500

        return emitter.run(etree.tostring(xml), status)
Ejemplo n.º 2
0
    def post(self, request, *args, **kwargs):

        form = RawUrlForm(data=request.raw_post_data)
        if form.is_valid():
            url_list = form.cleaned_data.get('urls')
            for u in url_list:
                url_model, created = UrlModel.objects.get_or_create(url=u, )

            num_added = len(url_list)
            xml = messagexml("Added %s Records" % (num_added))
        else:
            xml = messagexml('Error with form validation: %s' % form.errors)
            print form.errors

        status = 201
        return prepxml(etree.tostring(xml), status)
Ejemplo n.º 3
0
    def get(self, request, *args, **kwargs):
        format = kwargs.get('format', '')
        emitter = get_emitter(request, format)
        try:
            status = 200

            site = Site.objects.get_current()
            categories = Category.objects.all()

            E = ElementMaker()
            CATEGORIES = E.categories
            CATEGORY = E.category
            URI = E.uri
            NAME = E.name

            xml = CATEGORIES(*map(
                lambda x: CATEGORY(
                    URI("http://%s%s" %
                        (site.domain,
                         reverse('api_category', args=[
                             x.category,
                         ]))), NAME(x.category)), categories))

            if emitter.type == 'xhtml':
                xml = xml_to_xslt(xml=xml,
                                  template="api/v2_categories.xslt",
                                  context={
                                      'title': 'Categories',
                                      'heading': 'Categories'
                                  })
        except exceptions.ObjectDoesNotExist, e:
            xml = messagexml('Category does not exist')
            status = 404
Ejemplo n.º 4
0
    def get(self, request, *args, **kwargs):
        format = kwargs.get('format','')
        emitter = get_emitter(request, format) 
        try:
            status = 200

            site = Site.objects.get_current()
            categories = Category.objects.all()
            
            E = ElementMaker()            
            CATEGORIES = E.categories
            CATEGORY = E.category
            URI = E.uri
            NAME = E.name
            
            xml = CATEGORIES(*map(lambda x:  CATEGORY(
                URI("http://%s%s" % ( site.domain, reverse('api_category', args=[x.category,]))), 
                NAME(x.category)
            ), categories))
            
            if emitter.type == 'xhtml': 
                xml = xml_to_xslt(xml=xml, template="api/v2_categories.xslt", 
                              context={'title':'Categories','heading':'Categories'}) 
        except exceptions.ObjectDoesNotExist, e:
            xml = messagexml('Category does not exist')
            status=404
Ejemplo n.º 5
0
 def post(self, request, *args, **kwargs):
 
     form = RawUrlForm(data=request.raw_post_data)
     if form.is_valid():
         url_list = form.cleaned_data.get('urls')
         for u in url_list:
             url_model, created = UrlModel.objects.get_or_create(url=u,)
             
         num_added = len(url_list)
         xml = messagexml("Added %s Records" % (num_added))
     else:
         xml = messagexml('Error with form validation: %s' % form.errors)
         print form.errors
     
     status=201
     return prepxml(etree.tostring(xml), status)
Ejemplo n.º 6
0
 def get(self, request, user, *args, **kwargs):
     format = kwargs.get('format', '')
     emitter = get_emitter(request, format)
     try:
         user = User.objects.get(email=user)
     except exceptions.ObjectDoesNotExist, e:
         xml = messagexml('Object does not exist')
         status = 404
Ejemplo n.º 7
0
 def get(self, request, user, *args, **kwargs):
     format = kwargs.get('format','')
     emitter = get_emitter(request, format)    
     try:
         user = User.objects.get(email=user)
     except exceptions.ObjectDoesNotExist, e:
          xml = messagexml('Object does not exist')
          status=404
Ejemplo n.º 8
0
    def post(self, request, *args, **kwargs):
        headers = {}
        emitter = get_emitter(request, 'xml')
        form = forms.RawUserForm(data=request.raw_post_data)
        if form.is_valid():
            password = uuid.uuid4().hex
            username = form.cleaned_data.get('username')
            new_user = User.objects.create(username=username,
                                           email=username,
                                           password=password)
            status = 201
            xml = messagexml("User Added", type="success")
        else:
            xml = messagexml('Error with form validation: %s' % form.errors)
            status = 500
            print form.errors

        return emitter.run(etree.tostring(xml), status, headers)
Ejemplo n.º 9
0
    def post(self, request, *args, **kwargs):
        headers = {}
        emitter = get_emitter(request, 'xml')  
        form = forms.RawUserForm(data=request.raw_post_data)
        if form.is_valid():
            password = uuid.uuid4().hex
            username = form.cleaned_data.get('username')
            new_user = User.objects.create(username=username, 
                                           email=username,
                                           password=password)
            status = 201
            xml = messagexml("User Added", type="success")
        else:
            xml = messagexml('Error with form validation: %s' % form.errors)
            status = 500
            print form.errors

        return emitter.run(etree.tostring(xml), status, headers)
Ejemplo n.º 10
0
    def post(self, request, user, *args, **kwargs):
        headers = {}
        emitter = get_emitter(request, 'xml')

        try:
            user = User.objects.get(email=user)
        except exceptions.ObjectDoesNotExist, e:
            xml = messagexml('User does not exist')
            status = 404
            return prepxml(etree.tostring(xml), status)
Ejemplo n.º 11
0
    def post(self, request, user, *args, **kwargs):
        headers = {}
        emitter = get_emitter(request, 'xml')  

        try:
            user = User.objects.get(email=user)
        except exceptions.ObjectDoesNotExist, e:
            xml = messagexml('User does not exist')
            status=404
            return prepxml(etree.tostring(xml), status)
Ejemplo n.º 12
0
    def get(self, request, category, *args, **kwargs):
        format = kwargs.get('format', '')
        emitter = get_emitter(request, format)
        try:
            status = 200

            site = Site.objects.get_current()
            category = Category.objects.get(category=category)
            bookmarks = category.category_bookmarks.all()

        except exceptions.ObjectDoesNotExist, e:
            xml = messagexml('Category does not exist')
            status = 404
Ejemplo n.º 13
0
    def get(self, request, category, *args, **kwargs):
        format = kwargs.get('format','')
        emitter = get_emitter(request, format)
        try:
            status = 200

            site = Site.objects.get_current()
            category = Category.objects.get(category=category)
            bookmarks = category.category_bookmarks.all()

        except exceptions.ObjectDoesNotExist, e:
            xml = messagexml('Category does not exist')
            status=404
Ejemplo n.º 14
0
            for new_category in new_categories:

                if new_category not in existing_categories:
                    category_obj, created = Category.objects.get_or_create(
                        category__iexact=new_category,
                        defaults={'category': new_category})
                    bookmark_model.categories.add(category_obj)
            #    bookmark_model, created = Bookmark.objects.get_or_create(url=u,)
            if new_comments:
                bookmark_model.bookmark_comments.all().delete()
                for new_comment in new_comments:
                    bookmark_model.bookmark_comments.create(
                        comment=new_comment)

            status = 201
            xml = messagexml("Bookmark Added", type="success")
            headers.update({'Location': bookmark_model.get_absolute_url()})
        else:
            xml = messagexml('Error with form validation: %s' % form.errors)
            status = 500
            print form.errors

        return emitter.run(etree.tostring(xml), status, headers)


class users_bookmark(BlankView):
    @method_decorator(validators.RateLimitDecorator)
    def get(self, request, user, url_id, *args, **kwargs):
        format = kwargs.get('format', '')
        emitter = get_emitter(request, format)
Ejemplo n.º 15
0
            existing_categories = [c.category for c in bookmark_model.categories.all()]
            
            for new_category in new_categories:
        
                if new_category not in existing_categories:
                    category_obj, created = Category.objects.get_or_create(category__iexact=new_category,
                                            defaults={'category':new_category})
                    bookmark_model.categories.add(category_obj)
            #    bookmark_model, created = Bookmark.objects.get_or_create(url=u,)
            if new_comments:
                bookmark_model.bookmark_comments.all().delete()
                for new_comment in new_comments:
                    bookmark_model.bookmark_comments.create(comment=new_comment) 
            
            status = 201
            xml = messagexml("Bookmark Added", type="success")
            headers.update({'Location': bookmark_model.get_absolute_url() })
        else:
            xml = messagexml('Error with form validation: %s' % form.errors)
            status = 500
            print form.errors

        return emitter.run(etree.tostring(xml), status, headers)



class users_bookmark(BlankView):

    @method_decorator(validators.RateLimitDecorator)
    def get(self, request, user, url_id, *args, **kwargs):
        format = kwargs.get('format','')