class Main:
    def __init__( self, params ):
        self.client = NineMSNVideo()
        handle = int(sys.argv[1])
        
        def get_url(action, id):
          url_base = sys.argv[0]
          url_params = {'action': action, 'id': id}
          
          return "{0}?{1}".format(url_base, urllib.urlencode(url_params))
        
        for section in self.client.get_sections():
          li = xbmcgui.ListItem(section.name)
          xbmcplugin.addDirectoryItem(handle=handle, listitem=li, url=get_url('section', section.id), isFolder=True)
        
        for category in self.client.get_categories():
          li = xbmcgui.ListItem(category.name)
          xbmcplugin.addDirectoryItem(handle=handle, listitem=li, url=get_url('category', category.id), isFolder=True)

        # xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_LABEL_IGNORE_THE ) # Needed?
        xbmcplugin.setContent( handle=handle, content='tvshows' )
        xbmcplugin.endOfDirectory( handle=handle, succeeded=1 )