def load_all(self, modified_since=None):
		"""Load All"""
		logger.debug("Begin load_all()")
		ts = self.term_stat('SupplierCatalog Load')
		tx = transaction.get()
		try:
			plugins = self.load_plugins()
			query = DBSession.query(FileImportModel)
			if modified_since:
				query = query.filter(FileImportModel.modified >= modified_since)
			ts['total'] = query.count()
			for file_import in query.yield_per(1):
				#print file_import.name
				for plug in plugins.itervalues():
					is_match = plug.match_file_import(file_import)
					if is_match:
						self.load_one(plug, file_import)
						break
				DBSession.expunge(file_import)
				ts['done'] += 1
		except Exception:
			logger.exception("Caught Exception: ")
			tx.abort()
		finally:
			ts.finish()
		transaction.commit()
		logger.debug("End load_all()")
	def update_encoding(self):
		logger.debug("Begin update_encoding()")
		ts = self.term_stat('SupplierCatalog UpdateEncoding')
		plugins = self.load_plugins()
		tx = transaction.get()
		try:
			query = DBSession.query(SupplierCatalogModel)
			query = query.order_by(desc(SupplierCatalogModel.created))
			ts['total'] = query.count()
			for supplier_catalog in query.yield_per(100):
				if supplier_catalog.supplier_catalog_filter_id is None:
					continue
				#if supplier_catalog.encoding is None:
				if True:
					plug = plugins[supplier_catalog.supplier_catalog_filter_id]
					encoding = plug.get_encoding(supplier_catalog)
					if encoding is None:
						encoding = plug.default_encoding
					supplier_catalog.encoding = encoding['encoding']
				DBSession.expunge(supplier_catalog.file_import)
			ts['done'] += 1
		except Exception:
			logger.exception("Caught Exception: ")
			tx.rollback()
		finally:
			ts.finish()
		logger.debug("update_encoding()")