def setup():
    if FIRST_TIME_STARTUP:
        dialog = xbmcgui.Dialog()
        dialog.ok("Furk Library BY alicanlakot", "..", "Welcome to first time",
                  "setup")
        if not check_sources_xml(MOVIES_PATH) or not check_sources_xml(
                TV_SHOWS_PATH):
            if dialog.yesno(
                    "Setup folder",
                    "The directories used are not listed as video sources.",
                    "Do you want to add them to sources.xml now?"):
                setup_sources()
        data = traktlib.testUser(settings.getSetting('trakt_login'),
                                 settings.getSetting('trakt_password'))
        if data['status'] == 'failure':
            common.Notification(
                data['status'],
                'Please check your username for Trakt and Furk in config')
            settings.openSettings()
            data = traktlib.testUser(settings.getSetting('trakt_login'),
                                     settings.getSetting('trakt_password'))
            common.Notification('Tried again:', data['status'])
        if len(settings.getSetting('furk_apikey')) < 5:
            furklib.login(settings.getSetting('furk_login'),
                          settings.getSetting('furk_password'))

        dialog.ok("Furk Library BY alicanlakot", "..",
                  "You can start this again", "from menu")
        settings.setSetting('first_time_startup', 'false')
def login(username, password):
    url = 'http://api.furk.net/api/login/login'
    values = {'login': username, 'pwd': password}
    data = urllib.urlencode(values)
    req = urllib2.Request(url, data)
    resp = urllib2.urlopen(req)
    out = json.loads(resp.read())
    #notification ('output' , out['api_key'])
    try:
        settings.setSetting('furk_apikey', out['api_key'])
        common.notification('Login to Furk succesful for', username)
    except:
        common.notification('output', out)
def login(username,password):
    url= 'http://api.furk.net/api/login/login'
    values = {'login':username, 'pwd': password}
    data = urllib.urlencode(values)
    req = urllib2.Request(url, data)
    resp = urllib2.urlopen(req)
    out = json.loads(resp.read())
    #notification ('output' , out['api_key'])
    try:
        settings.setSetting('furk_apikey',out['api_key'])
        common.notification ('Login to Furk succesful for' , username)
    except:
        common.notification ('output' , out)
def setup():
    if FIRST_TIME_STARTUP:
        dialog = xbmcgui.Dialog()
        dialog.ok("Furk Library BY alicanlakot","..","Welcome to first time", "setup")
	if not check_sources_xml(MOVIES_PATH) or not check_sources_xml(TV_SHOWS_PATH):
            if dialog.yesno("Setup folder", "The directories used are not listed as video sources.", "Do you want to add them to sources.xml now?"):
                setup_sources()
	data = traktlib.testUser(settings.getSetting('trakt_login'),settings.getSetting('trakt_password'))
	if data['status'] =='failure' :
		common.Notification(data['status'],'Please check your username for Trakt and Furk in config')
		settings.openSettings()
		data = traktlib.testUser(settings.getSetting('trakt_login'),settings.getSetting('trakt_password'))
		common.Notification('Tried again:',data['status'])
	if len(settings.getSetting('furk_apikey')) < 5:
		furklib.login(settings.getSetting('furk_login'),settings.getSetting('furk_password'))

	dialog.ok("Furk Library BY alicanlakot","..","You can start this again", "from menu")
        settings.setSetting('first_time_startup', 'false')
    def notificationAction(self):
        
        docheck = False

        if self.Player.isPlaying():
            if self.Player.getTime() < 5:
                print 'time:' + str(self.Player.getTime())
                if not self.showingInfo:
                    self.infoOffset = 0
                    self.showInfo(5.0)
                    settings.setSetting('last_trailer', str(xbmc.PlayList(xbmc.PLAYLIST_MUSIC).getposition()))


            if self.notificationLastChannel != self.currentChannel:
                docheck = True
            else:
                if self.notificationLastShow != xbmc.PlayList(xbmc.PLAYLIST_MUSIC).getposition():
                    docheck = True
                else:
                    if self.notificationShowedNotif == False:
                        docheck = True

            if docheck == True:
                self.notificationLastChannel = self.currentChannel
                self.notificationLastShow = xbmc.PlayList(xbmc.PLAYLIST_MUSIC).getposition()
                self.notificationShowedNotif = False

                timedif = self.Player.getTotalTime() - self.Player.getTime()

                if self.notificationShowedNotif == False and timedif < NOTIFICATION_TIME_BEFORE_END and timedif > NOTIFICATION_DISPLAY_TIME:
                    nextshow = self.notificationLastShow + 1
                    item = self.getListItem(nextshow)
                    title = item['title']
                    xbmc.executebuiltin("Notification(Coming Up Next, " + title.replace(',', '') + ", " + str(NOTIFICATION_DISPLAY_TIME * 1000) + ")")
                    if not self.showingInfo:
                        self.infoOffset = 0
                        self.showInfo(5.0)
                        self.notificationShowedNotif = True

        self.startNotificationTimer()
	if totalAdded>=0:
		common.Notification('Furk-Trakt', '{0} were added'.format(totalAdded))
	xbmc.executebuiltin('UpdateLibrary(video)')
	if fg=='False':
		settings.startTimer()


