Jump to content

Trakt v2 api update


Luke

Recommended Posts

2015-02-02 09:34:46.6797 Debug - Trakt: Movies to add to Collection: 12

despite scheduling a library sync regularly....the plugin never gets to 0 on movies to add to collection...any ideas?

 

The only thing that comes to my mind is that those 12 movies don't contains the media info metadata (resolution, audio chanels, codec, etc). I'll make a change to address that...

Link to comment
Share on other sites

jleckenby

Hi all,

 

Finally got the plugin working, woo! My only issue now is the play counts. It seems to multiply up on syncs. For example I have a series with 82 episodes. The first sync added the 82 plays, the second stayed as 82 plays, but the third went to 164! Strangely it just happens for a few series in my collection, not all  :wacko:

 

Just on another note, it would be cool if we could include the import of play states before the sync task somehow. If the sync manages to run before the import it seems to remove plays since the last sync.

Edited by jleckenby
Link to comment
Share on other sites

mortstar

Thanks for the plugin, my first post on the forum and of course it's a feature request  ;)

 

Would it be possible to add a feature to not scrobble media played from certain locations (or, alternatively, watch for a Tag at the TV Show level, e.g. 'No Trakt'). My partner likes to watch some crap tv shows that I don't want reporting to my trakt profile. Now I could separate out these shows in to her own account on MB3, which is something I will do so that these shows don't even show up on my login (absolutely ace feature!)

 

The only problem is when it comes to XBMC. We do the vast majority of our viewing on this device, so I want to set it up to scrobble to trakt. This account will always have access to all of our media (the good and the crap) and so it would be great if I could set this account's trakt plugin to not scrobble particular media.

 

Hope this makes sense. Many thanks!

  • Like 1
Link to comment
Share on other sites

Angelblue05

NVM misread your post. We used to have this setting where we could uncheck media folders added to the library from scrobbling, before the trakt v1 went Kaput. :) It would be nice to have it back to be honest.

Edited by Angelblue05
  • Like 1
Link to comment
Share on other sites

CBers

NVM misread your post. We used to have this setting where we could uncheck media folders added to the library from scrobbling, before the trakt v1 went Kaput. :) It would be nice to have it back to be honest.

+1 to have it back.

Link to comment
Share on other sites

Deihmos

Thanks for the plugin, my first post on the forum and of course it's a feature request  ;)

 

Would it be possible to add a feature to not scrobble media played from certain locations (or, alternatively, watch for a Tag at the TV Show level, e.g. 'No Trakt'). My partner likes to watch some crap tv shows that I don't want reporting to my trakt profile. Now I could separate out these shows in to her own account on MB3, which is something I will do so that these shows don't even show up on my login (absolutely ace feature!)

 

The only problem is when it comes to XBMC. We do the vast majority of our viewing on this device, so I want to set it up to scrobble to trakt. This account will always have access to all of our media (the good and the crap) and so it would be great if I could set this account's trakt plugin to not scrobble particular media.

 

Hope this makes sense. Many thanks!

 

I don't see the big deal. What if you lose your watched status? I guess I just don't see the use of trakt outside of that. I don't even visit the website and don't see much of a point to it besides storing the watched status.  

Link to comment
Share on other sites

mortstar

So we can agree that we use trakt differently and this optional feature would be useful for me but not for you?

Edited by mortstar
Link to comment
Share on other sites

Angelblue05

Lol Deihmos... not exactly sure what to say to your reply?

 

Anyway, this is especially useful when you share MB accounts with someone else and can't justify having two separate accounts because only one person cares about Trakt. I'm in the same boat as mortstar, I just don't want shows I don't watch or haven't watched yet to show up on my Trakt account.

Edited by Angelblue05
Link to comment
Share on other sites

Deihmos

Lol Deihmos... not exactly sure what to say to your reply?

 

Anyway, this is especially useful when you share MB accounts with someone else and can't justify having two separate accounts because only one person cares about Trakt. I'm in the same boat as mortstar, I just don't want shows I don't watch or haven't watched yet to show up on my Trakt account.

I have a bunch of shows on my profile that my wife looks at but don't I don't care. An easy solution would be for me to create another profile but I don't want to deal with logging in and out depending on who is watching TV. I guess you guys have different content folders for users. Edited by Deihmos
Link to comment
Share on other sites

