/python/engine/XingMa/__init__.py

http://scim-python.googlecode.com/ · Python · 48 lines · 15 code · 8 blank · 25 comment · 5 complexity · a4986bba1d452d1de2cd2cef625225e1 MD5 · raw file

  1. # -*- coding: utf-8 -*-
  2. # vim: set noet ts=4:
  3. #
  4. # scim-python
  5. #
  6. # Copyright (c) 2008-2008 Yu Yuwei <acevery@gmail.com>
  7. #
  8. #
  9. # This library is free software; you can redistribute it and/or
  10. # modify it under the terms of the GNU Lesser General Public
  11. # License as published by the Free Software Foundation; either
  12. # version 2 of the License, or (at your option) any later version.
  13. #
  14. # This library is distributed in the hope that it will be useful,
  15. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. # GNU Lesser General Public License for more details.
  18. #
  19. # You should have received a copy of the GNU Lesser General Public
  20. # License along with this program; if not, write to the
  21. # Free Software Foundation, Inc., 59 Temple Place, Suite 330,
  22. # Boston, MA 02111-1307 USA
  23. #
  24. # $Id: $
  25. #
  26. from glob import glob
  27. from os import path
  28. factorys = []
  29. def get_factorys (config):
  30. global factorys
  31. wildcast = path.join (path.dirname (__file__), "tables/*.db")
  32. if len (factorys) == 0:
  33. import XingMa
  34. for db in [name for name in glob (wildcast) if path.isfile (name)]:
  35. try:
  36. factorys.append (XingMa.Factory (config,db))
  37. except:
  38. import traceback
  39. traceback.print_exc ()
  40. return factorys