def getLibrarySeriesLinks(): activeSeriesArray = series.getFromLibrary() jsonReturn = {} for s in activeSeriesArray: linkedSeriesAlias = seriesAlias.getBySeriesAliasId(s.associatedSeriesAliasId) jsonReturn[s.title] = linkedSeriesAlias.string return jsonReturn
def postSeriesAlias(): seriesTitle = request.json['title'] seriesAliasId = request.json['associatedSeriesAliasId'] aSeries = series.create(seriesTitle).save() aSeriesAlias = seriesAlias.getBySeriesAliasId(seriesAliasId) mediaLinker.associateSeriesWithSeriesAlias(aSeries, aSeriesAlias) aSeries = series.getBySeriesId(aSeries.id) return aSeries.asJson()
def linkMediaFileToSeries(aMediaFile, aSeries, conn = None): if conn == None: conn = mySql.createConnection() cursor = conn.cursor() dirConf = settingsManager.directorySettings() #Get all the episode information needed to do the linking anEpisode = episode.getByMediaFileId(aMediaFile.id, conn) aSeriesAlias = seriesAlias.getBySeriesAliasId(anEpisode.associatedSeriesAliasId, conn) #Set the proper series as 'Active' seriesArray = series.getBySeriesAliasId(aSeriesAlias.id, conn) for s in seriesArray: s.active = 0 if s.id == aSeries.id: s.active = 1 s.save(conn) #Delete the existing linked file if there is one removeHardLinkForMediaFile(aMediaFile) removeSeasonFolderIfEmptyForMediaFile(aMediaFile) removeSeriesFolderIfEmptyForMediaFile(aMediaFile) #Generate a new linked file name and path and update the media file accordingly episodeFileName = generateHardLinkNameFromMediaFileAndEpisodeAndSeries(aMediaFile, anEpisode, aSeries) seasonPath = generateSeasonPathFromEpisodeAndSeries(anEpisode, aSeries) episodePath = os.path.join(seasonPath, episodeFileName) aMediaFile.linkedPath = episodePath aMediaFile.save(conn) #Create the new link createSeriesFolderForMediaFile(aMediaFile) createSeasonFolderForMediaFile(aMediaFile) createHardLinkForMediaFile(aMediaFile) return episodeFileName