示例#1
0
 def delete(self, request, obj_id, format=None):
     try:
         obj = self.queryset.objects.get(appcivist_id=obj_id)
         obj.delete()
         content = JSONRenderer().render({'text': 'The object was deleted correctly'})
         resp = Response(status=status.HTTP_200_OK)
         resp.content = content
         return resp
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#2
0
 def delete(self, request, obj_id, format=None):
     try:
         obj = self.queryset.objects.get(ideascale_id=obj_id)
         obj.delete()
         content = JSONRenderer().render(
             {'text': 'The object was deleted correctly'})
         resp = Response(status=status.HTTP_200_OK)
         resp.content = content
         return resp
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#3
0
 def get(self, request, obj_id, format=None):
     try:
         api = get_api_obj(self.initiative)
         obj_raw = getattr(api, self.api_method)(**self.api_method_params)
         obj = self.create_obj(obj_raw.id, self.initiative, obj_raw)
         serializer = self.serializer_class(obj)
         return Response(serializer.data)
     except IdeaScalyError as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = 'Error: {}'.format(e.reason)
         return resp
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#4
0
 def get(self, request, obj_id, format=None):
     try:
         api = get_api_obj(self.initiative)
         obj_raw = getattr(api, self.api_method)(**self.api_method_params)
         obj = self.create_obj(obj_raw.id, self.initiative, obj_raw)
         serializer = self.serializer_class(obj)
         return Response(serializer.data)
     except IdeaScalyError as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = 'Error: {}'.format(e.reason)
         return resp
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#5
0
 def post(self, request, initiative_id, format=None):
     assembly_id = initiative_id
     try:
         idea_details = {
             "status": "PUBLISHED",
             "title": request.data["title"],
             "text": request.data["text"],
             "type": "IDEA",
             "campaigns": [request.data['campaign_id']]
         }
         campaign = Campaign.objects.get(
             appcivist_id=request.data["campaign_id"])
         # if 'tags' in request.data.keys():
         #     tags = [tag.strip() for tag in idea_details['tags'].split(',')]
         #     idea_details['tags'] = tags
         self.api_method_params = {
             "sid": campaign.resource_space_id,
             "idea": idea_details
         }
         self.api_method = 'create_idea'
         self.create_obj = cru_idea
         self.serializer_class = IdeaSerializer
         self.filters = {}
         assembly = Assembly.objects.get(appcivist_id=assembly_id)
         return super(Ideas, self).post(request, assembly)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return "hola mundo"
         return resp
示例#6
0
    def get(self, request, *args, **kwargs):  # pylint: disable=unused-argument
        version = self.get_object()
        logger.debug('Processing flag requested for %s version %s', self.resource, version)

        response = Response(status=200)
        response.content = version.is_processing
        return response
示例#7
0
    def post(self, request, assembly, format=None):
        respmsg = "inicio"
        try:
            api = get_api_obj(assembly)

            api.ignore_admin_user = "******"
            api.social_ideation_source = request.data[
                'source']  # indicates the name of the providerId (e.g., social_ideation_facebook)
            api.social_ideation_source_url = request.data[
                'source_url']  # source to the original post
            api.social_ideation_user_source_url = request.data[
                'user_url']  # link to the user
            api.social_ideation_user_source_id = request.data[
                'user_external_id']  # email or id of the user in the source social network
            api.social_ideation_user_name = request.data[
                'user_name']  # the name of the author in the social network
            api.assembly_id = assembly.appcivist_id
            new_obj_raw = getattr(api,
                                  self.api_method)(**self.api_method_params)
            new_obj_id = find_obj_id(new_obj_raw)
            new_obj = self.create_obj(new_obj_id, assembly, new_obj_raw)
            serializer = self.serializer_class(new_obj)
            if self.filters:
                new_obj.sync = True
                new_obj.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)

        except Exception as e:
            resp = Response(status=status.HTTP_400_BAD_REQUEST)
            resp.content = e
            return resp
