Giter Club home page Giter Club logo

jellyfin.plugin.phoenixadult's Introduction

PhoenixAdult

This metadata provider helps fill Jellyfin/Emby with information for your adult videos by pulling from the original site

GPL 2.0 License Current Release Build status


Install

  • Repository (Jellyfin only):
    • Add to the list this URL https://raw.githubusercontent.com/DirtyRacer1337/Jellyfin.Plugin.PhoenixAdult/master/manifest.json
  • Manual:

Features

  • Scrapes any available Metadata, including:
    • Scene Title
    • Scene Summary
    • Studio
    • Release Date
    • Genres / Categories / Tags
    • PornStars
    • Movie Poster(s) / Background Art

File Naming

Here are some naming structures we recommend:

  • SiteName - YYYY-MM-DD - Scene Name .[ext]
  • SiteName - Scene Name .[ext]
  • SiteName - YYYY-MM-DD - Actor(s) .[ext]
  • SiteName - Actor(s) .[ext]

Real world examples:

  • Blacked - 2018-12-11 - The Real Thing.mp4
  • Blacked - Hot Vacation Adventures.mp4
  • Blacked - 2018-09-07 - Alecia Fox.mp4
  • Blacked - Alecia Fox Joss Lescaf.mp4

Some sites do not have a search function available. This is where SceneID and Direct URL come in to play. See the manual searching document for more information.

If you would prefer to integrate SceneID's into your filenames, instead of manually matching in Jellyfin, here are some naming structures we recommend:

  • SiteName - YYYY-MM-DD - SceneID .[ext]
  • SiteName - SceneID .[ext]
  • SiteName - SceneID - Scene Name .[ext]

Real world examples:

Supported Networks

To view the full list of supported sites, check out the sitelist doc.

jellyfin.plugin.phoenixadult's People

Contributors

chu-shen avatar dependabot[bot] avatar dirtyracer1337 avatar erri120 avatar mace-git avatar throw-486 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jellyfin.plugin.phoenixadult's Issues

[Help] Instructions to set it Up

Hello
I couldn't see any setup Instructions for this Plugin
Can someone provide me a Working method to add it to my Jellyfin
I must say that I never installed any other unofficial in My Jellyfin
Thank you

[bug] different bug with metadataapi.net i think?

Trying a site on metadataapi.net which has tags, and I get another error:

[22:00:09] [INF] [49] PhoenixAdult.Provider: searchInfo.Name: Throated - 2021-04-16 - All in Blowjob
[22:00:09] [INF] [49] PhoenixAdult.Provider: newTitle: MetadataAPI Throated 2021 04 16 All In Blowjob
[22:00:09] [INF] [49] PhoenixAdult.Provider: site: 48:0 (MetadataAPI)
[22:00:09] [INF] [49] PhoenixAdult.Provider: searchTitle: Throated All In Blowjob
[22:00:09] [INF] [49] PhoenixAdult.Provider: searchDate: 2021-04-16
[22:00:09] [INF] [49] PhoenixAdult.Provider: provider: PhoenixAdult.Sites.NetworkMetadataAPI
[22:00:22] [WRN] [23] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from https://jellyfin.xxx.xxx:443/Items/RemoteSearch/Movie to 172.18.0.1 in 0:00:13.0706869 with Status Code 200
[22:00:28] [INF] [77] Jellyfin.Api.Controllers.ItemLookupController: Setting provider id's to item 4c18356c-5db4-0471-d642-640355a80415-Throated.21.04.16.Alexia.Anders.Alexias.All.In.Blowjob.XXX.MP4-P0RNL0V3RSD: {"PhoenixAdult":"48#0#973987"}
Unsupported codec with id 100359 for input stream 2
[22:00:28] [INF] [23] PhoenixAdult.Provider: PhoenixAdult ID: 48#0#973987
[22:00:28] [ERR] [23] PhoenixAdult.Provider: Update error: "System.NullReferenceException: Object reference not set to an instance of an object.
   at PhoenixAdult.Sites.NetworkMetadataAPI.Update(Int32[] siteNum, String[] sceneID, CancellationToken cancellationToken)
[22:00:43] [WRN] [45] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from https://jellyfin.xxx.xxx:443/Items/RemoteSearch/Apply/4c18356c5db40471d642640355a80415?ReplaceAllImages=true to 172.18.0.1 in 0:00:14.7154645 with Status Code 204

Thanks!

Plugin is not working anymore with Emby Beta above version 4.6.0.20

There were lots of changes in 4.6.0.20 and I think the plugin needs to be updated.
If I'm testing the plugin with a known matching library, everything works fine with 4.6.0.10, if I upgrade to 4.6.0.20 I'm getting those errors:

2021-01-28 15:01:51.740 Error ProviderManager: ImageProvider failed in GetImageInfos for type Movie
        *** Error Report ***
        Version: 4.6.0.20
        Command line: /opt/emby-server/system/EmbyServer.dll -programdata /var/lib/emby -ffdetect /opt/emby-server/bin/ffdetect -ffmpeg /opt/emby-server/bin/ffmpeg -ffprobe /opt/emby-server/bin/ffprobe -restartexitcode 3 -updatepackage emby-server-rpm_{version}_x86_64.rpm
        Operating system: Linux version 4.4.248-1.el7.elrepo.x86_64 (mockbuild@Build64R7) (gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC) ) #1 SMP Thu Dec 10 18:28:07 EST 2
        Framework: .NET Core 3.1.8
        OS/Process: x64/x64
        Runtime: opt/emby-server/system/System.Private.CoreLib.dll
        Processor count: 48
        Data path: /var/lib/emby
        Application path: /opt/emby-server/system
        System.MissingMethodException: System.MissingMethodException: Method not found: 'System.Collections.Generic.Dictionary`2<System.String,System.String> MediaBrowser.Controller.Entities.BaseItem.get_ProviderIds()'.
           at PhoenixAdult.ImageProvider.GetImages(BaseItem item, LibraryOptions libraryOptions, CancellationToken cancellationToken)
           at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
           at PhoenixAdult.ImageProvider.GetImages(BaseItem item, LibraryOptions libraryOptions, CancellationToken cancellationToken)
           at MediaBrowser.Providers.Manager.ProviderManager.GetImages(BaseItem item, LibraryOptions libraryOptions, CancellationToken cancellationToken, IRemoteImageProvider provider, Int32 providerIndex)
        Source: PhoenixAdult
        TargetSite: Void MoveNext()

