Example #1
0
def _process_special_query(query):
    """
    Processes the given special query;
    returns a list of resource ids matching the query;
    ids are the INTERNAL Django ids, not the StorageObject identifiers!!!
    """
    query_type, resource_id = query.split(":")
    # get resource
    try:
        res = resourceInfoType_model.objects.get(
            storage_object__identifier=resource_id)
    except resourceInfoType_model.DoesNotExist:
        LOGGER.info('Ignoring unknown storage identifier "%s" in "%s" query.',
                    resource_id, query_type)
        return []
    # get related resources
    if query_type == MORE_FROM_SAME_CREATORS:
        rel_res = get_more_from_same_creators(res)
    elif query_type == MORE_FROM_SAME_PROJECTS:
        rel_res = get_more_from_same_projects(res)
    else:
        LOGGER.info('Ignoring unknown special query type "%s".', query_type)
        return []
    # return internal ids from related resources
    return [x.id for x in rel_res]
Example #2
0
def _process_special_query(query):
    """
    Processes the given special query;
    returns a list of resource ids matching the query;
    ids are the INTERNAL Django ids, not the StorageObject identifiers!!!
    """
    query_type, resource_id = query.split(":")
    # get resource
    try:
        res = resourceInfoType_model.objects.get(
            storage_object__identifier=resource_id)
    except resourceInfoType_model.DoesNotExist:
        LOGGER.info('Ignoring unknown storage identifier "%s" in "%s" query.',
            resource_id, query_type)
        return []
    # get related resources
    if query_type == MORE_FROM_SAME_CREATORS:
        rel_res = get_more_from_same_creators(res)
    elif query_type == MORE_FROM_SAME_PROJECTS:
        rel_res = get_more_from_same_projects(res)
    else:
        LOGGER.info('Ignoring unknown special query type "%s".', query_type)
        return []
    # return internal ids from related resources
    return [x.id for x in rel_res]
Example #3
0
 def test_project(self):
     self.assertEquals(0, len(get_more_from_same_projects(self.res_1)))
     self.assertEquals(1, len(get_more_from_same_projects(self.res_2)))
     self.assertEquals(1, len(get_more_from_same_projects(self.res_3)))
     self.assertEquals(2, len(get_more_from_same_projects(self.res_4)))
     self.assertEquals(0, len(get_more_from_same_projects(self.res_5)))
Example #4
0
 def test_project(self):
     self.assertEquals(0, len(get_more_from_same_projects(self.res_1)))
     self.assertEquals(1, len(get_more_from_same_projects(self.res_2)))
     self.assertEquals(1, len(get_more_from_same_projects(self.res_3)))
     self.assertEquals(2, len(get_more_from_same_projects(self.res_4)))
     self.assertEquals(0, len(get_more_from_same_projects(self.res_5)))