示例#8
0
    def post(self, request, assembly, format=None):
        respmsg = "inicio"
        try:
            api = get_api_obj(assembly)

            api.ignore_admin_user = "******"
            api.social_ideation_source = request.data['source'] # indicates the name of the providerId (e.g., social_ideation_facebook)
            api.social_ideation_source_url = request.data['source_url'] # source to the original post
            api.social_ideation_user_source_url = request.data['user_url'] # link to the user
            api.social_ideation_user_source_id = request.data['user_external_id'] # email or id of the user in the source social network
            api.social_ideation_user_name = request.data['user_name'] # the name of the author in the social network
            api.assembly_id = assembly.appcivist_id
            new_obj_raw = getattr(api, self.api_method)(**self.api_method_params)
            new_obj_id = find_obj_id(new_obj_raw)
            new_obj= self.create_obj(new_obj_id, assembly, new_obj_raw)
            serializer = self.serializer_class(new_obj)
            if self.filters:
                new_obj.sync = True
                new_obj.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)

        except Exception as e:
            resp = Response(status=status.HTTP_400_BAD_REQUEST)
            resp.content = e
            return resp
示例#9
0
def save_analysis(analysis, arguments, analysis_type, project_id):
    """
    Save an analysis in the database after is executed
    """
    try:
        with transaction.atomic():
            # Save analysis
            analysisSerializer = AnalysisSerializer(data=analysis)
            analysisSerializer.is_valid()
            analysisSerializer.save()

            # Save arguments
            arguments_list = create_arguments(analysis_type, arguments)
            for arg in arguments_list:
                argumentSerializer = ArgumentSerializer(data=arg)
                argumentSerializer.is_valid()
                argumentSerializer.save()

            # Modify project updated field
            if project_id:
                modify_project_updated_field(project_id)

            return Response(analysisSerializer.data,
                            status=status.HTTP_201_CREATED)
    except Exception as ex:
        resp = Response(status=status.HTTP_400_BAD_REQUEST)
        resp.content = ex
        return resp
示例#10
0
def testget(request):
    response = Response()
    if request.method == 'GET':
        response.status_code = 200
        response.content = 'get_succees'
        return response
    elif request.method == 'POST':
        if request.data['value'] == 'i':
            response.status_code = 200
            response.content = 'valu is right'
        elif request.data['value'] == 'u':
            response.status_code = 200
            response.content = 'value is fault'
        else:
            response.status_code = status.HTTP_400_BAD_REQUEST
        return response
    response.status_code = status.HTTP_400_BAD_REQUEST
    return response
示例#11
0
 def get(self, request, format=None):
     try:
         datasets = Dataset.objects.filter(project__owner=request.user.id)
         serializer = DatasetSerializer(datasets, many=True)
         return Response(serializer.data)
     except Exception as ex:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = ex
         return resp
示例#12
0
 def get(self, request, format=None):
     try:
         initiatives = Initiative.objects.all()
         serializer = InitiativeSerializer(initiatives, many=True)
         return Response(serializer.data)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#13
0
 def get(self, request, format=None):
     try:
         projects = Project.objects.all().filter(owner=self.request.user)
         serializer = ProjectGetSerializer(projects, many=True)
         return Response(serializer.data)
     except Exception as ex:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = ex
         return resp
示例#14
0
 def get(self, request, format=None):
     try:
         assemblies = Assembly.objects.all()
         serializer = AssemblySerializer(assemblies, many=True)
         return Response(serializer.data)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#15
0
 def get(self, request, format=None):
     try:
         initiatives = Initiative.objects.all()
         serializer = InitiativeSerializer(initiatives, many=True)
         return Response(serializer.data)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#16
0
 def get(self, request, format=None):
     try:
         assemblies = Assembly.objects.all()
         serializer = AssemblySerializer(assemblies, many=True)
         return Response(serializer.data)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#17
0
 def post(self, request, initiative, format=None):
     try:
         api = get_api_obj(initiative)
         new_obj_raw = getattr(api, self.api_method)(**self.api_method_params)
         new_obj= self.create_obj(new_obj_raw.id, initiative, new_obj_raw)
         serializer = self.serializer_class(new_obj)
         if self.filters:
             new_obj.sync = True
             new_obj.save()
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     except IdeaScalyError as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = 'Error: {}'.format(e.reason)
         return resp
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#18
0
 def post(self, request, initiative, format=None):
     try:
         api = get_api_obj(initiative)
         new_obj_raw = getattr(api,
                               self.api_method)(**self.api_method_params)
         new_obj = self.create_obj(new_obj_raw.id, initiative, new_obj_raw)
         serializer = self.serializer_class(new_obj)
         if self.filters:
             new_obj.sync = True
             new_obj.save()
         return Response(serializer.data, status=status.HTTP_201_CREATED)
     except IdeaScalyError as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = 'Error: {}'.format(e.reason)
         return resp
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#19
0
 def get(self, request, initiative_id, format=None):
     try:
         initiative = Initiative.objects.get(id=initiative_id)
         campaigns = cru_campaign(-100, initiative)
         serializer = CampaignSerializer(campaigns, many=True)
         return Response(serializer.data)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#20
