Source code for openbases.main.icons

# Copyright (c) 2018, Vanessa Sochat All rights reserved.
# See the LICENSE in the main repository at:
#    https://www.github.com/openbases/openbases-python

from openbases.logger import bot
import requests
import random
import os
import re
import sys


[docs]def get_icons(url="https://openbases.github.io/openbases-icons/icons.json", regexp=None, N=1): '''get a number of icons from the openbases-icons repository, and return a list. Parameters ========== url: the openbases-icons json list (or other) of icons to choose from regexp: a regular expression to filter by (default None, no filter) N: the number of icons to return (default is 1) Returns ======= icons: a list of filtered (or not) icons ''' try: icons = requests.get(url).json() except: bot.error("Error parsing json at %s" % url) # Does the user want to filter? if regexp is not None: icons = [i for i in icons if re.search(regexp, i)] # The number of results to return random.shuffle(icons) # A search might not have results if len(icons) >= N: icons = icons[0:0+N] return icons