def _get_all_services(crypto=None, just_exchange=False):
from moneywagon.crypto_data import crypto_data<EOL>if not crypto:<EOL><INDENT>to_iterate = crypto_data.items()<EOL><DEDENT>else:<EOL><INDENT>to_iterate = [(crypto, crypto_data[crypto])]<EOL><DEDENT>services = []<EOL>for currency, data in to_iterate:<EOL><INDENT>if '<STR_LIT>' not in data:<EOL><INDENT>continue<EOL><DEDENT>if currency == '<STR_LIT>':<EOL><INDENT>continue <EOL><DEDENT>price_services = data['<STR_LIT>']['<STR_LIT>']<EOL>del data['<STR_LIT>']['<STR_LIT>']<EOL>all_services = list(price_services.values())<EOL>if not just_exchange:<EOL><INDENT>all_services += list(data['<STR_LIT>'].values())<EOL><DEDENT>data['<STR_LIT>']['<STR_LIT>'] = price_services<EOL>services.append([<EOL>item for sublist in all_services for item in sublist<EOL>])<EOL><DEDENT>return sorted(<EOL>set([item for sublist in services for item in sublist]),<EOL>key=lambda x: x.__name__<EOL>)<EOL>
Go through the crypto_data structure and return all list of all (unique)
installed services. Optionally filter by crypto-currency.