home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 May / maximum-cd-2010-05.iso / DiscContents / boxee-0.9.20.10711.exe / scripts / OpenSubtitles / resources / lib / utilities.py < prev    next >
Encoding:
Text File  |  2009-07-20  |  2.6 KB  |  70 lines

  1. import sys
  2. import os
  3. import xbmc
  4. import xbmcgui
  5.  
  6. DEBUG_MODE = 5
  7.  
  8. _ = sys.modules[ "__main__" ].__language__
  9. __scriptname__ = sys.modules[ "__main__" ].__scriptname__
  10. __version__ = sys.modules[ "__main__" ].__version__
  11.  
  12. # comapatble versions
  13. SETTINGS_VERSIONS = ( "1.0", )
  14. # base paths
  15. BASE_DATA_PATH = os.path.join( "special://masterprofile/script_data", __scriptname__ )
  16. BASE_SETTINGS_PATH = os.path.join( "special://masterprofile/script_data", __scriptname__ )
  17. BASE_RESOURCE_PATH = sys.modules[ "__main__" ].BASE_RESOURCE_PATH
  18. # special action codes
  19. SELECT_ITEM = ( 11, 256, 61453, )
  20. EXIT_SCRIPT = ( 10, 247, 275, 61467, 216, 257, 61448, )
  21. CANCEL_DIALOG = EXIT_SCRIPT + ( 216, 257, 61448, )
  22. GET_EXCEPTION = ( 216, 260, 61448, )
  23. SELECT_BUTTON = ( 229, 259, 261, 61453, )
  24. MOVEMENT_UP = ( 166, 270, 61478, )
  25. MOVEMENT_DOWN = ( 167, 271, 61480, )
  26. # Log status codes
  27. LOG_INFO, LOG_ERROR, LOG_NOTICE, LOG_DEBUG = range( 1, 5 )
  28.  
  29. def _create_base_paths():
  30.     """ creates the base folders """
  31.     if ( not os.path.isdir( BASE_DATA_PATH ) ):
  32.         os.makedirs( BASE_DATA_PATH )
  33.     if ( not os.path.isdir( BASE_SETTINGS_PATH ) ):
  34.         os.makedirs( BASE_SETTINGS_PATH )
  35. _create_base_paths()
  36.  
  37. def get_keyboard( default="", heading="", hidden=False ):
  38.     """ shows a keyboard and returns a value """
  39.     keyboard = xbmc.Keyboard( default, heading, hidden )
  40.     keyboard.doModal()
  41.     if ( keyboard.isConfirmed() ):
  42.         return keyboard.getText()
  43.     return default
  44.  
  45. def get_numeric_dialog( default="", heading="", type=3 ):
  46.     """ shows a numeric dialog and returns a value
  47.         - 0 : ShowAndGetNumber        (default format: #)
  48.         - 1 : ShowAndGetDate        (default format: DD/MM/YYYY)
  49.         - 2 : ShowAndGetTime        (default format: HH:MM)
  50.         - 3 : ShowAndGetIPAddress    (default format: #.#.#.#)
  51.     """
  52.     dialog = xbmcgui.Dialog()
  53.     value = dialog.numeric( type, heading, default )
  54.     return value
  55.  
  56. def get_browse_dialog( default="", heading="", type=1, shares="files", mask="", use_thumbs=False, treat_as_folder=False ):
  57.     """ shows a browse dialog and returns a value
  58.         - 0 : ShowAndGetDirectory
  59.         - 1 : ShowAndGetFile
  60.         - 2 : ShowAndGetImage
  61.         - 3 : ShowAndGetWriteableDirectory
  62.     """
  63.     dialog = xbmcgui.Dialog()
  64.     value = dialog.browse( type, heading, shares, mask, use_thumbs, treat_as_folder, default )
  65.     return value
  66.  
  67. def LOG( status, format, *args ):
  68.     if ( DEBUG_MODE >= status ):
  69.         xbmc.output( "%s: %s\n" % ( ( "INFO", "ERROR", "NOTICE", "DEBUG", )[ status - 1 ], format % args, ) )
  70.