'sceneaccess use different url for different supercategories (let\'s call them scopes)
For example, most categories (international tv, movies, games, ...) reside within `browse` with url
www.sceneaccess.eu/browse or mp3 and 0day releases have their own scope called `mp3/0day` but their url is
www.sceneaccess.eu/spam
this method iterates over all possible combinations and returns a list of dicts that contain both relative link
to scope as well as url fragments of categories that main method search() will use:
Return example:
{\'url_path\': \'spam\',
\'category_url_string\': \'&c40=40&c13=13\''

def process_categories(self, config):

    to_process = dict()
    scope = u'browse'
    category = config.get(u'category')
    if category:
        if isinstance(category, dict):
            for scope in category:
                if isinstance(category[scope], bool):
                    category[scope] = []
                elif (not isinstance(category[scope], list)):
                    category[scope] = [category[scope]]
                to_process[scope] = category[scope]
        else:
            category = [category]
            to_process[scope] = category
    else:
        to_process[scope] = []
    ret = list()
    for (scope, categories) in to_process.items():
        cat_id_list = list()
        for category in categories:
            try:
                cat_id = CATEGORIES[scope][category]
            except KeyError:
                cat_id = category
            if isinstance(cat_id, list):
                for l in cat_id:
                    cat_id_list.append(l)
            else:
                cat_id_list.append(cat_id)
        if (scope == u'mp3/0day'):
            scope = u'spam'
        category_url_string = u''.join([(((u'&c' + str(x)) + u'=') + str(x)) for x in cat_id_list])
        ret.append({u'url_path': scope, u'category_url_string': category_url_string})
        return ret