0
 def get(self, request, initiative_id, format=None):
     try:
         initiative = Initiative.objects.get(id=initiative_id)
         campaigns = cru_campaign(-100, initiative)
         serializer = CampaignSerializer(campaigns, many=True)
         return Response(serializer.data)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#21
0
 def get(self, request, initiative_id, format=None):
     assembly_id = initiative_id
     try:
         assembly = Assembly.objects.get(appcivist_id=assembly_id)
         campaigns = cru_campaign(-100, assembly)
         serializer = CampaignSerializer(campaigns, many=True)
         return Response(serializer.data)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#22
0
def get_bitstream_data(request,id):
    """
    Return data from an especified bitstream.
    """
    try:
        bitstream_data =  Bitstream.retrieve(dspace,id,**dict(request.query_params))
        response = Response(status=status.HTTP_200_OK)
        response.content = bitstream_data
        return  response
    except Collection.DoesNotExist:
        raise Http404
示例#23
0
 def get(self, request, initiative_id, format=None):
     assembly_id = initiative_id
     try:
         assembly = Assembly.objects.get(appcivist_id=assembly_id)
         campaigns = cru_campaign(-100, assembly)
         serializer = CampaignSerializer(campaigns, many=True)
         return Response(serializer.data)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#24
0
 def get(self, request, obj_id, format=None):
     try:
         api = get_api_obj(self.assembly)
         obj_raw = getattr(api, self.api_method)(**self.api_method_params)
         obj = self.create_obj(find_obj_id(obj_raw), self.assembly, obj_raw)
         serializer = self.serializer_class(obj)
         return Response(serializer.data)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#25
0
 def get(self, request, obj_id, format=None):
     try:
         api = get_api_obj(self.assembly)
         obj_raw = getattr(api, self.api_method)(**self.api_method_params)
         obj = self.create_obj(find_obj_id(obj_raw), self.assembly, obj_raw)
         serializer = self.serializer_class(obj)
         return Response(serializer.data)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#26
0
 def get(self, request, initiative, format=None):
     call_api = True
     try:
         self.queryset.objects.all().update(sync=True)
         while call_api:
             objs_raw = get_ideascale_data(initiative, self.api_method,
                                           self.api_method_params,
                                           self.pag_params)
             if len(objs_raw) > 0:
                 for obj_raw in objs_raw:
                     self.create_obj(obj_raw.id, initiative, obj_raw)
                 if self.pag_params:
                     self.pag_params['page_number'] += 1
                 if not self.iterate:
                     call_api = False
             else:
                 call_api = False
         if self.filters:
             objs = self.queryset.objects.filter(**self.filters)
             # Delete all that have sync=True (?)
         else:
             objs = self.queryset.objects.all()
         serializer = self.serializer_class(objs, many=True)
         if self.client_attr:
             try:
                 client = Client.objects.get(user=request.user)
                 setattr(client, self.client_attr,
                         objs.order_by('-datetime').first())
                 client.save()
             except Client.DoesNotExist:
                 pass
         serialized_data = serializer.data
         return Response(serialized_data)
     except IdeaScalyError as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = 'Error: {}'.format(e.reason)
         return resp
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#27
0
 def get(self, request, user_id, format=None):
     try:
         author = Author.objects.get(appcivist_id=user_id)
         self.assembly = author.assembly
         self.api_method = 'get_author_info'
         self.api_method_params = {'uid': user_id}
         self.create_obj = cru_author
         return super(AuthorDetail, self).get(request, user_id)
     except Author.DoesNotExist, e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#28
0
 def get(self, request, comment_id, format=None):
     try:
         comment = Comment.objects.get(ideascale_id=comment_id)
         self.initiative = self.get_initiative(comment)
         self.api_method = 'get_comment'
         self.api_method_params = {'commentId': comment_id}
         self.create_obj = cru_comment
         return super(CommentDetail, self).get(request, comment_id)
     except Comment.DoesNotExist, e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#29