I don't like having the folders as a required step to get the plugin working. that's what was created by having them be opt-in. if someone wants to bring them back then by all means, as long as it's opt-out rather than in.

Link to comment
Share on other sites

Angelblue05

Yes, I'd rather see an opt-out option in this particular situation. Only "checked" folders we don't want to monitor. However, in the plugin settings, I think it actually enabled every folders by default and we needed to uncheck folders we didn't want monitored.  Kindly answered by Luke in the following post. The preferred outcome is having the Trakt plugin work by default and give the option to users to opt-out media folders, if they wish. :)

 

This is what it used to be like: 

54dc1ee2ace84_plugin.jpg

Edited by Angelblue05
  • Like 1
Link to comment
Share on other sites

no, it used to be opt-in, so if you forgot to check them it wouldn't work. or if you checked them but later re-organized your library, it wouldn't work unless you remembered to go back to the plugin and fix it.

  • Like 1
Link to comment
Share on other sites

ginjaninja
2015-02-12 14:39:19.7844 Info - App: HttpClientManager POST: https://api.trakt.tv/auth/login
2015-02-12 14:39:20.1300 Info - App: HttpClientManager GET: https://api.trakt.tv/users/nicholasbird/watched/movies
2015-02-12 14:39:20.4025 Info - App: HttpClientManager GET: https://api.trakt.tv/users/nicholasbird/collection/movies?extended=metadata
2015-02-12 14:39:24.1955 Info - App: HttpClientManager GET: https://api.trakt.tv/users/nicholasbird/watched/shows
2015-02-12 14:39:25.6277 Info - App: HttpClientManager GET: https://api.trakt.tv/users/nicholasbird/collection/shows?extended=metadata
2015-02-12 14:39:44.3289 Debug - Trakt: Movies to add to Collection: 12
2015-02-12 14:39:44.3757 Info - App: HttpClientManager POST: https://api.trakt.tv/sync/collection
2015-02-12 14:39:44.9217 Debug - Trakt: TraktResponse Added Movies: 0
2015-02-12 14:39:44.9217 Debug - Trakt: TraktResponse Added Shows: 0
2015-02-12 14:39:44.9217 Debug - Trakt: TraktResponse Added Seasons: 0
2015-02-12 14:39:44.9217 Debug - Trakt: TraktResponse Added Episodes: 0
2015-02-12 14:39:44.9217 Debug - Trakt: Movies to set watched: 0
2015-02-12 14:39:44.9217 Debug - Trakt: Movies to set unwatched: 0
2015-02-12 14:39:44.9217 Debug - Trakt: Episodes to add to Collection: 23433
2015-02-12 14:39:44.9841 Error - Trakt: Exception handled sending episodes to trakt.tv
	*** Error Report ***
	Version: 3.0.5520.642
	Command line: C:\Users\Nicholas Bird\AppData\Roaming\MediaBrowser-Server\system\MediaBrowser.ServerApplication.exe
	Operating system: Microsoft Windows NT 6.1.7601 Service Pack 1
	Processor count: 4
	64-Bit OS: True
	64-Bit Process: False
	Program data path: C:\Users\Nicholas Bird\AppData\Roaming\MediaBrowser-Server
	Application Path: C:\Users\Nicholas Bird\AppData\Roaming\MediaBrowser-Server\system\MediaBrowser.ServerApplication.exe
	Specified argument was out of the range of valid values.
	Parameter name: count
	System.ArgumentOutOfRangeException
	   at System.Linq.Enumerable.Range(Int32 start, Int32 count)
	   at Trakt.Api.TraktApi.<SendLibraryUpdateInternalAsync>d__4a.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Trakt.Api.TraktApi.<SendLibraryUpdateAsync>d__2f.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
	   at Trakt.ScheduledTasks.SyncLibraryTask.<SyncUserLibrary>d__17.MoveNext()
	