Docker

How do I install on linux docker

fakehub duplicates for different scenes

I added a fakehub library 300+ scenes

The issue i am facing, multiple scenes the feature aubrey black for example are identified as one scene
have a look
3

the three videos you see, that are named fake family: University are:
faketaxi.17.11.30.aubrey.black.mp4
fakehuboriginals.18.06.02.aubrey.black.mp4
faketaxi.19.12.08.aubrey.black.mp4

They are different scenes, yet the plugin is identifying them as one. I also checked the PhoenixAdult Id for each one of them. it is one single ID
2

[Error] Plugin is not able to fetch any data

Hi
I got this error after Installation of this Plugin

[2020-08-11 18:13:16.717 +00:00] [INF] [1] Emby.Server.Implementations.ApplicationHost: Loaded assembly "PhoenixAdult, Version=2.1.2.30, Culture=neutral, PublicKeyToken=null" from "C:\ProgramData\Jellyfin\Server\plugins\PhoenixAdult\Jellyfin.Plugin.PhoenixAdult.dll"
[2020-08-11 18:13:23.201 +00:00] [FTL] [1] Main: Error while starting server.
Busy: SQLitePCL.pretty.SQLiteException: database is locked
   at SQLitePCL.pretty.SQLiteException.Throw(Int32 rc, Int32 extended, String msg)
   at SQLitePCL.pretty.SQLiteException.CheckOk(sqlite3 db, Int32 rc)
   at SQLitePCL.pretty.SQLiteException.CheckOk(sqlite3_stmt stmt, Int32 rc)
   at SQLitePCL.pretty.StatementImpl.MoveNext()
   at SQLitePCL.pretty.DatabaseConnection.Execute(IDatabaseConnection This, String sql)
   at Emby.Server.Implementations.Data.BaseSqliteRepository.GetConnection(Boolean _)
   at Emby.Server.Implementations.Data.SqliteItemRepository.Initialize(SqliteUserDataRepository userDataRepo, IUserManager userManager)
   at Emby.Server.Implementations.ApplicationHost.InitializeServices()
   at Jellyfin.Server.Program.StartApp(StartupOptions options)
[2020-08-11 18:13:23.367 +00:00] [INF] [1] Emby.Server.Implementations.ApplicationHost

Is there any way to fix this
Thanks

[Feature Request] Implement A Toggle To Disable Actor/Actress/Star Metadata Pulls

There is currently a "bug" in Jellyfin, where it allows users who do not have access to specific libraries to search for actors/actresses that are attached to videos in libraries that they do not have access to. I assume this was intended design and not a bug, I have brought it up with them but it's been an issue for quite some time and it seems like they need to work-on a partial rewrite of their backend before they can do something like this, not sure. I have suggested the ability to just allow disable searching for specific users all together but it was ignored by them so far, not sure what the current status is on all this tbh.

So for example, if you have adult videos in library2, and you have a user that does not have access to library2, if you go on their account and search for an actress name that is only attached to a video on library2, it shows up in the search. This is of course possibly undesireable on a shared server (there is an argument that a shared server for this content may not be the best idea too, but still..)

It would be nice to have a setting for your addon (toggleable from the jellyfin addon plugin page) that simply disables the plugin from grabbing any actor/actress metadata, and also if a library is forced a full refresh of metadata, it removes any actors/actresses that it originally grabbed in the past. This would be great as a workaround until this can be resolved on jellyfin.

No longer working?

I am working on an Unraid server with Jellyfin in a Docker container. I have uninstalled and re-installed the 2.4.2.42 multiple times and I still cannot get things to match any longer. It literally went from matching everything in my collection on Friday afternoon to the next minute, nothing! I thought maybe my IP was temporarily banned so gave it the weekend to settle down and I still cannot match anything. My logs should pretty much tell the story.

Thanks for all the hard work!

[2021-02-22 12:33:46.679 -08:00] [INF] [17] PhoenixAdult.Provider: searchInfo.Name: Babes - 2015-10-29 - 3095421
[2021-02-22 12:33:46.684 -08:00] [INF] [17] PhoenixAdult.Provider: site: 6:0 (Babes)
[2021-02-22 12:33:46.684 -08:00] [INF] [17] PhoenixAdult.Provider: searchTitle: 3095421
[2021-02-22 12:33:46.684 -08:00] [INF] [17] PhoenixAdult.Provider: searchDate: 2015-10-29
[2021-02-22 12:33:46.685 -08:00] [INF] [17] PhoenixAdult.Provider: provider: PhoenixAdult.Sites.Network1service
[2021-02-22 12:33:48.035 -08:00] [ERR] [15] PhoenixAdult.Provider: Search error: "System.InvalidOperationException: Cannot access child value on Newtonsoft.Json.Linq.JProperty.
   at Newtonsoft.Json.Linq.JToken.get_Item(Object key)
   at PhoenixAdult.Sites.Network1service.Search(Int32[] siteNum, String searchTitle, Nullable`1 searchDate, CancellationToken cancellationToken)
   at PhoenixAdult.Provider.GetSearchResults(MovieInfo searchInfo, CancellationToken cancellationToken)"
[2021-02-22 12:33:48.053 -08:00] [WRN] [15] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "192.168.50.39". Time (slow): 0:00:01.4025835. "http://192.168.50.7:8096/Items/RemoteSearch/Movie"
[2021-02-22 12:33:59.198 -08:00] [INF] [16] PhoenixAdult.Provider: searchInfo.Name: Big Naturals - 2015-10-14 - 8838
[2021-02-22 12:33:59.203 -08:00] [INF] [16] PhoenixAdult.Provider: site: 3:4 (BigNaturals)
[2021-02-22 12:33:59.203 -08:00] [INF] [16] PhoenixAdult.Provider: searchTitle: 8838
[2021-02-22 12:33:59.203 -08:00] [INF] [16] PhoenixAdult.Provider: searchDate: 2015-10-14
[2021-02-22 12:33:59.203 -08:00] [INF] [16] PhoenixAdult.Provider: provider: PhoenixAdult.Sites.Network1service
[2021-02-22 12:33:59.335 -08:00] [ERR] [15] PhoenixAdult.Provider: Search error: "System.InvalidOperationException: Cannot access child value on Newtonsoft.Json.Linq.JProperty.
   at Newtonsoft.Json.Linq.JToken.get_Item(Object key)
   at PhoenixAdult.Sites.Network1service.Search(Int32[] siteNum, String searchTitle, Nullable`1 searchDate, CancellationToken cancellationToken)
   at PhoenixAdult.Provider.GetSearchResults(MovieInfo searchInfo, CancellationToken cancellationToken)"