0
def get_analysis_parameters(analysis_type):
    """
    Get the parameters of an analysis 
    """
    try:
        parameters = Parameter.objects.filter(analysis_type=analysis_type)
        serializer = ParameterSerializer(parameters, many=True)
        return Response(serializer.data)
    except Exception as ex:
        resp = Response(status=status.HTTP_400_BAD_REQUEST)
        resp.content = ex
        return resp
示例#30
0
 def get(self, request, idea_id, format=None):
     try:
         idea = Idea.objects.get(ideascale_id=idea_id)
         self.initiative = idea.campaign.initiative
         self.api_method = 'get_idea_details'
         self.api_method_params = {'ideaId': idea_id}
         self.create_obj = cru_idea
         return super(IdeaDetail, self).get(request, idea_id)
     except Idea.DoesNotExist, e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#31
0
 def get(self, request, idea_id, format=None):
     try:
         idea = Idea.objects.get(ideascale_id=idea_id)
         self.initiative = idea.campaign.initiative
         self.api_method = 'get_idea_details'
         self.api_method_params = {'ideaId': idea_id}
         self.create_obj = cru_idea
         return super(IdeaDetail, self).get(request, idea_id)
     except Idea.DoesNotExist, e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#32
0
 def get(self, request, user_id, format=None):
     try:
         author = Author.objects.get(appcivist_id=user_id)
         self.assembly = author.assembly
         self.api_method = 'get_author_info'
         self.api_method_params = {'uid': user_id}
         self.create_obj = cru_author
         return super(AuthorDetail, self).get(request, user_id)
     except Author.DoesNotExist, e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#33
0
 def get(self, request, user_id, format=None):
     try:
         author = Author.objects.get(ideascale_id=user_id)
         self.initiative = author.initiative
         self.api_method = 'get_member_info_by_id'
         self.api_method_params = {'memberId': user_id}
         self.create_obj = cru_author
         return super(AuthorDetail, self).get(request, user_id)
     except Author.DoesNotExist, e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#34
0
 def get(self, request, comment_id, format=None):
     try:
         comment = Comment.objects.get(ideascale_id=comment_id)
         self.initiative = self.get_initiative(comment)
         self.api_method = 'get_comment'
         self.api_method_params = {'commentId': comment_id}
         self.create_obj = cru_comment
         return super(CommentDetail, self).get(request, comment_id)
     except Comment.DoesNotExist, e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#35
0
 def get(self, request, comment_id, format=None):
     try:
         comment = Comment.objects.get(appcivist_id=comment_id)
         self.assembly = self.get_assembly(comment)
         self.api_method = 'get_comment_details'
         self.api_method_params = {"aid": self.assembly.appcivist_id,'coid': comment_id}
         self.create_obj = cru_comment
         return super(CommentDetail, self).get(request, comment_id)
     except Comment.DoesNotExist, e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#36
0
 def get(self, request, user_id, format=None):
     try:
         author = Author.objects.get(ideascale_id=user_id)
         self.initiative = author.initiative
         self.api_method = 'get_member_info_by_id'
         self.api_method_params = {'memberId': user_id}
         self.create_obj = cru_author
         return super(AuthorDetail, self).get(request, user_id)
     except Author.DoesNotExist, e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#37
0
 def get(self, request, idea_id, format=None):
     try:
         idea = Idea.objects.get(appcivist_id=idea_id)
         self.assembly = idea.campaign.assembly
         self.api_method = 'get_idea_details'
         self.api_method_params = {"aid": self.assembly.appcivist_id, "coid": idea_id}
         self.create_obj = cru_idea
         return super(IdeaDetail, self).get(request, idea_id)
     except Idea.DoesNotExist, e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#38
0
def get_analysis(request, analysis_type):
    """
    Get an analysis
    """
    try:
        analysis = Analysis.objects.filter(analysis_type=analysis_type,
                                           project__owner=request.user.id)
        serializer = AnalysisSerializer(analysis, many=True)
        return Response(serializer.data)
    except Exception as ex:
        resp = Response(status=status.HTTP_400_BAD_REQUEST)
        resp.content = ex
        return resp