2015-02-12 14:39:44.9841 Debug - Trakt: Episodes to set watched: 15857
2015-02-12 14:39:44.9841 Error - Trakt: Error updating episode play states
	*** Error Report ***
	Version: 3.0.5520.642
	Command line: C:\Users\Nicholas Bird\AppData\Roaming\MediaBrowser-Server\system\MediaBrowser.ServerApplication.exe
	Operating system: Microsoft Windows NT 6.1.7601 Service Pack 1
	Processor count: 4
	64-Bit OS: True
	64-Bit Process: False
	Program data path: C:\Users\Nicholas Bird\AppData\Roaming\MediaBrowser-Server
	Application Path: C:\Users\Nicholas Bird\AppData\Roaming\MediaBrowser-Server\system\MediaBrowser.ServerApplication.exe
	Specified argument was out of the range of valid values.
	Parameter name: count
	System.ArgumentOutOfRangeException
	   at System.Linq.Enumerable.Range(Int32 start, Int32 count)
	   at Trakt.Api.TraktApi.<SendEpisodePlaystateUpdatesInternalAsync>d__b2.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Trakt.Api.TraktApi.<SendEpisodePlaystateUpdates>d__99.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
	   at Trakt.ScheduledTasks.SyncLibraryTask.<SyncUserLibrary>d__17.MoveNext()
	
2015-02-12 14:39:44.9841 Debug - Trakt: Episodes to set unwatched: 0
2015-02-12 14:39:44.9841 Info - App: Sync library to trakt.tv Completed after 0 minute(s) and 25 seconds

Anyone else getting these sync errors with episodes....count parameter...Specified argument was out of the range of valid values?

 

I am seeing a new problem....on two separate days over last week...with multiple series for each day...

where a new episode of a given season is added to library...all episodes for that season are marked unwatched...the plugin seems to be the likely candidate...possibly related to the fact that the series have not been able to sync to collection due to above issue...

So the consequence was after adding five episodes of five shows today.....all five shows were showing as S0XE01 on next up.

 

odd...reduced tv shows in library to one unc (25%)...and it got a lot further and avoided error above.......but with no unidentified series in mb3 reports im getting lots of

2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":412364}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":403882}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":1181161}}

sure enough these series ids do not exist on tvdb,,,assuming they are series ids...but searching MBS for such ids is not possible so im not sure where its picking them up from..

edit...oh there episode ids....for tvdb.......nothing on the trakt web suggests what tvdb id trakt has  for episodes.

 

the errors clump together for a given show...ie if there is one error there are likely to be lots

eg 16 for dollhouse..ie alot but not every dollhouse episode..

2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":412364}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":403882}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":1181161}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":1301761}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":1063801}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":1162401}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":1116391}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":1076941}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":1301751}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":1076921}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":1213711}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":1076911}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":1301741}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":1076931}}
2015-02-12 15:03:46.0598 Error - Trakt: TraktResponse not Found:{"ids":{"tvdb":761311}}
Edited by ginjaninja
Link to comment
Share on other sites

ginjaninja

ah the traktresponse not found error ..relates to those episodes on trakt...which do not have a tvdb ID....the others do have a tvdb id....

Edited by ginjaninja
Link to comment
Share on other sites

ginjaninja

The only thing that comes to my mind is that those 12 movies don't contains the media info metadata (resolution, audio chanels, codec, etc). I'll make a change to address that...

 

and like movies....the log continues to report

2015-02-12 17:06:46.0108 Debug - Trakt: Episodes to add to Collection: 24

2015-02-12 17:06:46.4164 Debug - Trakt: Episodes to set watched: 19

 

so given above and @@Luis 's comment...does the plugin rely on trakt to have these TVDBIDs?

 

 

not sure about...

2015-02-12 17:11:57.7626 Error - Trakt: TraktResponse not Found:{"title":"Lost","ids":{"imdb":"tt0411008","tvdb":73739}}

trakt and MB3  has the idmb and tvdb ids for lost...

Edited by ginjaninja
Link to comment
Share on other sites

ginjaninja

by adding in the tv collection a bit at a time..syncing the library as i go...i have circumvented the error

