code: def configure(self, config):
          
  
          specification = config.get(
              'ckan.budgets.specification',
              os.path.join(os.path.dirname(__file__),
                           'data', 'bdp', 'schema.json'))
          self.data = BudgetDataPackage(specification)
  
          countries_json = config.get(
              'ckan.budgets.countries',
              os.path.join(os.path.dirname(__file__),
                           'data', 'countries.json'))
          with open(countries_json) as country_list:
              self.countries = json.load(country_list)
  
          country = config.get('ckan.budgets.default.country', None)
          if country is not None:
              self.default_country = country.upper()
              if self.default_country not in self.countries:
                  raise ValueError('Uknown country code "{code}"'.format(
                      code=country))
          else:
              self.default_currency = None
  
          currencies_json = config.get(
              'ckan.budget.currencies',
              os.path.join(os.path.dirname(__file__),
                           'data', 'currencies.json'))
          with open(currencies_json) as currency_list:
              self.currencies = json.load(currency_list)
  
          currency = config.get('ckan.budgets.default.currency', None)
          if currency is not None:
              self.default_currency = currency.upper()
              if self.default_currency not in self.currencies:
                  raise ValueError('Unknown currency code "{code}"'.format(
                      code=currency))
          else:
              self.default_currency = None
  
          statuses_json = config.get(
              'ckan.budget.statuses',
              os.path.join(os.path.dirname(__file__),
                           'data', 'bdp', 'statuses.json'))
          with open(statuses_json) as statuses_list:
              self.statuses = json.load(statuses_list)
docs: Initialize the plugin. This creates a data object which holds a
          BudgetDataPackage parser which operates based on a specification
          which is either provided in the config via:
          ``ckan.budgets.specification`` or the included version.