示例#39
0
    def get(self, request, *args, **kwargs):  # pylint: disable=unused-argument
        version = self.get_object()
        is_debug = request.query_params.get('debug', None) in ['true', True]

        if is_debug:
            return Response(dict(is_processing=version.is_processing,
                                 process_ids=version._background_process_ids))  # pylint: disable=protected-access

        logger.debug('Processing flag requested for %s version %s', self.resource, version)

        response = Response(status=200)
        response.content = version.is_processing
        return response
示例#40
0
 def get(self, request, initiative, format=None):
     call_api = True
     try:
         self.queryset.objects.all().update(sync=True)
         while call_api:
             objs_raw = get_ideascale_data(initiative, self.api_method, self.api_method_params, self.pag_params)
             if len(objs_raw) > 0:
                 for obj_raw in objs_raw:
                     self.create_obj(obj_raw.id, initiative, obj_raw)
                 if self.pag_params:
                     self.pag_params['page_number'] += 1
                 if not self.iterate:
                     call_api = False
             else:
                 call_api = False
         if self.filters:
             objs = self.queryset.objects.filter(**self.filters)
             # Delete all that have sync=True (?)
         else:
             objs = self.queryset.objects.all()
         serializer = self.serializer_class(objs, many=True)
         if self.client_attr:
             try:
                 client = Client.objects.get(user=request.user)
                 setattr(client, self.client_attr, objs.order_by('-datetime').first())
                 client.save()
             except Client.DoesNotExist:
                 pass
         serialized_data = serializer.data
         return Response(serialized_data)
     except IdeaScalyError as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = 'Error: {}'.format(e.reason)
         return resp
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#41
0
 def get(self, request, initiative_id, format=None):
     try:
         self.api_method = 'get_all_votes_comments'
         self.client_attr = 'last_vote'
         self.create_obj = cru_vote
         self.queryset = Vote
         self.serializer_class = VoteSerializer
         self.filters = {'sync': False}
         initiative = Initiative.objects.get(id=initiative_id)
         return super(VotesComments, self).get(request, initiative)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#42
0
 def get(self, request, initiative_id, format=None):
     try:
         self.api_method = 'get_all_members'
         self.pag_params = {'page_number': self.PAGE_NUMBER, 'page_size': self.PAGE_SIZE}
         self.iterate = True
         self.create_obj = cru_author
         self.queryset = Author
         self.serializer_class = AuthorSerializer
         initiative = Initiative.objects.get(id=initiative_id)
         return super(Authors,self).get(request, initiative)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#43
0
 def post(self, request, initiative_id, format=None):
     try:
         author_details = {'name': request.data['name'], 'email': request.data['email']}
         author_details.update({'silent': False}) # by Marce: previously True. 
         self.api_method_params = author_details
         self.api_method = 'create_new_member'
         self.create_obj = cru_author
         self.serializer_class = AuthorSerializer
         initiative = Initiative.objects.get(id=initiative_id)
         return super(Authors,self).post(request, initiative)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#44
0
 def get(self, request, initiative_id, format=None):
     try:
         self.api_method = 'get_all_votes_comments'
         self.client_attr = 'last_vote'
         self.create_obj = cru_vote
         self.queryset = Vote
         self.serializer_class = VoteSerializer
         self.filters = {'sync': False}
         initiative = Initiative.objects.get(id=initiative_id)
         return super(VotesComments,self).get(request, initiative)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#45
0
 def call(self, route):
     response = Response()
     try:
         sim_response = SimResponse.objects.get(route=route)
         response.status_code = sim_response.http_status_code
         response.content = sim_response.body
         headers = sim_response.headers.splitlines()
         for header in headers:
             key, value = header.split(':')
             response[key] = value
         sleep(sim_response.sleep_second)
     except SimResponse.DoesNotExist:
         return u'This api does not exist'
     return response.content