2015-02-12 14:39:44.9217 Debug - Trakt: Episodes to add to Collection: 23433
2015-02-12 14:39:44.9841 Error - Trakt: Exception handled sending episodes to trakt.tv
	*** Error Report ***
	Version: 3.0.5520.642
	Command line: C:\Users\Nicholas Bird\AppData\Roaming\MediaBrowser-Server\system\MediaBrowser.ServerApplication.exe
	Operating system: Microsoft Windows NT 6.1.7601 Service Pack 1
	Processor count: 4
	64-Bit OS: True
	64-Bit Process: False
	Program data path: C:\Users\Nicholas Bird\AppData\Roaming\MediaBrowser-Server
	Application Path: C:\Users\Nicholas Bird\AppData\Roaming\MediaBrowser-Server\system\MediaBrowser.ServerApplication.exe
	Specified argument was out of the range of valid values.
	Parameter name: count

but of course this is a slow process..checking the logs for no 500 errors ..rerunning task...until all ok tb4 adding in the next batch...not workable for a casual user...

so it seems there is a maximum for the api and the plugin needs to chunk up changes after a certain number....for deferred submission...?

 

 

edit spoke to soon...added last unc ...7524 episodes is too much and precipiates error above...5887 episodes..doesnt seem to be a problem...

 

edit...so chunked up last unc myself..and i still get the error despite adding less than 5000 episodes at a time....so it would seem that it is not the chunk size..but the total episode numbers...

is it the case that the api / service cant cope when the episodes get to 15K+ in total?

Edited by ginjaninja
Link to comment
Share on other sites

ginjaninja

@@ginjaninja try the latest version (marked as beta).

@@Angelblue05 @@Deihmos can you guys try the beta version? (should have the ability to opt-out locations)

2015-02-13 06:21:36.6422 Info - App: HttpClientManager GET: https://api-v2launch.trakt.tv/sync/watched/shows
2015-02-13 06:21:38.2394 Info - App: HttpClientManager GET: https://api-v2launch.trakt.tv/sync/collection/shows?extended=metadata
2015-02-13 06:21:52.1989 Info - App: IntervalTrigger fired for task: Organize new media files
2015-02-13 06:21:52.1989 Info - App: Executing Organize new media files
2015-02-13 06:21:52.2331 Info - App: Organize new media files Completed after 0 minute(s) and 0 seconds
2015-02-13 06:21:52.2331 Info - ServerManager: Sending web socket message ScheduledTaskEnded
2015-02-13 06:22:01.0147 Info - Trakt: Episodes to add to Collection: 6784
2015-02-13 06:22:01.0459 Info - App: HttpClientManager POST: https://api-v2launch.trakt.tv/sync/collection
2015-02-13 06:22:05.1331 Error - Trakt: Exception handled sending episodes to trakt.tv
	*** Error Report ***
	Version: 3.0.5522.767
	Command line: C:\Users\Nicholas Bird\AppData\Roaming\MediaBrowser-Server\system\MediaBrowser.ServerApplication.exe
	Operating system: Microsoft Windows NT 6.1.7601 Service Pack 1
	Processor count: 4
	64-Bit OS: True
	64-Bit Process: False
	Program data path: C:\Users\Nicholas Bird\AppData\Roaming\MediaBrowser-Server
	Application Path: C:\Users\Nicholas Bird\AppData\Roaming\MediaBrowser-Server\system\MediaBrowser.ServerApplication.exe
	Specified argument was out of the range of valid values.
	Parameter name: count
	System.ArgumentOutOfRangeException
	   at System.Linq.Enumerable.Range(Int32 start, Int32 count)
	   at Trakt.Api.TraktApi.<SendLibraryUpdateInternalAsync>d__4d.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Trakt.Api.TraktApi.<SendLibraryUpdateAsync>d__32.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
	   at Trakt.ScheduledTasks.SyncLibraryTask.<SyncUserLibrary>d__23.MoveNext()
	
