Example #1
0
def add_season(tv_show, tv_path):
    split_season = str(tv_path).split("\\")
    season_name = split_season[-1]
    tv_season_name = f"{tv_show[0].title} {season_name}"
    season = Season(tv=tv_show[0],
                    name=season_name,
                    tv_season_name=tv_season_name)
    season.save()
    return season
Example #2
0
def update_season(show_item,season_number):
	try:
		update_season = Season.objects.get(show=show_item,number=season_number)
		return update_season
		#print '		-Updated Season '+str(sea)
	except Season.DoesNotExist:
		new_season = Season(
			show=show_item,
			number=season_number,
		)
		new_season.save()
		print '		-Added Season '+str(season_number)
		return new_season
Example #3
0
def update_season(show_item, season_number):
    try:
        update_season = Season.objects.get(show=show_item,
                                           number=season_number)
        return update_season
        #print '		-Updated Season '+str(sea)
    except Season.DoesNotExist:
        new_season = Season(
            show=show_item,
            number=season_number,
        )
        new_season.save()
        print '		-Added Season ' + str(season_number)
        return new_season
def check_show(id,show_id):
	try:
		show_startTime = datetime.now()

		headers = {'content-type': 'application/json'}
		payload = {'cmd': 'show', 'tvdbid': show_id}
		r = requests.get(sickbeard_api_url, params=payload, verify=False)

		showapi_detail = r.json()

		if not showapi_detail["result"] == "success":
			#q.put("Error: result bad")
			return


		update_show = Show.objects.get(tvdbid = show_id)
		#if update_show.use_sickbeard == False:
			#sickbeard doesnt need to check this
		#	return
		#print "{:3d}  {:40s} {:10s}".format(id, update_show.name, "CHECKING")
		#print 'Checking Show #'+id+' - ' + update_show.name

		update_show.name=showapi_detail["data"]['show_name'].encode('utf8', 'replace')[:200]

		#update_show.date_added=showapi_detail["data"]['date_added'].encode('utf8', 'replace')
		#update_show.date_updated=datetime.date.today()
		#update_show.date_aired=showapi_detail["data"]['date_aired'].encode('utf8', 'replace')
		if showapi_detail["data"]['next_ep_airdate']:
			update_show.date_next_episode=datetime.strptime(showapi_detail["data"]['next_ep_airdate'].encode('utf8', 'replace'), "%Y-%m-%d")

		update_show.file_path=showapi_detail["data"]['location'].encode('utf8', 'replace')

		#update_show.tvdbid=showapi_detail["data"]['tvdb_series_id'].encode('utf8', 'replace')

		update_show.genre=",".join(showapi_detail["data"]['genre']).encode('utf8', 'replace')[:200]

		update_show.airs=showapi_detail["data"]['airs'].encode('utf8', 'replace')[:50]

		update_show.network=showapi_detail["data"]['network'].encode('utf8', 'replace')[:50]
		#update_show.actors=showapi_detail["data"]['actors'].encode('utf8', 'replace')[:400]
		#update_show.runtime=showapi_detail["data"]['runtime'].encode('utf8', 'replace')[:42] + ' minutes'

		update_show.save()

		for sea in showapi_detail["data"]['season_list']:
			try:
				update_season = Season.objects.get(show=update_show,number=sea)
				#print '		-Updated Season '+str(sea)
				check_episodes(update_show,update_season)
			except Season.DoesNotExist:
				new_season = Season(
					show=update_show,
					number=sea,
				)
				new_season.save()
				print "{:3d}  {:40s} {:10s} {:3s}".format(id, update_show.name, "ADDED SEA", 'S'+str(sea))
				#print '	 -Added Season - '+update_show.name+' '+str(sea)

		print "{:3d}  {:40s} {:10s} {:25s}".format(id, update_show.name, "UPDATED", str(datetime.now()-show_startTime))
		#print '%d %10s - %s (%s)' % id, "UPDATED", update_show.name, str(datetime.now()-show_startTime)
		#q.put('Updated Show - ' + update_show.name)
	except Show.DoesNotExist:
		#print showapi_detail["data"]["show_name"]
		new_show = Show(
			name=showapi_detail["data"]['show_name'].encode('utf8', 'replace')[:200],
			date_next_episode=datetime.strptime(showapi_detail["data"]['next_ep_airdate'].encode('utf8', 'replace'), "%Y-%m-%d"),
			file_path=showapi_detail["data"]['location'].encode('utf8', 'replace'),
			genre=",".join(showapi_detail["data"]['genre']).encode('utf8', 'replace')[:200],
			tvdbid=show_id.encode('utf8', 'replace'),
			airs=showapi_detail["data"]['airs'].encode('utf8', 'replace')[:50],
			network=showapi_detail["data"]['network'].encode('utf8', 'replace')[:50],
		)
		new_show.save()
		#print '%d %10s - %s' % id, "CREATED", showapi_detail["data"]['show_name']
		print "{:3d}  {:40s} {:10s}".format(id, showapi_detail["data"]['show_name'], "CREATED")
	except:
		print '!!!!!!! ERROR Show #'+str(id)+' - ' + showapi_detail["data"]['show_name']
		traceback.print_exc()
