docstr: Removes all given orders from the blotter's open_orders list.
  
  Parameters
  ----------
  closed_orders: iterable of orders that are closed.
  
  Returns
  -------
  None
docstr_tok: ["Removes","all","given","orders","from","the","blotter","'s","open_orders","list",".","Parameters","--","--","--","--","--","closed_orders",":","iterable","of","orders","that","are","closed",".","Returns","--","--","--","-","None"]
code: def prune_orders(self, closed_orders):
      """
      Removes all given orders from the blotter's open_orders list.
  
      Parameters
      ----------
      closed_orders: iterable of orders that are closed.
  
      Returns
      -------
      None
      """
      # remove all closed orders from our open_orders dict
      for order in closed_orders:
          asset = order.asset
          asset_orders = self.open_orders[asset]
          try:
              asset_orders.remove(order)
          except ValueError:
              continue
  
      # now clear out the assets from our open_orders dict that have
      # zero open orders
      for asset in list(self.open_orders.keys()):
          if len(self.open_orders[asset]) == 0:
              del self.open_orders[asset]
  
imports: from logbook import Logger
  from collections import defaultdict
  from copy import copy
  from six import iteritems
  from catalyst.assets import Equity, Future, Asset
  from catalyst.finance.order import Order
  from catalyst.finance.slippage import DEFAULT_FUTURE_VOLUME_SLIPPAGE_BAR_LIMIT, VolatilityVolumeShare, VolumeShareSlippage
  from catalyst.finance.commission import DEFAULT_PER_CONTRACT_COST, FUTURE_EXCHANGE_FEES_BY_SYMBOL, PerContract, PerShare
  from catalyst.finance.cancel_policy import NeverCancel
  from catalyst.utils.input_validation import expect_types
  from catalyst.constants import LOG_LEVEL
label_desc: Use image node_id 13 for calling the Blotter obj's underlying member method code with example usage: obj.prune_orders(closed_orders) without return types