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])
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])
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 ] )
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
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)
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]
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 []
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 []