示例#46
0
def post_analysis(request, analysis_type):
    """
    Post an analysis
    """
    # Get analysis related data
    try:
        project_id, dataset_id, arguments, docs = \
        get_analysis_related_fields(request, analysis_type)
    except Exception as ex:
        response = Response(status=status.HTTP_400_BAD_REQUEST)
        response.content = ex
        return response

    analysis_status = IN_PROGRESS
    results = json.dumps([])

    # Create analysis
    analysis = {
        'name': request.data['name'],
        'project': project_id,
        'dataset': dataset_id,
        'analysis_type': analysis_type,
        'analysis_status': analysis_status,
        'result': results
    }
    response = save_analysis(analysis, arguments, analysis_type, project_id)

    # Get target thread function
    if analysis_type == SENTIMENT_ANALYSIS:
        target_function = create_sentiment_analysis_results
    elif analysis_type == DOCUMENT_CLUSTERING:
        target_function = create_document_clustering_results
    elif analysis_type == CONCEPT_EXTRACTION:
        target_function = create_concept_extraction_results
    elif analysis_type == DOCUMENT_CLASSIFICATION:
        target_function = create_document_classification_results

    # Create analysis results in a non-blocking thread
    analysis_id = response.data['id']
    analysis_thread = Thread(target=target_function,
                             args=(
                                 arguments,
                                 docs,
                                 analysis_id,
                             ))
    analysis_thread.setDaemon(True)
    analysis_thread.start()

    return response
示例#47
0
 def get(self, request, comment_id, format=None):
     try:
         comment = Comment.objects.get(appcivist_id=comment_id)
         self.assembly = self.get_assembly(comment)
         self.api_method = 'get_comment_details'
         self.api_method_params = {
             "aid": self.assembly.appcivist_id,
             'coid': comment_id
         }
         self.create_obj = cru_comment
         return super(CommentDetail, self).get(request, comment_id)
     except Comment.DoesNotExist, e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#48
0
 def get(self, request, idea_id, format=None):
     try:
         idea = Idea.objects.get(appcivist_id=idea_id)
         self.assembly = idea.campaign.assembly
         self.api_method = 'get_idea_details'
         self.api_method_params = {
             "aid": self.assembly.appcivist_id,
             "coid": idea_id
         }
         self.create_obj = cru_idea
         return super(IdeaDetail, self).get(request, idea_id)
     except Idea.DoesNotExist, e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#49
0
 def post(self, request, comment_id, format=None):
     try:
         comment = Comment.objects.get(ideascale_id=comment_id)
         initiative = self.get_initiative(comment)
         comment_details = {'text': request.data['text'], 'commentId': comment_id}
         self.api_method = 'comment_comment'
         self.api_method_params = comment_details
         self.create_obj = cru_comment
         self.serializer_class = CommentSerializer
         self.filters = {'sync':True}
         return super(CommentsComment,self).post(request, initiative)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#50
0
 def get(self, request, idea_id, format=None):
     try:
         idea = Idea.objects.get(ideascale_id=idea_id)
         initiative = idea.campaign.initiative
         self.api_method = 'get_votes_idea'
         self.client_attr = 'last_vote_idea'
         self.api_method_params = {'ideaId': idea_id}
         self.create_obj = cru_vote
         self.queryset = Vote
         self.serializer_class = VoteSerializer
         self.filters = {'sync': False}
         return super(VotesIdea, self).get(request, initiative)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#51
0
 def get(self, request, comment_id, format=None):
     try:
         comment = Comment.objects.get(ideascale_id=comment_id)
         self.api_method = 'get_votes_comment'
         self.client_attr = 'last_vote_comment'
         self.api_method_params = {'commentId': comment_id}
         self.create_obj = cru_vote
         self.queryset = Vote
         self.serializer_class = VoteSerializer
         self.filters = {'sync': False}
         initiative = self.get_initiative(comment)
         return super(VotesComment, self).get(request, initiative)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#52
0
 def get(self, request, idea_id, format=None):
     try:
         idea = Idea.objects.get(ideascale_id=idea_id)
         initiative = idea.campaign.initiative
         self.api_method = 'get_votes_idea'
         self.client_attr = 'last_vote_idea'
         self.api_method_params = {'ideaId': idea_id}
         self.create_obj = cru_vote
         self.queryset = Vote
         self.serializer_class = VoteSerializer
         self.filters = {'sync':False}
         return super(VotesIdea, self).get(request, initiative)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#53
0
 def get(self, request, comment_id, format=None):
     try:
         comment = Comment.objects.get(ideascale_id=comment_id)
         self.api_method = 'get_votes_comment'
         self.client_attr = 'last_vote_comment'
         self.api_method_params = {'commentId': comment_id}
         self.create_obj = cru_vote
         self.queryset = Vote
         self.serializer_class = VoteSerializer
         self.filters = {'sync': False}
         initiative = self.get_initiative(comment)
         return super(VotesComment, self).get(request, initiative)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#54
