parameters: (self,
                  apikey,
                  mythtv = True,
                  interactive = False,
                  select_first = False,
                  debug = False,
                  custom_ui = None,
                  language = None,
                  search_all_languages = False,
                  )
docstring: apikey (str/unicode):
              Specify the target site API key. Applications need their own key in some cases
  
          mythtv (True/False):
              When True, the returned meta data is being returned has the key and values massaged to match MythTV
              When False, the returned meta data  is being returned matches what target site returned
  
          interactive (True/False): (This option is not supported by all target site apis)
              When True, uses built-in console UI is used to select the correct show.
              When False, the first search result is used.
  
          select_first (True/False): (This option is not supported currently implemented in any grabbers)
              Automatically selects the first series search result (rather
              than showing the user a list of more than one series).
              Is overridden by interactive = False, or specifying a custom_ui
  
          debug (True/False):
               shows verbose debugging information
  
          custom_ui (xx_ui.BaseUI subclass): (This option is not supported currently implemented in any grabbers)
              A callable subclass of interactive class (overrides interactive option)
  
          language (2 character language abbreviation): (This option is not supported by all target site apis)
              The language of the returned data. Is also the language search
              uses. Default is "en" (English). For full list, run..
  
          search_all_languages (True/False): (This option is not supported by all target site apis)
              By default, a Netvision grabber will only search in the language specified using
              the language option. When this is True, it will search for the
              show in any language
docstring_summary: apikey (str/unicode):
              Specify the target site API key. Applications need their own key in some cases