[2021-02-22 12:34:42.904 -08:00] [INF] [5] PhoenixAdult.Provider: searchInfo.Name: BigNaturals - 8838
[2021-02-22 12:34:42.910 -08:00] [INF] [5] PhoenixAdult.Provider: site: 3:4 (BigNaturals)
[2021-02-22 12:34:42.910 -08:00] [INF] [5] PhoenixAdult.Provider: searchTitle: 8838
[2021-02-22 12:34:42.910 -08:00] [INF] [5] PhoenixAdult.Provider: searchDate: 
[2021-02-22 12:34:42.910 -08:00] [INF] [5] PhoenixAdult.Provider: provider: PhoenixAdult.Sites.Network1service
[2021-02-22 12:34:43.270 -08:00] [ERR] [26] PhoenixAdult.Provider: Search error: "System.InvalidOperationException: Cannot access child value on Newtonsoft.Json.Linq.JProperty.
   at Newtonsoft.Json.Linq.JToken.get_Item(Object key)
   at PhoenixAdult.Sites.Network1service.Search(Int32[] siteNum, String searchTitle, Nullable`1 searchDate, CancellationToken cancellationToken)
   at PhoenixAdult.Provider.GetSearchResults(MovieInfo searchInfo, CancellationToken cancellationToken)"
[2021-02-22 12:34:57.188 -08:00] [INF] [29] PhoenixAdult.Provider: searchInfo.Name: Big Naturals - 2015-10-14 - fun in the sun
[2021-02-22 12:34:57.190 -08:00] [INF] [29] PhoenixAdult.Provider: site: 3:4 (BigNaturals)
[2021-02-22 12:34:57.190 -08:00] [INF] [29] PhoenixAdult.Provider: searchTitle: Fun In The Sun
[2021-02-22 12:34:57.190 -08:00] [INF] [29] PhoenixAdult.Provider: searchDate: 2015-10-14
[2021-02-22 12:34:57.190 -08:00] [INF] [29] PhoenixAdult.Provider: provider: PhoenixAdult.Sites.Network1service
[2021-02-22 12:34:57.862 -08:00] [ERR] [26] PhoenixAdult.Provider: Search error: "System.InvalidOperationException: Cannot access child value on Newtonsoft.Json.Linq.JProperty.
   at Newtonsoft.Json.Linq.JToken.get_Item(Object key)
   at PhoenixAdult.Sites.Network1service.Search(Int32[] siteNum, String searchTitle, Nullable`1 searchDate, CancellationToken cancellationToken)
   at PhoenixAdult.Provider.GetSearchResults(MovieInfo searchInfo, CancellationToken cancellationToken)"