def check_show(id, show_id):
    try:
        show_startTime = datetime.now()

        headers = {'content-type': 'application/json'}
        payload = {'cmd': 'show', 'tvdbid': show_id}
        r = requests.get(sickbeard_api_url, params=payload, verify=False)

        showapi_detail = r.json()

        if not showapi_detail["result"] == "success":
            #q.put("Error: result bad")
            return

        update_show = Show.objects.get(tvdbid=show_id)
        #if update_show.use_sickbeard == False:
        #sickbeard doesnt need to check this
        #	return
        #print "{:3d}  {:40s} {:10s}".format(id, update_show.name, "CHECKING")
        #print 'Checking Show #'+id+' - ' + update_show.name

        update_show.name = showapi_detail["data"]['show_name'].encode(
            'utf8', 'replace')[:200]

        #update_show.date_added=showapi_detail["data"]['date_added'].encode('utf8', 'replace')
        #update_show.date_updated=datetime.date.today()
        #update_show.date_aired=showapi_detail["data"]['date_aired'].encode('utf8', 'replace')
        if showapi_detail["data"]['next_ep_airdate']:
            update_show.date_next_episode = datetime.strptime(
                showapi_detail["data"]['next_ep_airdate'].encode(
                    'utf8', 'replace'), "%Y-%m-%d")

        update_show.file_path = showapi_detail["data"]['location'].encode(
            'utf8', 'replace')

        #update_show.tvdbid=showapi_detail["data"]['tvdb_series_id'].encode('utf8', 'replace')

        update_show.genre = ",".join(showapi_detail["data"]['genre']).encode(
            'utf8', 'replace')[:200]

        update_show.airs = showapi_detail["data"]['airs'].encode(
            'utf8', 'replace')[:50]

        update_show.network = showapi_detail["data"]['network'].encode(
            'utf8', 'replace')[:50]
        #update_show.actors=showapi_detail["data"]['actors'].encode('utf8', 'replace')[:400]
        #update_show.runtime=showapi_detail["data"]['runtime'].encode('utf8', 'replace')[:42] + ' minutes'

        update_show.save()

        for sea in showapi_detail["data"]['season_list']:
            try:
                update_season = Season.objects.get(show=update_show,
                                                   number=sea)
                #print '		-Updated Season '+str(sea)
                check_episodes(update_show, update_season)
            except Season.DoesNotExist:
                new_season = Season(
                    show=update_show,
                    number=sea,
                )
                new_season.save()
                print "{:3d}  {:40s} {:10s} {:3s}".format(
                    id, update_show.name, "ADDED SEA", 'S' + str(sea))
                #print '	 -Added Season - '+update_show.name+' '+str(sea)

        print "{:3d}  {:40s} {:10s} {:25s}".format(
            id, update_show.name, "UPDATED",
            str(datetime.now() - show_startTime))
        #print '%d %10s - %s (%s)' % id, "UPDATED", update_show.name, str(datetime.now()-show_startTime)
        #q.put('Updated Show - ' + update_show.name)
    except Show.DoesNotExist:
        #print showapi_detail["data"]["show_name"]
        new_show = Show(
            name=showapi_detail["data"]['show_name'].encode('utf8',
                                                            'replace')[:200],
            date_next_episode=datetime.strptime(
                showapi_detail["data"]['next_ep_airdate'].encode(
                    'utf8', 'replace'), "%Y-%m-%d"),
            file_path=showapi_detail["data"]['location'].encode(
                'utf8', 'replace'),
            genre=",".join(showapi_detail["data"]['genre']).encode(
                'utf8', 'replace')[:200],
            tvdbid=show_id.encode('utf8', 'replace'),
            airs=showapi_detail["data"]['airs'].encode('utf8', 'replace')[:50],
            network=showapi_detail["data"]['network'].encode(
                'utf8', 'replace')[:50],
        )
        new_show.save()
        #print '%d %10s - %s' % id, "CREATED", showapi_detail["data"]['show_name']
        print "{:3d}  {:40s} {:10s}".format(
            id, showapi_detail["data"]['show_name'], "CREATED")
    except:
        print '!!!!!!! ERROR Show #' + str(
            id) + ' - ' + showapi_detail["data"]['show_name']
        traceback.print_exc()