elif(params['action'] == 'download'):
	url = params['url']
	filename = params['filename']
	common.download(url,filename)



elif(params['action'] == 'setup'):
	settings.setSetting('first_time_startup','true')
	FIRST_TIME_STARTUP = settings.first_time_startup()
	setup()

else:
        # torrents a root Directories
        xbmc.log('argv=%s' % sys.argv)
	if (MYCONTEXT == 'video'):
		common.createCachePath()
		setup()
		AddonMenu()
	else:
		music.AddonMenu()


print 'Closing FurkLib'
Example #7
0
def traktAction(params):
	if(params['action'] == 'trakt_Menu'):
		displayTraktMenu()
	
	elif(params['action'] == 'trakt_SearchMovies'):
	        # Search
	        keyboard = xbmc.Keyboard(settings.getSetting('last_movie_search'), 'Search')
		keyboard.doModal()
	        if keyboard.isConfirmed():
		        query = keyboard.getText()
		        settings.setSetting('last_movie_search', query)
			movies = traktlib.getMovieInfobySearch(unicode(query))
			for movie in movies:
				common.createMovieListItemTrakt(movie,totalItems = len(movies))
			common.endofDir()
	
	elif(params['action'] == 'trakt_SearchShows'):
	        # Search
	        keyboard = xbmc.Keyboard(settings.getSetting('last_tv_show_search'), 'Search')
		keyboard.doModal()
	        if keyboard.isConfirmed():
		        query = keyboard.getText()
		        settings.setSetting('last_tv_show_search', query)
			shows = traktlib.getShowInfobySearch(unicode(query))
			for show in shows:
				common.createShowListItemTrakt(show,totalItems = len(shows))
			common.endofDir()
	
		
	elif(params['action'] == 'trakt_SeenRate'):
		imdbid = params['imdbid']
		traktSeenRate(imdbid)

	elif(params['action'] == 'trakt_DismissMovie'):
		imdbid = params['imdbid']
		traktDismissMovie(imdbid)

	elif(params['action'] == 'trakt_MovieGenres'):
		displayGenres(type='Movie')

	elif(params['action'] == 'trakt_ShowGenres'):
		displayGenres(type='Show')

	elif(params['action'] == 'trakt_ShowLists'):
		displayLists(type=params['type'])

	elif(params['action'] == 'trakt_ShowAdultLists'):
		displayAdultGenres()
		
	elif(params['action'] == 'trakt_SearchCache'):
		query = params['query']
		searcher.SearchFromMenu(query)

	elif(params['action'] == 'trakt_RecommendedShows'):
		try:
			genre = params['genre']
		except:
			genre = None
		if genre:
			displayRecommendedShows(genre)
		else :			
			url = sys.argv[0]+'?action=trakt_ShowGenres' 
			common.createListItem('Filter by Genre', True, url)
			displayRecommendedShows(genre)

	elif(params['action'] == 'trakt_listfeeds'):
			myfeeds = furklib.myFeeds()['feeds']
			myfeeds = sorted(myfeeds,key=lambda feed: feed['name'])
			url = sys.argv[0]+'?action=trakt_addfeeds' 
			common.createListItem('Add Feeds from trakt', True, url)
			for feed in myfeeds:
				url = sys.argv[0]+'?action=trakt_MovieGenres' 
				common.createListItem(feed['name'], True, url)
			common.endofDir()
	
	elif(params['action'] == 'trakt_addfeeds'):
			myfeeds = furklib.myFeeds()['feeds']
			shows = traktlib.getWatchlistShowsfromTrakt()
			progress = traktlib.getProgress()
			series = []
			for current in progress:
				series.append(current['show'])
			shows = shows + series
			for show in shows:
				check = [feed for feed in myfeeds if feed['name'] == show['title']]
				if len(check)==0:
					furklib.addFeed(show['title'])
					url = sys.argv[0]+'?action=trakt_MovieGenres' 
					common.createListItem(show['title'], False, '')
			common.endofDir()

	elif(params['action'] == 'trakt_RecommendedMovies'):
		try:
			genre = params['genre']
		except:
			genre = None
		if genre:
			displayRecommendedMovies(genre)
		else :			
			url = sys.argv[0]+'?action=trakt_MovieGenres' 
			common.createListItem('Filter by Genre', True, url)
			displayRecommendedMovies(genre)
			
	elif(params['action'] == 'trakt_Seasons'):
		tvdbid = params['tvdbid']
		displaySeasons(tvdbid)

	elif(params['action'] == 'trakt_Episodes'):
		tvdbid = params['tvdbid']
		season = params['season']
		displayEpisodes(season, tvdbid)

	elif(params['action'] == 'trakt_AddShowtoWatchlist'):
		tvdbid = params['tvdbid']
		addShowtoWatchlist(tvdbid)
	
	elif(params['action'] == 'trakt_AddMovietoWatchlist'):
		imdbid = params['imdbid']
		addMovietoWatchlist(imdbid)

	elif(params['action'] == 'trakt_RemoveMoviefromWatchlist'):
		imdbid = params['imdbid']
		response = traktlib.removeMoviefromWatchlist(imdbid)
		common.traktResponse(response)

	elif(params['action'] == 'trakt_DismissShow'):
		tvdbid = params['tvdbid']
		traktDismissShow(tvdbid)
	
	elif(params['action'] == 'trakt_SetShowSeen'):
		tvdbid = params['tvdbid']
		try:
			season = params['season']
			episode = params['episode']
		except:
			season = 100
			episode = 100
		response = traktSeenShow(tvdbid,season,episode)

	elif(params['action'] == 'trakt_TrendingMovies'):
		xbmcplugin.setContent(int(sys.argv[1]), 'movies')
		movies = traktlib.getTrendingMoviesFromTrakt()
		for movie in movies:
			common.createMovieListItemTrakt(movie,totalItems = len(movies))
		common.endofDir()

	elif(params['action'] == 'trakt_TrendingShows'):
		xbmcplugin.setContent(int(sys.argv[1]), 'tvshows')
		shows = traktlib.getTrendingShowsFromTrakt()
		progressShows = calculateProgress()
		for show in shows:
			if show['title'] in progressShows:
				common.createShowListItemTrakt(show,len(shows))#,progressShows[show['title']][0],progressShows[show['title']][1])
			else:
				common.createShowListItemTrakt(show,totalItems = len(shows))
		common.endofDir()
	
	elif(params['action'] == 'trakt_Progress'):
		displayProgress()
	elif(params['action'] == 'trakt_getList'):
		user=params['user']
		slug=params['slug']
		displayList(user,slug)
	else:
		common.Notification('Action Not found:' , params['action'])
        #totalAdded += imdb.addImdbToLib(fg)

        if totalAdded >= 0:
            common.Notification('Furk-Trakt',
                                '{0} were added'.format(totalAdded))
        xbmc.executebuiltin('UpdateLibrary(video)')
        if fg == 'False':
            settings.startTimer()

