Exemple #1
0
    def search(self, query):
        fltr = query.get('filter', {})
        params = query.get('params', {})
        regex = params.pop('regex', False)
        ignorecase = params.pop('ignorecase', False)
        page = params.pop('page', 1) - 1
        rng = params.pop('range', 50)

        return list(get_queryset(self.objectmanager, fltr, regex, ignorecase)[page * rng:(page + 1) * rng])
Exemple #2
0
    def search(self, query):
        fltr = query.get('filter', {})
        params = query.get('params', {})
        regex = params.pop('regex', False)
        ignorecase = params.pop('ignorecase', False)
        page = params.pop('page', 1) - 1
        rng = params.pop('range', 50)

        return list(get_queryset(self.objectmanager, fltr, regex, ignorecase)[page * rng:(page + 1) * rng])
Exemple #3
0
 def search(self, query):
     fltr = query.get('filter', {})
     params = query.get('params', {})
     regex = params.pop('regex', False)
     ignorecase = params.pop('ignorecase', False)
     page = params.pop('page', 1) - 1
     rng = params.pop('range', 50)        
     userLogger.info("User %s search : filter=%s params=%s regex=%s",current_user.username,fltr,params,regex)
     return list(
         get_queryset(self.objectmanager, fltr, regex,
                      ignorecase)[page * rng:(page + 1) * rng])
Exemple #4
0
    def search(self, query):
        fltr = query.get("filter", {})
        params = query.get("params", {})
        regex = params.pop("regex", False)
        ignorecase = params.pop("ignorecase", False)
        page = params.pop("page", 1) - 1
        rng = params.pop("range", 50)

        return list(
            get_queryset(self.objectmanager, fltr, regex, ignorecase, replace=False)[
                page * rng : (page + 1) * rng
            ]
        )
Exemple #5
0
    def neighbors_advanced(self, klass, filter, regex, ignorecase, page, rng):
        from core.web.helpers import get_queryset

        out = [(l, l.dst) for l in Link.objects(__raw__={"src.$id": self.id, "dst.cls": re.compile(klass._class_name)}).no_dereference()]
        inc = [(l, l.src) for l in Link.objects(__raw__={"dst.$id": self.id, "src.cls": re.compile(klass._class_name)}).no_dereference()]

        all_links = {ref.id: link for link, ref in inc + out}
        filter['id__in'] = all_links.keys()

        objs = list(get_queryset(klass, filter, regex, ignorecase).limit(rng).skip(page * rng))

        final_list = [(all_links[obj.id], obj) for obj in objs]

        return final_list
Exemple #6
0
    def _get_queryset(self, form_params):
        ids = form_params.getlist('ids')
        query = form_params.get('query')

        if ids:
            return Observable.objects(id__in=ids)
        else:
            query = json.loads(query)
            fltr = query.get('filter', {})
            params = query.get('params', {})
            regex = params.pop('regex', False)
            ignorecase = params.pop('ignorecase', False)

            return get_queryset(Observable, fltr, regex, ignorecase)
Exemple #7
0
    def _get_queryset(self, form_params):
        ids = form_params.getlist('ids')
        query = form_params.get('query')

        if ids:
            return Observable.objects(id__in=ids)
        else:
            query = json.loads(query)
            fltr = query.get('filter', {})
            params = query.get('params', {})
            regex = params.pop('regex', False)
            ignorecase = params.pop('ignorecase', False)

            return get_queryset(Observable, fltr, regex, ignorecase)
Exemple #8
0
    def neighbors_advanced(self, klass, filter, regex, ignorecase, page, rng):
        from core.web.helpers import get_queryset

        out = [(l, l.dst) for l in Link.objects(__raw__={"src.$id": self.id, "dst.cls": re.compile(klass._class_name)}).no_dereference()]
        inc = [(l, l.src) for l in Link.objects(__raw__={"dst.$id": self.id, "src.cls": re.compile(klass._class_name)}).no_dereference()]

        all_links = {ref.id: link for link, ref in inc + out}
        filter['id__in'] = all_links.keys()

        objs = list(get_queryset(klass, filter, regex, ignorecase).limit(rng).skip(page * rng))

        final_list = [(all_links[obj.id], obj) for obj in objs]

        return final_list
Exemple #9
0
 def search(self, query):
     fltr = query.get('filter', {})
     params = query.get('params', {})
     regex = params.pop('regex', False)
     ignorecase = params.pop('ignorecase', False)
     page = params.pop('page', 1) - 1
     rng = params.pop('range', 50)
     investigations = get_queryset(self.objectmanager,
                                   fltr,
                                   regex,
                                   ignorecase,
                                   replace=False)
     if not current_user.has_role('admin'):
         shared_ids = [current_user.id
                       ] + [group.id for group in get_user_groups()]
         investigations = investigations.filter(
             Q(sharing__size=0) | Q(sharing__in=shared_ids)
             | Q(sharing__exists=False))
     return list(investigations)[page * rng:(page + 1) * rng]
Exemple #10
0
    def _get_selected_observables(self, data):
        if isinstance(data, MultiDict):
            ids = data.getlist("ids")
            query = data.get("query")
        else:
            ids = data.get("ids", None)
            query = data.get("query", None)

        if ids:
            return Observable.objects(id__in=ids)
        elif query:
            query = json.loads(query)
            fltr = query.get("filter", {})
            params = query.get("params", {})
            regex = params.pop("regex", False)
            ignorecase = params.pop("ignorecase", False)

            return get_queryset(Observable, fltr, regex, ignorecase)
        else:
            return []
Exemple #11
0
    def _get_selected_observables(self, data):
        if isinstance(data, MultiDict):
            ids = data.getlist('ids')
            query = data.get('query')
        else:
            ids = data.get('ids', None)
            query = data.get('query', None)

        if ids:
            return Observable.objects(id__in=ids)
        elif query:
            query = json.loads(query)
            fltr = query.get('filter', {})
            params = query.get('params', {})
            regex = params.pop('regex', False)
            ignorecase = params.pop('ignorecase', False)

            return get_queryset(Observable, fltr, regex, ignorecase)
        else:
            return []
Exemple #12
0
    def _get_selected_observables(self, data):
        if isinstance(data, MultiDict):
            ids = data.getlist('ids')
            query = data.get('query')
        else:
            ids = data.get('ids', None)
            query = data.get('query', None)

        if ids:
            return Observable.objects(id__in=ids)
        elif query:
            query = json.loads(query)
            fltr = query.get('filter', {})
            params = query.get('params', {})
            regex = params.pop('regex', False)
            ignorecase = params.pop('ignorecase', False)

            return get_queryset(Observable, fltr, regex, ignorecase)
        else:
            return []