Example #1
0
 def __init__(self, request, db):
     """Extract filters etc. information from http request."""
     self.db = db
     self.sort = sort_from_request(request)
     self.pg = pagination_from_request(request)
     self.ss = samples_selection_from_request(request, db)
     self.fc = variant_filters_from_request(request, db, self.ss)
     self.stats = stats_service(db)
Example #2
0
 def __init__(self, request, db):
     """Extract filters etc. information from http request."""
     self.db = db
     self.sort = sort_from_request(request)
     self.pg = pagination_from_request(request)
     self.ss = samples_selection_from_request(request, db)
     self.fc = variant_filters_from_request(request, db, self.ss)
     self.stats = stats_service(db)
def variant_filters_from_request(request, db, samples_selection=None):
    """Parse a GET Request and return a list of requested filters.
    A filter is a tuple (name, operation, value), corresponding to a request
    of the type '?name=value'. See the REST API documentation for more information.
    :rtype: FiltersCollection
    """
    filters = []
    filterlist = request.GET.getlist('filter', [])
    if samples_selection is None:
        samples_selection = samples_selection_from_request(request, db)
    for f in filterlist:
        m = re.match(r"(\S+?)([<>=]{1,2})(.+)", f)
        if m:
            k, op, v = m.groups()
            filters.append((k, op, v))
        else:
            filters.append((f, '=', '1'))
    return variant_filters_collection_factory(filters, samples_selection, db)
Example #4
0
def variant_filters_from_request(request, db, samples_selection=None):
    """Parse a GET Request and return a list of requested filters.
    A filter is a tuple (name, operation, value), corresponding to a request
    of the type '?name=value'. See the REST API documentation for more information.
    :rtype: FiltersCollection
    """
    filters = []
    filterlist = request.GET.getlist('filter', [])
    if samples_selection is None:
        samples_selection = samples_selection_from_request(request, db)
    for f in filterlist:
        m = re.match(r"(\S+?)([<>=]{1,2})(.+)", f)
        if m:
            k, op, v = m.groups()
            filters.append((k, op, v))
        else:
            filters.append((f, '=', '1'))
    return variant_filters_collection_factory(filters, samples_selection, db)
def variant_filters_from_request(request, db, samples_selection=None):
    """Parse a GET Request and return a list of requested filters.
    A filter is a tuple (name, operation, value), corresponding to a request
    of the type '?name=value'. See the REST API documentation for more information.
    :rtype: FiltersCollection
    """
    filters = []
    filterlist = request.GET.getlist('filter', [])
    if filterlist == []:
        filterlist = ['genotype=none']
    if samples_selection is None:
        samples_selection = samples_selection_from_request(request, db)
    for f in filterlist:
        m = re.match(r"(\S+?)([<>=]{1,2})(.+)", f)
        if m:
            k, op, v = m.groups()
            filters.append((k, op, v))
        else:
            filters.append((f, '=', '1'))
    with open('/home/liaoth/Desktop/debug.info','a+') as f1:
        f1.write('filters=%s ; samples=%s \n' % (str(filters),str(samples_selection)))
    return variant_filters_collection_factory(filters, samples_selection, db)
Example #6
0
def samples(request, db, user=None):
    """Return a JSON with the list of Samples."""
    ss = samples_selection_from_request(request, db)
    return JsonResponse(ss.expose(), safe=False)
Example #7
0
def samples(request, db, user=None):
    """Return a JSON with the list of Samples."""
    ss = samples_selection_from_request(request, db)
    return JsonResponse(ss.expose(), safe=False)
 def test_samples_selection_from_request(self):
     """Create a SamplesSelection from groups dessribed in URL."""
     request = RequestFactory().get('', [('samples','group1=09818'),
                                         ('samples','group2=09819'), ('samples','group3=09960,09961')])
     ss = samples_selection_from_request(request, db='test')
     self.assertIsInstance(ss, SamplesSelection)