2015-02-13 06:22:05.1331 Info - Trakt: Episodes to set watched: 4795
2015-02-13 06:22:05.1331 Error - Trakt: Error updating episode play states
	*** Error Report ***
	Version: 3.0.5522.767
	Command line: C:\Users\Nicholas Bird\AppData\Roaming\MediaBrowser-Server\system\MediaBrowser.ServerApplication.exe
	Operating system: Microsoft Windows NT 6.1.7601 Service Pack 1
	Processor count: 4
	64-Bit OS: True
	64-Bit Process: False
	Program data path: C:\Users\Nicholas Bird\AppData\Roaming\MediaBrowser-Server
	Application Path: C:\Users\Nicholas Bird\AppData\Roaming\MediaBrowser-Server\system\MediaBrowser.ServerApplication.exe
	Specified argument was out of the range of valid values.
	Parameter name: count
	System.ArgumentOutOfRangeException
	   at System.Linq.Enumerable.Range(Int32 start, Int32 count)
	   at Trakt.Api.TraktApi.<SendEpisodePlaystateUpdatesInternalAsync>d__b5.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at Trakt.Api.TraktApi.<SendEpisodePlaystateUpdates>d__9c.MoveNext()
	--- End of stack trace from previous location where exception was thrown ---
	   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
	   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
	   at Trakt.ScheduledTasks.SyncLibraryTask.<SyncUserLibrary>d__23.MoveNext()
	
2015-02-13 06:22:05.1331 Info - Trakt: Episodes to set unwatched: 0
2015-02-13 06:22:05.1331 Info - App: Sync library to trakt.tv Completed after 1 minute(s) and 24 seconds
2015-02-13 06:22:05.1487 Info - ServerManager: Sending web socket message ScheduledTaskEnded

episode error is persisting

2015-02-13 06:37:58.2753 Info - Trakt: Movies to add to Collection: 1233

no matter how many times i run the two trakt tasks the movies to add to collection seesaws between 1234 and 1233...despite no errors logged for syncing movies to collection.

 

although the log shows no movies added..

2015-02-13 06:38:34.5831 Debug - Trakt: TraktResponse Added Movies: 0

the ftraktresponse makes sense for movies as they are already in collection on trakt..it is the plugin which is mistaken..thinking there are 1234 movies to add...

 

fwiw...the import watched seems to show a fundamental disagreement in understand between the plugin and the trakt collection over matches..i should add that my metadata reports show 0 unidentified and  a quick check shows these movies are id correctly on tmdb

2015-02-13 06:46:47.2478 Info - Trakt: Trakt.tv watched Movies count = 182
2015-02-13 06:46:47.2478 Info - Trakt: Trakt.tv watched Shows count = 225
2015-02-13 06:46:47.4506 Info - Trakt: Failed to match Daydream Nation
2015-02-13 06:46:47.4506 Info - Trakt: Failed to match The Color Purple
2015-02-13 06:46:47.4506 Info - Trakt: Failed to match Back to the Future Part II
2015-02-13 06:46:47.4506 Info - Trakt: Failed to match We Need to Talk About Kevin

anecdotally there are no id matching problems for realtime scrobbling...these always show up ok on trakt...

 

if some people are finding the plugin working...and i am having such fundamental issues...it suggests my config..has the plugin confused..

 

edit.......doh...failed to match in log...actually just means.  not watched on trakt....nothing to do with id matching..

 

when i set the watched statuz on trakt to watched and sync watched status i get..  and my local watched status updated.

2015-02-13 07:18:04.2339 Debug - Trakt: Movie is in Watched list Daydream Nation
Edited by ginjaninja
Link to comment
Share on other sites

ginjaninja

nope..turns out i am having a problem with the sync watched status task as well..

mark movie watched on mb3 ...movie watched on trakt..

 

neither watched...marking movie watched on trakt....sync watched....movie marked watched on mb3

both watched..mark movie unwatched on trakt...sync watched...movie NOT marked unwatched on mb3.

2015-02-13 07:44:25.8164 Info - Trakt: Failed to match Daydream Nation
Edited by ginjaninja
Link to comment
Share on other sites

ginjaninja

Working perfectly, thanks for such a quick turnaround!

What do u think @@Luis,

Should i keep investigating / providing feedback or should i wait for new version as you are still coding?

 

Currently i have uninstalled the plugin as the only part reliable for me was the scrobbling of tv and movies..albeit duplicate scrobles in the same minute...

 

the syncing of library issue - for all episodes is 100% reprodicible. Whilst removing the last section of my tv library makes the library sync task 100% reliable for the tv section. Thanks for your efforts..

Link to comment
Share on other sites

Angelblue05

Yes, I have started seeing duplicates in my Trakt. My anime keeps being reprocessed every day too.... :( It seems to like multiples of 4 lol

 

54e526a578b26_duplicate.jpg

Edited by Angelblue05
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...