docstring_tokens: apikey ( str / unicode ) : Specify the target site API key . Applications need their own key in some cases
function: def __init__(self,
                  apikey,
                  mythtv = True,
                  interactive = False,
                  select_first = False,
                  debug = False,
                  custom_ui = None,
                  language = None,
                  search_all_languages = False,
                  ):
          """apikey (str/unicode):
              Specify the target site API key. Applications need their own key in some cases
  
          mythtv (True/False):
              When True, the returned meta data is being returned has the key and values massaged to match MythTV
              When False, the returned meta data  is being returned matches what target site returned
  
          interactive (True/False): (This option is not supported by all target site apis)
              When True, uses built-in console UI is used to select the correct show.
              When False, the first search result is used.
  
          select_first (True/False): (This option is not supported currently implemented in any grabbers)
              Automatically selects the first series search result (rather
              than showing the user a list of more than one series).
              Is overridden by interactive = False, or specifying a custom_ui
  
          debug (True/False):
               shows verbose debugging information
  
          custom_ui (xx_ui.BaseUI subclass): (This option is not supported currently implemented in any grabbers)
              A callable subclass of interactive class (overrides interactive option)
  
          language (2 character language abbreviation): (This option is not supported by all target site apis)
              The language of the returned data. Is also the language search
              uses. Default is "en" (English). For full list, run..
  
          search_all_languages (True/False): (This option is not supported by all target site apis)
              By default, a Netvision grabber will only search in the language specified using
              the language option. When this is True, it will search for the
              show in any language
  
          """
          self.config = {}
          self.mythxml = MythXML()
  
          if apikey is not None:
              self.config['apikey'] = apikey
          else:
              pass    # blip.tv does not require an apikey
  
          self.config['debug_enabled'] = debug # show debugging messages
  
          self.log_name = "Bliptv"
          self.log = self._initLogger() # Setups the logger (self.log.debug() etc)
  
          self.config['custom_ui'] = custom_ui
  
          self.config['interactive'] = interactive # prompt for correct series?
  
          self.config['select_first'] = select_first
  
          self.config['search_all_languages'] = search_all_languages
  
          # Defaulting to ENGISH but the blip.tv apis do not support specifying a language
          self.config['language'] = "en"
  
          self.error_messages = {'BliptvUrlError': "! Error: The URL (%s) cause the exception error (%s)\n", 'BliptvHttpError': "! Error: An HTTP communicating error with blip.tv was raised (%s)\n", 'BliptvRssError': "! Error: Invalid RSS meta data\nwas received from blip.tv error (%s). Skipping item.\n", 'BliptvVideoNotFound': "! Error: Video search with blip.tv did not return any results (%s)\n", }
  
          # This is an example that must be customized for each target site
          self.key_translation = [{'channel_title': 'channel_title', 'channel_link': 'channel_link', 'channel_description': 'channel_description', 'channel_numresults': 'channel_numresults', 'channel_returned': 'channel_returned', 'channel_startindex': 'channel_startindex'}, {'title': 'item_title', 'blip_safeusername': 'item_author', 'updated': 'item_pubdate', 'blip_puredescription': 'item_description', 'link': 'item_link', 'blip_picture': 'item_thumbnail', 'video': 'item_url', 'blip_runtime': 'item_duration', 'blip_rating': 'item_rating', 'width': 'item_width', 'height': 'item_height', 'language': 'item_lang'}]
  
          # The following url_ configs are based of the
          # http://blip.tv/about/api/
          self.config['base_url'] = "http://www.blip.tv%s"
          self.config['thumb_url'] = "http://a.images.blip.tv%s"
  
          self.config['urls'] = {}
  
          # v2 api calls - An example that must be customized for each target site
          self.config['urls']['video.search'] = "http://www.blip.tv/?search=%s;&page=%s;&pagelen=%s;&language_code=%s;&skin=rss"
          self.config['urls']['categories'] = "http://www.blip.tv/?section=categories&cmd=view&skin=api"
  
          self.config['image_extentions'] = ["png", "jpg", "bmp"] # Acceptable image extentions
  
          # Functions that parse video data from RSS data
          self.config['item_parser'] = {}
          self.config['item_parser']['main'] = self.getVideosForURL
  
          # Tree view url and the function that parses that urls meta data
          self.config['urls']['tree.view'] = {
              'P_R_R_F': {
                  '__all__': ['http://www.blip.tv/%s/?skin=rss', 'main'],
                  },
              'categories': {
                  '__all__': ['http://www.blip.tv/rss/', 'main'],
                  },
              }
  
          # Tree view categories are disabled until their results can be made more meaningful
          #self.tree_order = ['P_R_R_F', 'categories', ]
          self.tree_order = ['P_R_R_F']
  
          self.tree_org = {
  #            'P_R_R_F': [['Popular/Recent/Features/Random ...', ['popular', 'recent', 'random', 'featured',]],
              'P_R_R_F': [['', ['popular', 'recent', 'random', 'featured',]],
                  ],
              # categories are dynamically filled in from a list retrieved from the blip.tv site
              'categories': [
                  ['Categories', ''],
                  ],
              }
  
          self.tree_customize = {
              'P_R_R_F': {
                  '__default__': { },
                  #'cat name': {},
              },
              'categories': {
                  '__default__': {'categories_id': '', 'sort': '', },
                  #'cat name': {},
              },
              }
  
          self.feed_names = {
              'P_R_R_F': {'popular': 'Most Comments', 'recent': 'Most Recent', 'random': 'Random selection',
              },
              'categories': {'featured': 'Featured Videos', 'popular': 'Most Comments', 'recent': 'Most Recent', 'random': 'Random selection',
              },
              }
  
          self.feed_icons = {
              'P_R_R_F': {'popular': 'directories/topics/most_comments', 'recent': 'directories/topics/most_recent', 'random': 'directories/topics/random',
              },
              'categories': {'featured': 'directories/topics/featured', 'popular': 'directories/topics/most_comments', 'recent': 'directories/topics/most_recent', 'random': 'directories/topics/random',
              },
              }
  
          # Initialize the tree view flag so that the item parsing code can be used for multiple purposes
          self.categories = False
          self.treeview = False
          self.channel_icon = '%SHAREDIR%/mythnetvision/icons/bliptv.png'