[2021-02-22 12:34:57.864 -08:00] [WRN] [26] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "192.168.50.39". Time (slow): 0:00:00.6837787. "http://192.168.50.7:8096/Items/RemoteSearch/Movie"
[2021-02-22 12:40:09.137 -08:00] [INF] [32] PhoenixAdult.Provider: searchInfo.Name: Babes - 3076061
[2021-02-22 12:40:09.139 -08:00] [INF] [32] PhoenixAdult.Provider: site: 6:0 (Babes)
[2021-02-22 12:40:09.139 -08:00] [INF] [32] PhoenixAdult.Provider: searchTitle: 3076061
[2021-02-22 12:40:09.139 -08:00] [INF] [32] PhoenixAdult.Provider: searchDate: 
[2021-02-22 12:40:09.140 -08:00] [INF] [32] PhoenixAdult.Provider: provider: PhoenixAdult.Sites.Network1service
[2021-02-22 12:40:09.531 -08:00] [ERR] [63] PhoenixAdult.Provider: Search error: "System.InvalidOperationException: Cannot access child value on Newtonsoft.Json.Linq.JProperty.
   at Newtonsoft.Json.Linq.JToken.get_Item(Object key)
   at PhoenixAdult.Sites.Network1service.Search(Int32[] siteNum, String searchTitle, Nullable`1 searchDate, CancellationToken cancellationToken)
   at PhoenixAdult.Provider.GetSearchResults(MovieInfo searchInfo, CancellationToken cancellationToken)"

TittyAttack not working?

Won't match: titty attack - 2021-04-10 - Nala Brooks

Include

  1. Jellyfin
  2. Latest dev version you gave me
  3. I can't get to the scene on the website
  4. TittyAttack.21.04.10.Nala.Brooks.Let.Em.Bounce.XXX.XviD-iPT.Team.mp4
  5. Log File below:
[2021-04-29 16:28:59.107 +00:00] [INF] [43] PhoenixAdult.Provider: searchInfo.Name: titty attack - 2021-04-10 - Nala Brooks 
[2021-04-29 16:28:59.115 +00:00] [INF] [43] PhoenixAdult.Provider: site: 24:15 (TittyAttack)
[2021-04-29 16:28:59.115 +00:00] [INF] [43] PhoenixAdult.Provider: searchTitle: Nala Brooks
[2021-04-29 16:28:59.116 +00:00] [INF] [43] PhoenixAdult.Provider: searchDate: 2021-04-10
[2021-04-29 16:28:59.117 +00:00] [INF] [43] PhoenixAdult.Provider: provider: PhoenixAdult.Sites.NetworkMylf
[2021-04-29 16:29:08.248 +00:00] [ERR] [61] PhoenixAdult.Provider: Request error: Error connecting to FlareSolverr server: System.Net.Http.HttpRequestException: Cannot assign requested address (localhost:8191)
 ---> System.Net.Sockets.SocketException (99): Cannot assign requested address
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|283_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.DefaultConnectAsync(SocketsHttpConnectionContext context, CancellationToken cancellationToken)
   at System.Net.Http.ConnectHelper.ConnectAsync(Func`3 callback, DnsEndPoint endPoint, HttpRequestMessage requestMessage, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.ConnectHelper.ConnectAsync(Func`3 callback, DnsEndPoint endPoint, HttpRequestMessage requestMessage, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
   at FlareSolverrSharp.Solvers.FlareSolverr.<>c__DisplayClass5_0.<<Solve>b__0>d.MoveNext()
[2021-04-29 16:29:12.383 +00:00] [ERR] [51] PhoenixAdult.Provider: Request error: Error connecting to FlareSolverr server: System.Net.Http.HttpRequestException: Cannot assign requested address (localhost:8191)
 ---> System.Net.Sockets.SocketException (99): Cannot assign requested address
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Net.Sockets.Socket.<ConnectAsync>g__WaitForConnectWithCancellation|283_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.DefaultConnectAsync(SocketsHttpConnectionContext context, CancellationToken cancellationToken)
   at System.Net.Http.ConnectHelper.ConnectAsync(Func`3 callback, DnsEndPoint endPoint, HttpRequestMessage requestMessage, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.ConnectHelper.ConnectAsync(Func`3 callback, DnsEndPoint endPoint, HttpRequestMessage requestMessage, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
   at FlareSolverrSharp.Solvers.FlareSolverr.<>c__DisplayClass5_0.<<Solve>b__0>d.MoveNext()
[2021-04-29 16:29:12.386 +00:00] [WRN] [51] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://jellyfin.XXX.com:443/Items/RemoteSearch/Movie" to "172.18.0.1" in 0:00:17.8129796 with Status Code 200

Problem with JulesJordan

Describe the bug
Identify finds the movie properly, but then fails to update the metadata.

Include

  1. Jellyfin 10.7.1
  2. plugin version 2.5.1.43
  3. https://www.julesjordan.com/trial/scenes/Angela-White-Gabbie-Carter-Big-Natural-Tits-Busty-Threesome-Teen_vids.html
  4. JulesJordan.21.03.30.Angela.And.Gabbie.XXX.MP4-P0RNL0V3RSD.mp4
  5. Log:
,[17:58:13] [INF] [69] PhoenixAdult.Provider: searchInfo.Name: JulesJordan - Angela.White.Gabbie.Carter
,[17:58:13] [INF] [69] PhoenixAdult.Provider: site: 25:0 (JulesJordan)
,[17:58:13] [INF] [69] PhoenixAdult.Provider: searchTitle: Angela White Gabbie Carter
,[17:58:13] [INF] [69] PhoenixAdult.Provider: searchDate: 
,[17:58:13] [INF] [69] PhoenixAdult.Provider: provider: PhoenixAdult.Sites.SiteJulesJordan
,[17:58:17] [WRN] [69] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://foobarserver/Items/RemoteSearch/Movie to 172.17.0.1 in 0:00:03.9322215 with Status Code 200
,[17:58:20] [INF] [114] Jellyfin.Api.Controllers.ItemLookupController: Setting provider id's to item 0ab91ecd-bbb6-6b40-6ee9-03d404055b65-JulesJordan.21.03.30.Angela.And.Gabbie.XXX.MP4-P0RNL0V3RSD: {"PhoenixAdult":"25#0#P9GMNCGWDyH7WG9yJJzAMvW64729y74UXbKSULBHqsArn57wvzRSKmnHKC3mwJyECCtuXiV7VHaZr5UDoGJCPtSshTrqSTtrukTXo2nfr9g1rXVMWvieixew#2021-03-30"}
,Unsupported codec with id 100359 for input stream 2
,[17:58:21] [INF] [114] PhoenixAdult.Provider: PhoenixAdult ID: 25#0#P9GMNCGWDyH7WG9yJJzAMvW64729y74UXbKSULBHqsArn57wvzRSKmnHKC3mwJyECCtuXiV7VHaZr5UDoGJCPtSshTrqSTtrukTXo2nfr9g1rXVMWvieixew#2021-03-30
**,[17:58:25] [ERR] [102] PhoenixAdult.Provider: Update error: "System.NullReferenceException: Object reference not set to an instance of an object.**
,   at PhoenixAdult.Sites.SiteJulesJordan.Update(Int32[] siteNum, String[] sceneID, CancellationToken cancellationToken)
,   at PhoenixAdult.Provider.GetMetadata(MovieInfo info, CancellationToken cancellationToken)"
,[17:58:36] [WRN] [93] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from http://foobarserver/Items/RemoteSearch/Apply/0ab91ecdbbb66b406ee903d404055b65?ReplaceAllImages=true to 172.17.0.1 in 0:00:15.5168322 with Status Code 204

almost 90% videos not identified automatically

Hello @DirtyRacer1337

I tested your plugin after you helped me set it up. the test was performed with 2 brazzers scenes and it worked perfectly.

Now, I wanted to test it with almost 1700 brazzers scenes but I came across something strange !!

it identified few scenes, less than 10% of the entire library, as for the rest it get the scenes names correctly but no posters and no descriptions, no dates ...nothing !!

I tried to identify the scenes manually and i just type in (brazzers - Scene name) and it finds it no problem. but as you know it is very hard to identify 1700 scenes manually !!

Please have a look at the attached photo to understand what I mean

I also attached the jellyfin logs, it might give you insight on what is going on

Thanks a lot
jellyfin screenshot
jellyfin logs.txt

[Feature] Optional Directory Exclusion Specification

I'm unsure how much permission plugins can get, but if it is possible it would be nice to be able to specify directories that you want the plugin to completely ignore (don't try to fetch, or read anything, just skip). The directory specified would of course also apply to all subdirectories and files, so absolutely nothing in that root directory is attempted.

This is something I hope jellyfin adds natively in the future, but it's not available now and I haven't heard any word on it.
It would be nice if it could be added to the plugin as an option.

"Identify" doesn't seem to be working

Describe the bug
When I open "Identify" for a particular clip and even if I enter the full URL of the scene, there are no results. I've tried with various combinations of studio, actress, scene name and year - still the same effect.

What I'm trying to figure out is, is there a way to force the plugin to scrape its database once I've added some more info, in addition to what's contained in the file name?

Include

  1. Jellyfin: 10.6.4
  2. Plugin Version: 2.4.2.42
  3. Scene URL: https://www.brazzers.com/video/4024021/chores-for-a-whore
  4. File Name: Brazzers - 2013-01-08 - Chores for a Whore - Rikki Six
  5. Log File: I think this is the relevant section.
[2021-02-21 20:13:13.128 +00:00] [ERR] [24] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: "Unable to find the specified file". URL: "http://myjellifin.com/socket?deviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NDsgcnY6ODEuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC84MS4wfDE2MDIyMzk1Mjg3OTE1"
[2021-02-21 20:13:18.035 +00:00] [INF] [24] PhoenixAdult.Provider: searchInfo.Name: Brazzers - 2013-01-08 - Chores for a Whore - Rikki Six
[2021-02-21 20:13:18.040 +00:00] [INF] [24] PhoenixAdult.Provider: site: 0:0 (Brazzers)
[2021-02-21 20:13:18.040 +00:00] [INF] [24] PhoenixAdult.Provider: searchTitle: Chores For A Whore Rikki Six
[2021-02-21 20:13:18.040 +00:00] [INF] [24] PhoenixAdult.Provider: searchDate: 2013-01-08
[2021-02-21 20:13:18.041 +00:00] [INF] [24] PhoenixAdult.Provider: provider: PhoenixAdult.Sites.Network1service
[2021-02-21 20:13:19.074 +00:00] [ERR] [35] PhoenixAdult.Provider: Search error: "System.InvalidOperationException: Cannot access child value on Newtonsoft.Json.Linq.JProperty.
   at Newtonsoft.Json.Linq.JToken.get_Item(Object key)
   at PhoenixAdult.Sites.Network1service.Search(Int32[] siteNum, String searchTitle, Nullable`1 searchDate, CancellationToken cancellationToken)
   at PhoenixAdult.Provider.GetSearchResults(MovieInfo searchInfo, CancellationToken cancellationToken)"
[2021-02-21 20:13:19.076 +00:00] [WRN] [35] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "185.94.192.180". Time (slow): 0:00:01.0562938. "http://myjellifin.com/Items/RemoteSearch/Movie"
[2021-02-21 20:13:26.234 +00:00] [INF] [24] PhoenixAdult.Provider: site: 43:0 (Freeones)
[2021-02-21 20:13:26.234 +00:00] [INF] [24] PhoenixAdult.Provider: actorName: Rikki Six
[2021-02-21 20:13:26.234 +00:00] [INF] [24] PhoenixAdult.Provider: provider: PhoenixAdult.Sites.ActorFreeones
[2021-02-21 20:13:27.036 +00:00] [INF] [22] PhoenixAdult.Provider: PhoenixAdult Actor ID: 43#0#2y9D2HRfZhnquUrw2uhCP55zC
[2021-02-21 20:13:27.819 +00:00] [INF] [36] PhoenixAdult.Provider: Searching actor images for "Rikki Six"
[2021-02-21 20:13:35.215 +00:00] [WRN] [42] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to "185.94.192.180". Time (slow): 0:00:09.0367918. "http://myjellifin.com/Users/9759fb32efa74fa4afd980cb441c03d3/Items/6191b7ae9a13ded92879c9bf41ed40a5"
[2021-02-21 20:13:40.264 +00:00] [ERR] [22] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request: "Could not find a part of the path '/test/Albinoni/Albinoni - Oboe Concertos/folder.jpg'". URL: "http://myjellifin.com/Items/6aa5c9eca9eb3bd803527fed2b68a0cd/Images/Primary?maxHeight=660&maxWidth=660&tag=04d05a12b553e7eed15b4a4afc88ef0a&quality=90"
[2021-02-21 20:14:38.947 +00:00] [INF] [11] MediaBrowser.Api.Playback.MediaInfoService: GetPostedPlaybackInfo profile: DeviceProfile { Name: null, Id: null, Identification: null, FriendlyName: null, Manufacturer: null, ManufacturerUrl: null, ModelName: null, ModelDescription: null, ModelNumber: null, ModelUrl: null, SerialNumber: null, EnableAlbumArtInDidl: False, EnableSingleAlbumArtLimit: False, EnableSingleSubtitleLimit: False, SupportedMediaTypes: "Audio,Photo,Video", UserId: null, AlbumArtPn: null, MaxAlbumArtWidth: 0, MaxAlbumArtHeight: 0, MaxIconWidth: null, MaxIconHeight: null, MaxStreamingBitrate: 120000000, MaxStaticBitrate: 100000000, MusicStreamingTranscodingBitrate: 192000, MaxStaticMusicBitrate: null, SonyAggregationFlags: null, ProtocolInfo: null, TimelineOffsetSeconds: 0, RequiresPlainVideoItems: False, RequiresPlainFolders: False, EnableMSMediaReceiverRegistrar: False, IgnoreTranscodeByteRangeRequests: False, XmlRootAttributes: [], DirectPlayProfiles: [DirectPlayProfile { Container: "webm", AudioCodec: "vorbis,opus", VideoCodec: "vp8,vp9,av1", Type: Video }, DirectPlayProfile { Container: "mp4,m4v", AudioCodec: "mp3,aac,opus,flac,vorbis", VideoCodec: "h264,vp8,vp9,av1", Type: Video }, DirectPlayProfile { Container: "opus", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "mp3", AudioCodec: "mp3", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "aac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "m4a,m4b", AudioCodec: "aac", VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "flac", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "webma,webm", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "wav", AudioCodec: null, VideoCodec: null, Type: Audio }, DirectPlayProfile { Container: "ogg", AudioCodec: null, VideoCodec: null, Type: Audio }], TranscodingProfiles: [TranscodingProfile { Container: "ts", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 1, SegmentLength: 0, BreakOnNonKeyFrames: True }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "opus", Type: Audio, VideoCodec: null, AudioCodec: "opus", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: null, AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "opus", Type: Audio, VideoCodec: null, AudioCodec: "opus", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp3", Type: Audio, VideoCodec: null, AudioCodec: "mp3", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "aac", Type: Audio, VideoCodec: null, AudioCodec: "aac", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "wav", Type: Audio, VideoCodec: null, AudioCodec: "wav", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "ts", Type: Video, VideoCodec: "h264", AudioCodec: "mp3,aac", Protocol: "hls", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 1, SegmentLength: 0, BreakOnNonKeyFrames: True }, TranscodingProfile { Container: "webm", Type: Video, VideoCodec: "vpx", AudioCodec: "vorbis", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Streaming, EnableSubtitlesInManifest: False, MaxAudioChannels: "2", MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }, TranscodingProfile { Container: "mp4", Type: Video, VideoCodec: "h264", AudioCodec: "mp3,aac,opus,flac,vorbis", Protocol: "http", EstimateContentLength: False, EnableMpegtsM2TsMode: False, TranscodeSeekInfo: Auto, CopyTimestamps: False, Context: Static, EnableSubtitlesInManifest: False, MaxAudioChannels: null, MinSegments: 0, SegmentLength: 0, BreakOnNonKeyFrames: False }], ContainerProfiles: [], CodecProfiles: [CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: Equals, Property: IsSecondaryAudio, Value: "false", IsRequired: False }], ApplyConditions: [], Codec: "aac", Container: null }, CodecProfile { Type: VideoAudio, Conditions: [ProfileCondition { Condition: Equals, Property: IsSecondaryAudio, Value: "false", IsRequired: False }], ApplyConditions: [], Codec: null, Container: null }, CodecProfile { Type: Video, Conditions: [ProfileCondition { Condition: NotEquals, Property: IsAnamorphic, Value: "true", IsRequired: False }, ProfileCondition { Condition: EqualsAny, Property: VideoProfile, Value: "high|main|baseline|constrained baseline", IsRequired: False }, ProfileCondition { Condition: LessThanEqual, Property: VideoLevel, Value: "51", IsRequired: False }, ProfileCondition { Condition: NotEquals, Property: IsInterlaced, Value: "true", IsRequired: False }], ApplyConditions: [], Codec: "h264", Container: null }], ResponseProfiles: [ResponseProfile { Container: "m4v", AudioCodec: null, VideoCodec: null, Type: Video, OrgPn: null, MimeType: "video/mp4", Conditions: [] }], SubtitleProfiles: [SubtitleProfile { Format: "vtt", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ass", Method: External, DidlMode: null, Language: null, Container: null }, SubtitleProfile { Format: "ssa", Method: External, DidlMode: null, Language: null, Container: null }] }

[Feature] Option To Add A Direct Link To Metadata Page

Suggesting a toggleable option to have Phoenix add a direct link to the page that it fetched the metadata for each item-at the bottom of the overview.

For example, a link to the JAVLibrary page, a link to the PornHub page, etc.

Brazzers Metadata Lookup Failing

Describe the bug
Since yesterday, metadata lookups for Brazzers appear to be failing with a System.InvalidOperationException error.

Include

  1. Jellyfin or Emby: Jellyfin 10.6.4 on Linx/Arm64
  2. Plugin Version: 2.4.2.42
  3. Scene URL: https://www.brazzers.com/video/4427681/a-naughty-nuru-massage
  4. File Name: Brazzers - 4427681 - A Naughty Nuru Massage.mp4
  5. Log File:
[2021-02-21 05:42:37.786 +00:00] [INF] [120] PhoenixAdult.Provider: searchInfo.Name: Brazzers - 4427681 - A Naughty Nuru Massage
[2021-02-21 05:42:37.805 +00:00] [INF] [120] PhoenixAdult.Provider: site: 0:0 (Brazzers)
[2021-02-21 05:42:37.805 +00:00] [INF] [120] PhoenixAdult.Provider: searchTitle: 4427681 A Naughty Nuru Massage
[2021-02-21 05:42:37.805 +00:00] [INF] [120] PhoenixAdult.Provider: searchDate: 
[2021-02-21 05:42:37.805 +00:00] [INF] [120] PhoenixAdult.Provider: provider: PhoenixAdult.Sites.Network1service
[2021-02-21 05:42:37.806 +00:00] [DBG] [120] PhoenixAdult.Provider: Requesting GET "https://site-api.project1service.com/v2/releases?type=scene&id=4427681"
[2021-02-21 05:42:38.513 +00:00] [ERR] [102] PhoenixAdult.Provider: Search error: "System.InvalidOperationException: Cannot access child value on Newtonsoft.Json.Linq.JProperty.
   at Newtonsoft.Json.Linq.JToken.get_Item(Object key)
   at PhoenixAdult.Sites.Network1service.Search(Int32[] siteNum, String searchTitle, Nullable`1 searchDate, CancellationToken cancellationToken)
   at PhoenixAdult.Provider.GetSearchResults(MovieInfo searchInfo, CancellationToken cancellationToken)"

how do we get brazzers with scene ID to be identified ?

I have the following brazzers scenes with scene ID's but they never get identified, not even manually
what am I doing wrong in terms of naming? can you test it please

brazzers - 74371 - 7 minutes in heaven
brazzers - 118161 - 60 minutes Of Anal!
brazzers - 2412377 - 1 800 phone sex line 10

JAV Name Order Preference & Place JAV ID in Title

Requesting the ability to pick naming preference for JAV idols (Last Name, First Name or First Name, Last Name), without affecting Western Names.

Also requesting the ability to choose to place the ID of JAV titles in the title, either at the beginning or end.

Identify Doesn't return any results

I've installed the plugin for Jellyfin both the traditional way by making the dll or via your repository. Either way, I am unable to search for anything. I select identify and put in information, even information I know from other issues are supposed to show positive results. I get a blank screen. My log also doesn't show anything has happened.

What is going on?

[error]BlackedRaw Files not fetching Metadata

Hello
I renamed my Blackedraw Files this way (according to the Format)

BlackedRaw - 2017-10-19 - lana rhoades 4k.mp4
BlackedRaw - 2017-11-03 - kleio valentien 4k.mp4
BlackedRaw - 2017-11-08 - alina lopez 4k

But its unable to fetch any metadata at all
Please look into it
Thank you

Ps: I i tried with BellesaFilms - Worked well for 70 Files

Collection images support?

Hi! I love the new collections support. Is there any way that the plugin can provide sub-site/channel images for the collection?

Adulttime sites no longer work

This is probably because of the site redesign, I'm not sure if there's a way to pull metadata anymore as all previews and tours are behind registration.

Feature Request / Suggestion: Installation Instructions

Hi,

Glad to see this being ported to Emby / Jellyfin - as TBH I only run Plex so I can run this.

And I see we can do donations here as well - yippee!

My suggestion (and query) - include some kind of installation guide as I believe Emby installation is completely different from just dropping in a plugin directory like Plex.

Cheers

Help needed on how to scrape full length movie files.

I'm trying to scrape a big collection of full length movies, tried setting the default provider to adult dvd empire but most searches come back empty (I can't seem to find the results from the scraper)

Running on jellyfin docker image, using the repository manifest to install, configuration is 'AdultDVDEmpire' as default site.

Log extract follows :

[2021-03-28 12:56:19.445 +02:00] [INF] [95] PhoenixAdult.Provider: searchInfo.Name: Batman XXX A Porn Parody
[2021-03-28 12:56:19.446 +02:00] [INF] [95] PhoenixAdult.Provider: newTitle: AdultDvdEmpire  Batman XXX A Porn Parody
[2021-03-28 12:56:19.447 +02:00] [INF] [95] PhoenixAdult.Provider: site: 45:0 (AdultDVDEmpire)
[2021-03-28 12:56:19.447 +02:00] [INF] [95] PhoenixAdult.Provider: searchTitle: Batman XXX A Porn Parody

Installation instructions?

Hi! I took the .zip file in your releases, and expanded it, and put the .dll file into the plugins folder. However, this is the error when jellyfin starts:

18:31:44] [INF] [1] App: Loaded assembly Jellyfin.Plugin.PhoenixAdult, Version=2.0.1.26, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Jellyfin.Plugin.PhoenixAdult.dll
[18:31:44] [ERR] [1] App: Error getting exported types from Jellyfin.Plugin.PhoenixAdult, Version=2.0.1.26, Culture=neutral, PublicKeyToken=null
System.IO.FileNotFoundException: Could not load file or assembly 'MediaBrowser.Common, Version=10.6.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.

File name: 'MediaBrowser.Common, Version=10.6.0.0, Culture=neutral, PublicKeyToken=null'
   at System.Reflection.RuntimeAssembly.GetExportedTypes()
   at Emby.Server.Implementations.ApplicationHost.GetTypes(IEnumerable`1 assemblies)+MoveNext()

Is there something I'm doing wrong? Thanks!

[Bug] Unable To Fetch JAV Metadata & Unknown Metadata Seems To Fixate On One Fetch

As requested, here is the issue for being unable to fetch JAV metadata.
To be clear, I was having some issues with Jellyfin after renaming my libraries, but they all seem cleared up now except for two issues.
I've been using PhoenixAdult for a bit now, and I haven't seem to had issues, but I can't remember if I used any of the previous versions for my JAV library.

I was using https://github.com/imaginary-upside/JellyfinJav that for JAV, and it worked flawlessly however I was hoping to switch to this for a more all in one.

I want to say, I ran a metadata fetch for only Phoenix (disabled JellyfinJAV) before I messed with my library (which was giving me issues with my Jellyfin), and it found metadata no problems. I could be wrong on that however, I really do not remember.

Unable to fetch JAV metadata

Directory Structure Examples:

Videos/NSFW/JAVIDOL/JAVCODE/JAVCODE.mp4
Videos/NSFW/Fukada Eimi/[DOKS-506]/[DOKS-506].mp4
Videos/NSFW/Fukada Eimi/[DOKS-506] (1080p)/[DOKS-506] (1080p).mp4

Log: https://bin.snopyta.org/?43bb26b5c84e31bf#EPCGNCtMVhRGjTi5hzVJRBsQP1JSgvGmeu54eNGi4Djt
It repeats itself with almost all the titles it tries fetching, I just grabbed a small portion of the log instead of dumping the entire thing.

Unknown Metadata Seems To Fixate On One Fetch

This one is a weird error, so upon renaming my libraries and having issues with Jellyfin, it simply took a full 24hours to refresh all the libraries and it rescanned everything.
Now first I want to state, my NSFW libraries, aren't permitted to all users. And I have the NSFW plugins disabled for those libraries for metadata fetching, so here's what I don't understand.
Across ALL my libraries, I kept getting a metadata fetched for movies that it seemed to not recognize (weirdly named files, stuff I had named custom that tried fetching and got overridden with this metadata, etc.) and this wasn't only on my NSFW libraries, it happened on files across all my libraries. Just a few, not all the files.

But it was always the SAME metadata it was grabbing for the (what I assume to be unknown metadata, almost like it was a placeholder if it couldn't recognize the file). And it was called "What Are You Doing? You're Going To Slip It Inside Me!" My Way-Too-Nice Stepmom Agreed To Let Me Fuck Her Thighs But We Went Further. Aina Shinkawa 7". Currently there are 2 files in my JAV library that scanned as this.
I fixed the ones manually in my other non NSFW libraries. However Idk where it's pulling this title from, I have no files named this in my library, nor have I ever had any files with this title.

And the other confusing part, is why it was labeling movies in my other libraries that have never had the plugin enabled for those libraries.
Unless when I renamed them, it enabled it by default, but when I went under manage library, it didn't look like it was enabled if I remember correctly. So idk.
I'll check the log after it finishes the rescan, and if I see anything when searching for that title in the logs, I'll edit it in. But so far I see nothing, it's still rescanning though.

server

Server OS: Windows 10 Home
Reverse Proxy: NGINX
Jellyfin Version: 10.6.4
PhoenixAdult Version: 2.3.1.35

[question] Any way to get debug logging?

I'm using the 'Identify' function to try and get PhoenixAdult to find metadata. However, when it fails, logging doesn't give me much reason why.

Here's an example:
I go to Identify, and then in the 'Name' filed I put
Pure Taboo - 2019-06-25 - The Daddy Interview

23:07:33] [WRN] [23] Emby.Server.Implementations.HttpServer.HttpListenerHost: HTTP Response 200 to 172.18.0.1. Time (slow): 0:00:09.6369123. http://jellyfin.myh0.me:443/Items/RemoteSearch/Movie
[23:07:33] [INF] [23] Microsoft.AspNetCore.Hosting.Diagnostics: Request finished in 9643.5055ms 200 application/json; charset=utf-8

It should find this scene: https://www.puretaboo.com/en/video/puretaboo/the-daddy-interview/146872

I've also tried using actresses also, no luck. If I use the sceneID, like: "Pure Taboo - 146872", it finds it immediately.

Debug logging might be able to help figure out what's going on. I don't know if this is a PhoenixAdult bug from upstream, or a problem with the Jellyfin plugin.

CleanupGenres Scheduled Task Failed

Describe the bug

Method not found: 'System.Collections.Generic.Dictionary`2<system.string,system.string> MediaBrowser.Controller.Entities.BaseItem.get_ProviderIds()'.
at PhoenixAdult.ScheduledTasks.CleanupGenres.&lt;&gt;c.<execute>b__10_0(BaseItem o)
at System.Linq.Enumerable.WhereArrayIterator`1.ToList()
at PhoenixAdult.ScheduledTasks.CleanupGenres.Execute(CancellationToken cancellationToken, IProgress`1 progress)
at Emby.Server.Implementations.ScheduledTasks.ScheduledTaskWorker.ExecuteInternal(TaskOptions options)</execute></system.string,system.string>

Include

  1. on Emby (4.6.0)
  2. Latest Stable Version

Solution

var items = this.libraryManager.GetItemList(new InternalItemsQuery()).Where(o => o.ProviderIds.ContainsKey(Plugin.Instance.Name)).ToList();

=>

var items = _libraryManager.GetItemList(new InternalItemsQuery
            {
                MediaTypes = new[] {MediaType.Video},
                IncludeItemTypes = new[] {nameof(Movie)},
                HasAnyProviderId = new[] {Plugin.Instance.Name}
            }).ToList();

JAV Photos Poor Quality

Requesting higher resolution cover images for JAV titles, they seem to be of low quality, very compressed.

setup guide details !!

First thanks a million for doing this, it has been a dream coming true to have PhoenixAdult plugin support for Jellyfin / Emby

I tried to test your plugin with my huge library on my server but I had no idea how to get your plugin built !!

Clone or download this repository
Ensure you have .NET Core SDK setup and installed "do you have a link where we can download this"

Build plugin with following command. (what exactly do you mean by that, I know CMD and terminal and commands but I dont understand what are the necessary steps for building the plugin)
dotnet publish --configuration Release --output bin

Place the resulting file in the plugins folder under the program data directory or inside the portable install directory

basically, what I am asking for, a more detailed step by step guide to set this one up please
one quick question too, does this work with emby or just jellyfin?

Unable to obtain data from Adult Time

Metadata Not being pulled from Adult Time - Emby
Any build dated after the Oct 24 build is unable to pull data from Adult time.

This could be user error, but is not happening on Oct 24 build.

New Site Support

Requested New Sites:

Can't be supported:

Bug with Metadataapi.net and a BadDaddyPOV lookup

I recently got a an api key for metadataapi.net, and tried it out. Ran into a problem:

[21:32:22] [INF] [36] PhoenixAdult.Provider: newTitle: MetadataAPI Baddaddypov 21 04 18 Judy Jolie XXX MP4 P0RNL0V3RSD
[21:32:22] [INF] [36] PhoenixAdult.Provider: site: 48:0 (MetadataAPI)
[21:32:22] [INF] [36] PhoenixAdult.Provider: searchTitle: Baddaddypov Judy Jolie XXX MP4 P0RNL0V3RSD
[21:32:22] [INF] [36] PhoenixAdult.Provider: searchDate: 2021-04-18
[21:32:22] [INF] [36] PhoenixAdult.Provider: provider: PhoenixAdult.Sites.NetworkMetadataAPI
[21:32:26] [INF] [22] PhoenixAdult.Provider: PhoenixAdult ID: 48#0#974076
[21:32:27] [ERR] [72] PhoenixAdult.Provider: Update error: "System.NullReferenceException: Object reference not set to an instance of an object.
   at PhoenixAdult.Sites.NetworkMetadataAPI.Update(Int32[] siteNum, String[] sceneID, CancellationToken cancellationToken)
   at PhoenixAdult.Provider.GetMetadata(MovieInfo info, CancellationToken cancellationToken)"

Please let me know if there's any other info I can provide.

Dot naming support

Is it possible to support film name like nubiles.18.06.10.emily.bender.sexual.mp4?

It's basically the original name download from internet.

Broken plugin on Jellyfin 10.7.0

Describe the bug
This plugin is currently broken on Jellyfin 10.7.0

Include

  1. Jellyfin version: 10.7.0
  2. plugin version: 2.4.2.42

log

[2021-03-09 16:07:17.432 +08:00] [ERR] [1] Emby.Server.Implementations.Plugins.PluginManager: Failed to load assembly "/config/data/plugins/PhoenixAdult_2.4.2.42/Jellyfin.Plugin.PhoenixAdult.dll". This error occurs when a plugin references an incompatible version of one of the shared libraries. Disabling plugin.
System.TypeLoadException: Method 'GetImageResponse' in type 'PhoenixAdult.ActorImageProvider' from assembly 'PhoenixAdult, Version=2.4.2.42, Culture=neutral, PublicKeyToken=null' does not have an implementation.
   at System.Reflection.RuntimeAssembly.GetExportedTypes()
   at Emby.Server.Implementations.Plugins.PluginManager.LoadAssemblies()+MoveNext()

[enhancement] Sub-site on new collections feature?

Hi! Thanks for adding the new 'Add to collections' scheduled task. I'm testing it now, and it works great.

One question: would it be possible to get the sub-site added as a separate collection also? For example, right now all my Kink.com videos end up in a Kink collection. Could we also have separate collections its sub-sites like 'Sex & Submission', 'The Upper Floor', 'Families Tied', etc?

Thanks again!

Does Identify Work?

Does the fields for Phoenix work, when using identify to manually identify unrecognized metadata in Jellyfin work?
I can't get anything besides blank results, I'm wondering if it's my search syntax?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.