0
 def get(self, request, idea_id, format=None):
     try:
         idea = Idea.objects.get(appcivist_id=idea_id)
         assembly = idea.campaign.assembly
         self.api_method = 'get_feedbacks_of_idea'
         self.client_attr = 'last_vote_idea'
         self.api_method_params = {"aid":assembly.appcivist_id , "coid":idea.appcivist_id}
         self.create_obj = cru_feedback
         self.queryset = Feedback
         self.serializer_class = FeedbackSerializer
         self.filters = {'sync':False}
         return super(FeedbacksIdea, self).get(request, assembly)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#55
0
 def get(self, request, comment_id, format=None):
     try:
         comment = Comment.objects.get(appcivist_id=comment_id)
         self.api_method = 'get_feedbacks_of_comment'
         self.client_attr = 'last_vote_comment'
         self.create_obj = cru_feedback
         self.queryset = Feedback
         self.serializer_class = FeedbackSerializer
         self.filters = {'sync': False}
         assembly = self.get_assembly(comment)
         self.api_method_params = {"aid": assembly.appcivist_id, "coid": comment.appcivist_id}
         return super(FeedbacksComment, self).get(request, assembly)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#56
0
 def get(self, request, initiative_id, format=None):
     assembly_id = initiative_id
     try:
         self.api_method = 'get_feedbacks_of_all_ideas'
         self.client_attr = 'last_vote'
         self.create_obj = cru_feedback
         self.queryset = Feedback
         self.serializer_class = FeedbackSerializer
         self.filters = {'sync': False}
         assembly = Assembly.objects.get(appcivist_id=assembly_id)
         self.api_method_params = {"aid": assembly.appcivist_id}
         return super(FeedbacksIdeas,self).get(request, assembly)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#57
0
 def get(self, request, initiative_id, format=None):
     assembly_id = initiative_id
     try:
         self.api_method = 'get_all_authors'
         self.pag_params = {'page_number': self.PAGE_NUMBER, 'page_size': self.PAGE_SIZE}
         self.iterate = False
         self.create_obj = cru_author
         self.queryset = Author
         self.serializer_class = AuthorSerializer
         assembly = Assembly.objects.get(appcivist_id=assembly_id)
         self.api_method_params = {"aid" : assembly.appcivist_id}
         return super(Authors,self).get(request, assembly)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#58
0
 def post(self, request, comment_id, format=None):
     try:
         comment = Comment.objects.get(appcivist_id=comment_id)
         assembly = self.get_assembly(comment)
         comment_details = {"status": "PUBLISHED", "title": request.data["text"][:10],
                            "text": request.data["text"], "type": "COMMENT"}
         self.api_method = "comment_discussion"
         self.api_method_params = {"sid": comment.resource_space_id, "comment": comment_details}
         self.create_obj = cru_comment
         self.serializer_class = CommentSerializer
         self.filters = {'sync':True}
         return super(CommentsComment,self).post(request, assembly)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#59
0
 def get(self, request, idea_id, format=None):
     try:
         idea = Idea.objects.get(appcivist_id=idea_id)
         assembly = idea.campaign.assembly
         self.api_method = 'get_comments_of_idea'
         self.api_method_params = {'sid': idea.resource_space_id}
         self.client_attr = 'last_comment_idea'
         self.create_obj = cru_comment
         self.queryset = Comment
         self.serializer_class = CommentSerializer
         self.filters = {'sync':False, 'parent_idea': idea}
         return super(CommentsIdea,self).get(request, assembly)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp
示例#60
0
 def post(self, request, idea_id, format=None):
     try:
         idea = Idea.objects.get(appcivist_id=idea_id)
         assembly = idea.campaign.assembly
         if request.data['value'] > 0:
             self.api_method = 'vote_up_idea'
         else:
             self.api_method = 'vote_down_idea'
         self.api_method_params = {"caid": assembly.campaign.appcivist_id, "coid": idea.appcivist_id}
         self.create_obj = cru_feedback
         self.serializer_class = FeedbackSerializer
         self.filters = {'sync':True}
         return super(FeedbacksIdea,self).post(request, assembly)
     except Exception as e:
         resp = Response(status=status.HTTP_400_BAD_REQUEST)
         resp.content = e
         return resp