elif (params['action'] == 'download'):
    url = params['url']
    filename = params['filename']
    common.download(url, filename)

elif (params['action'] == 'setup'):
    settings.setSetting('first_time_startup', 'true')
    FIRST_TIME_STARTUP = settings.first_time_startup()
    setup()

else:
    # torrents a root Directories
    xbmc.log('argv=%s' % sys.argv)
    if (MYCONTEXT == 'video'):
        common.createCachePath()
        setup()
        AddonMenu()
    else:
        music.AddonMenu()

print 'Closing FurkLib'
#sys.modules.clear()
Example #9
0
        params['action'] = 'dirs'
try:
	action = params['action']
except:
	params['action'] = 'dirs'
xbmc.log('_params=%s' % params) 


if(params['action'] == 'search'):
        # Search
        keyboard = xbmc.Keyboard(settings.getSetting('last_cache_search'), 'Search')
        keyboard.doModal()

        if keyboard.isConfirmed():
                query = keyboard.getText()
                settings.setSetting('last_cache_search', query)
                searcher.SearchFromMenu(query)

elif(params['action'] == 'myFiles'):
         searcher.getMyFiles()

elif(params['action'] == 'accountUsage'):
         searcher.showAccountPicture()

elif(params['action'] == 'listFiles'):
	id = params['id']
	searcher.ListFiles(id)

elif(params['action'] == 'scrapeMovie'):
	title = params['title']
	year = params['year']