(*************************************************** Ant Movie Catalog importation script www.antp.be/software/moviecatalog/ [Infos] Authors=Nicezia Title=XBMC .nfo Export Description=Exports Movies to individual .nfo files that XBMC can read for movie Information Site= Language=? Version=1.0.32 Requires=3.5.1 Comments=Contains sample code written by antp to export actors License= GetInfo=0 [Options] ***************************************************) program XBMCNfo; var MovieActors: string; MovieGenre: string; SavefileName: string; DirSelected: string; FormatedData: string; OutToFile: TStringList; function ActorsToXml(actors: string): string; var lstActor: TStringList; iActor: Integer; sActor: string; begin lstActor := TStringList.Create; lstActor.Text := StringReplace(actors, ', ', #13#10); for iActor := 0 to lstActor.Count - iActor do begin sActor := ' ' + #13#10 + ' ' + lstActor.GetString(iActor) + '' + #13#10 +' '; if lstActor.GetString(iActor) <> #13#10 then lstActor.SetString(iActor, sActor); end; Result := lstActor.Text; lstActor.Free; end; function GenreToXML(genre: string): string; var lstGenre: TStringList; iGenre: Integer; sGenre: string; begin lstGenre := TStringList.Create; lstGenre.Text := StringReplace(genre, ', ', #13#10); for iGenre := 0 to lstGenre.Count -iGenre do begin sGenre := ' ' + lstGenre.GetString(iGenre) + ''; lstGenre.SetString(iGenre, sGenre); end Result := lstGenre.Text; lstGenre.Free; end; function ChooseTitle(Original: string; Translated: string): string; begin if Translated <> '' then Result := Translated else Result := Original end; begin if DirSelected ='' then begin Input('Folder Select','Select Folder to save NFO files',DirSelected) end; begin OutToFile := TStringList.Create; SaveFileName := IncludeTrailingPathDelimiter(DirSelected) + GetField(fieldOriginalTitle) + '.nfo'; FormatedData := FormatedData +''+#13#10; FormatedData := FormatedData +' '+ ChooseTitle(GetField(fieldOriginalTitle), GetField(fieldTranslatedTitle)) + ''+#13#10; FormatedData := FormatedData +' '+GetField(fieldRating)+''+#13#10; FormatedData := FormatedData +' '+GetField(fieldYear)+''+#13#10; (* FormatedData := FormatedData +' '+GetFeild(fieldWhatever)+''+#13#10; FormatedData := FormatedData +' '+GetField(fieldWhatever)+''+#13#10; FormatedData := FormatedData +' '+GetField(Whatever)+''+#13#10; *) FormatedData := FormatedData +' '+GetField(fieldDescription)+''+#13#10; FormatedData := FormatedData +' '+GetField(fieldComments)+''+#13#10; FormatedData := FormatedData +' '+GetField(fieldLength)+'min'+#13#10; FormatedData := FormatedData +' '+GetField(fieldOriginalTitle)+'.tbn'+#13#10; FormatedData := FormatedData +' X'+#13#10; FormatedData := FormatedData +' '+GetField(fieldDirector)+''+#13#10; FormatedData := FormatedData +' '+GetField(fieldProducer)+'' + #13#10; (* Run Actor Script here*) MovieActors := ActorsToXML(GetField(fieldActors)); MovieGenre := GenreToXML(GetField(fieldCategory)); OutToFile.Append(UTF8Encode(FormatedData + MovieGenre + MovieActors + '')); OutToFile.SaveToFile(SaveFileName); OutToFile.Free; FormatedData := '' end; end.