function_tokens: def __init__ ( self , apikey , mythtv = True , interactive = False , select_first = False , debug = False , custom_ui = None , language = None , search_all_languages = False , ) : self . config = { } self . mythxml = MythXML ( ) if apikey is not None : self . config [ 'apikey' ] = apikey else : pass # blip.tv does not require an apikey self . config [ 'debug_enabled' ] = debug # show debugging messages self . log_name = "Bliptv" self . log = self . _initLogger ( ) # Setups the logger (self.log.debug() etc) self . config [ 'custom_ui' ] = custom_ui self . config [ 'interactive' ] = interactive # prompt for correct series? self . config [ 'select_first' ] = select_first self . config [ 'search_all_languages' ] = search_all_languages # Defaulting to ENGISH but the blip.tv apis do not support specifying a language self . config [ 'language' ] = "en" self . error_messages = { 'BliptvUrlError' : "! Error: The URL (%s) cause the exception error (%s)\n" , 'BliptvHttpError' : "! Error: An HTTP communicating error with blip.tv was raised (%s)\n" , 'BliptvRssError' : "! Error: Invalid RSS meta data\nwas received from blip.tv error (%s). Skipping item.\n" , 'BliptvVideoNotFound' : "! Error: Video search with blip.tv did not return any results (%s)\n" , } # This is an example that must be customized for each target site self . key_translation = [ { 'channel_title' : 'channel_title' , 'channel_link' : 'channel_link' , 'channel_description' : 'channel_description' , 'channel_numresults' : 'channel_numresults' , 'channel_returned' : 'channel_returned' , 'channel_startindex' : 'channel_startindex' } , { 'title' : 'item_title' , 'blip_safeusername' : 'item_author' , 'updated' : 'item_pubdate' , 'blip_puredescription' : 'item_description' , 'link' : 'item_link' , 'blip_picture' : 'item_thumbnail' , 'video' : 'item_url' , 'blip_runtime' : 'item_duration' , 'blip_rating' : 'item_rating' , 'width' : 'item_width' , 'height' : 'item_height' , 'language' : 'item_lang' } ] # The following url_ configs are based of the # http://blip.tv/about/api/ self . config [ 'base_url' ] = "http://www.blip.tv%s" self . config [ 'thumb_url' ] = "http://a.images.blip.tv%s" self . config [ 'urls' ] = { } # v2 api calls - An example that must be customized for each target site self . config [ 'urls' ] [ 'video.search' ] = "http://www.blip.tv/?search=%s;&page=%s;&pagelen=%s;&language_code=%s;&skin=rss" self . config [ 'urls' ] [ 'categories' ] = "http://www.blip.tv/?section=categories&cmd=view&skin=api" self . config [ 'image_extentions' ] = [ "png" , "jpg" , "bmp" ] # Acceptable image extentions # Functions that parse video data from RSS data self . config [ 'item_parser' ] = { } self . config [ 'item_parser' ] [ 'main' ] = self . getVideosForURL # Tree view url and the function that parses that urls meta data self . config [ 'urls' ] [ 'tree.view' ] = { 'P_R_R_F' : { '__all__' : [ 'http://www.blip.tv/%s/?skin=rss' , 'main' ] , } , 'categories' : { '__all__' : [ 'http://www.blip.tv/rss/' , 'main' ] , } , } # Tree view categories are disabled until their results can be made more meaningful #self.tree_order = ['P_R_R_F', 'categories', ] self . tree_order = [ 'P_R_R_F' ] self . tree_org = { #            'P_R_R_F': [['Popular/Recent/Features/Random ...', ['popular', 'recent', 'random', 'featured',]], 'P_R_R_F' : [ [ '' , [ 'popular' , 'recent' , 'random' , 'featured' , ] ] , ] , # categories are dynamically filled in from a list retrieved from the blip.tv site 'categories' : [ [ 'Categories' , '' ] , ] , } self . tree_customize = { 'P_R_R_F' : { '__default__' : { } , #'cat name': {}, } , 'categories' : { '__default__' : { 'categories_id' : '' , 'sort' : '' , } , #'cat name': {}, } , } self . feed_names = { 'P_R_R_F' : { 'popular' : 'Most Comments' , 'recent' : 'Most Recent' , 'random' : 'Random selection' , } , 'categories' : { 'featured' : 'Featured Videos' , 'popular' : 'Most Comments' , 'recent' : 'Most Recent' , 'random' : 'Random selection' , } , } self . feed_icons = { 'P_R_R_F' : { 'popular' : 'directories/topics/most_comments' , 'recent' : 'directories/topics/most_recent' , 'random' : 'directories/topics/random' , } , 'categories' : { 'featured' : 'directories/topics/featured' , 'popular' : 'directories/topics/most_comments' , 'recent' : 'directories/topics/most_recent' , 'random' : 'directories/topics/random' , } , } # Initialize the tree view flag so that the item parsing code can be used for multiple purposes self . categories = False self . treeview = False self . channel_icon = '%SHAREDIR%/mythnetvision/icons/bliptv.png'