SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV v7 Customizations
Forum Rules FAQs Community Downloads Today's Posts Search

Notices

SageTV v7 Customizations This forums is for discussing and sharing user-created modifications for the SageTV version 7 application created by using the SageTV Studio or through the use of external plugins. Use this forum to discuss plugins for SageTV version 7 and newer.

Reply
 
Thread Tools Search this Thread Display Modes
  #1181  
Old 10-14-2015, 09:01 PM
Taddeusz Taddeusz is offline
SageTVaholic
 
Join Date: Nov 2004
Location: Yukon, OK
Posts: 3,919
Yup, commenting out those two lines got it working again.
__________________
Server: i5 8400, ASUS Prime H370M-Plus/CSM, 16GB RAM, 15TB drive array + 500GB cache, 2 HDHR's, SageTV 9, unRAID 6.6.3
Client 1: HD300 (latest FW), HDMI to an Insignia 65" 1080p LCD and optical SPDIF to a Sony Receiver
Client 2: HD200 (latest FW), HDMI to an Insignia NS-LCD42HD-09 1080p LCD
Reply With Quote
  #1182  
Old 10-15-2015, 09:37 AM
wildgoose wildgoose is offline
Sage Advanced User
 
Join Date: Jan 2010
Location: CA
Posts: 156
Great. I've updated the download with the fix. You can find it at the usual release section in my github link.

It'll log "no PeopleListInShow data" to the BMT log. I am curious to know whether this is one or two shows or many.
__________________
sagetv-for-plexmediacenter v8.3.1 is available! Github/Download site.
Reply With Quote
  #1183  
Old 10-15-2015, 10:34 AM
Monedeath Monedeath is offline
Sage Expert
 
Join Date: Sep 2009
Location: Idaho
Posts: 514
Are you sure this wasn't from an API change going from STV7 to STV9?

IIRC, STV9 is doing a bit more with the cast/crew list than STV7 did. That extra data may have been throwing the error.
Reply With Quote
  #1184  
Old 10-15-2015, 10:38 AM
Taddeusz Taddeusz is offline
SageTVaholic
 
Join Date: Nov 2004
Location: Yukon, OK
Posts: 3,919
I am running v9.
__________________
Server: i5 8400, ASUS Prime H370M-Plus/CSM, 16GB RAM, 15TB drive array + 500GB cache, 2 HDHR's, SageTV 9, unRAID 6.6.3
Client 1: HD300 (latest FW), HDMI to an Insignia 65" 1080p LCD and optical SPDIF to a Sony Receiver
Client 2: HD200 (latest FW), HDMI to an Insignia NS-LCD42HD-09 1080p LCD
Reply With Quote
  #1185  
Old 10-15-2015, 10:41 AM
Monedeath Monedeath is offline
Sage Expert
 
Join Date: Sep 2009
Location: Idaho
Posts: 514
http://sagetv.com/api/sage/api/ShowA...how(sage.Show)

Is still a valid SageTV9 API, it returns an array, and according to the API docs, it's been implemented since 5.1, so I guess it isn't supposed to have changed?
Reply With Quote
  #1186  
Old 10-15-2015, 11:46 AM
wildgoose wildgoose is offline
Sage Advanced User
 
Join Date: Jan 2010
Location: CA
Posts: 156
Quote:
Originally Posted by Monedeath View Post
http://sagetv.com/api/sage/api/ShowA...how(sage.Show)

Is still a valid SageTV9 API, it returns an array, and according to the API docs, it's been implemented since 5.1, so I guess it isn't supposed to have changed?
Taddeusz is running v9.0.1 based on info in his sig. Is this linux/windows? I wonder if it's many shows or only one or two.

I am still running the classic v7 on my Windows box. Been a little busy lately so haven't monitored the v9 development closely. Based on the error the field does not contain any data. Does the v9 improvement change how the data is stored in the field? Or moved it to a new field?
__________________
sagetv-for-plexmediacenter v8.3.1 is available! Github/Download site.
Reply With Quote
  #1187  
Old 10-15-2015, 12:29 PM
Taddeusz Taddeusz is offline
SageTVaholic
 
Join Date: Nov 2004
Location: Yukon, OK
Posts: 3,919
Quote:
Originally Posted by wildgoose View Post
Taddeusz is running v9.0.1 based on info in his sig. Is this linux/windows? I wonder if it's many shows or only one or two.

I am still running the classic v7 on my Windows box. Been a little busy lately so haven't monitored the v9 development closely. Based on the error the field does not contain any data. Does the v9 improvement change how the data is stored in the field? Or moved it to a new field?
Just did a "Refresh All" and the debug message seems to show in every episode.
__________________
Server: i5 8400, ASUS Prime H370M-Plus/CSM, 16GB RAM, 15TB drive array + 500GB cache, 2 HDHR's, SageTV 9, unRAID 6.6.3
Client 1: HD300 (latest FW), HDMI to an Insignia 65" 1080p LCD and optical SPDIF to a Sony Receiver
Client 2: HD200 (latest FW), HDMI to an Insignia NS-LCD42HD-09 1080p LCD
Reply With Quote
  #1188  
Old 10-15-2015, 12:49 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by Monedeath View Post
http://sagetv.com/api/sage/api/ShowA...how(sage.Show)

Is still a valid SageTV9 API, it returns an array, and according to the API docs, it's been implemented since 5.1, so I guess it isn't supposed to have changed?
tmiranda had an issue a week or so ago and pinged me. The sagex apis are based off the JavaDoc and he was calling Person/People related api (could have been this one), but it was documented as returning an Array but really returning a Vector. (sagex was crashing because it was casting to an incorrect type). I suspect that some of the Apis, internally have changes return types from Array to Vector (or vice versa, not sure)... I'll like have to create a sagex-api v9. I did some basic troubleshooting, but I wasn't able to reproduce his specific problem, so, I let it go.
Reply With Quote
  #1189  
Old 10-15-2015, 01:00 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
I just checked sagex-api... and it shows this api as returning a String[]

https://github.com/stuckless/sagetv-...wAPI.java#L559

But in V9 it's returning a Person object. sagex-api definately needs to be updated for v9
Reply With Quote
  #1190  
Old 10-15-2015, 03:14 PM
Monedeath Monedeath is offline
Sage Expert
 
Join Date: Sep 2009
Location: Idaho
Posts: 514
Quote:
Originally Posted by stuckless View Post
I just checked sagex-api... and it shows this api as returning a String[]

https://github.com/stuckless/sagetv-...wAPI.java#L559

But in V9 it's returning a Person object. sagex-api definately needs to be updated for v9
It also means the api posted in the OS forum sticky isn't accurate, as that is what I referenced. It probably needs an update anyway, some new api calls have been added recently.
Reply With Quote
  #1191  
Old 10-15-2015, 05:31 PM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
There was another instance of a Person being returned instead of a string that was affecting the web UI's favorites view as well, I believe.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #1192  
Old 10-16-2015, 06:38 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by Monedeath View Post
It also means the api posted in the OS forum sticky isn't accurate, as that is what I referenced. It probably needs an update anyway, some new api calls have been added recently.
Quote:
Originally Posted by Fuzzy View Post
There was another instance of a Person being returned instead of a string that was affecting the web UI's favorites view as well, I believe.
And we come full circle back to the SageTV9 vs SageTV7 repos ie, I could create a new sagex-api that set a min requirement to sage 9, but then anyone that does a fresh install of sagetv7 would not actually be able to install sagex, and as a result, not be able to install anything that depends on sagex (which is quite a lot).

Or, if I don't set a min sagetv version, then sagetv 7 users would get a version of sagex that is not compatible (on some apis) with Sage 7.
Reply With Quote
  #1193  
Old 10-16-2015, 06:55 AM
Taddeusz Taddeusz is offline
SageTVaholic
 
Join Date: Nov 2004
Location: Yukon, OK
Posts: 3,919
Quote:
Originally Posted by stuckless View Post
And we come full circle back to the SageTV9 vs SageTV7 repos ie, I could create a new sagex-api that set a min requirement to sage 9, but then anyone that does a fresh install of sagetv7 would not actually be able to install sagex, and as a result, not be able to install anything that depends on sagex (which is quite a lot).

Or, if I don't set a min sagetv version, then sagetv 7 users would get a version of sagex that is not compatible (on some apis) with Sage 7.
Can plugins query the version of SageTV they are running on?
__________________
Server: i5 8400, ASUS Prime H370M-Plus/CSM, 16GB RAM, 15TB drive array + 500GB cache, 2 HDHR's, SageTV 9, unRAID 6.6.3
Client 1: HD300 (latest FW), HDMI to an Insignia 65" 1080p LCD and optical SPDIF to a Sony Receiver
Client 2: HD200 (latest FW), HDMI to an Insignia NS-LCD42HD-09 1080p LCD
Reply With Quote
  #1194  
Old 10-16-2015, 07:26 AM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by Taddeusz View Post
Can plugins query the version of SageTV they are running on?
They can, but it won't help here... since sagex-api is a jar file, that has Java signatures that you compile against. So, while I can know that you are on sagetv7 (at runtime), I can't change the signature of the Java Method at runtime. (The only way to do that would be to return Object, and then the user would have to check if it's an instance of String[] or Persion[], etc,)
Reply With Quote
  #1195  
Old 10-16-2015, 07:43 AM
Monedeath Monedeath is offline
Sage Expert
 
Join Date: Sep 2009
Location: Idaho
Posts: 514
Quote:
Originally Posted by stuckless View Post
And we come full circle back to the SageTV9 vs SageTV7 repos ie, I could create a new sagex-api that set a min requirement to sage 9, but then anyone that does a fresh install of sagetv7 would not actually be able to install sagex, and as a result, not be able to install anything that depends on sagex (which is quite a lot).

Or, if I don't set a min sagetv version, then sagetv 7 users would get a version of sagex that is not compatible (on some apis) with Sage 7.
You could "fork" the project, start a new one for STV9. Of course, as we're dealing with a dependency, that means all of the downstream plugins would need to fork as well due to how I understand the manifests as working. The plugin repo doesn't allow for either/or situations for a dependency does it? (One of a list of options)

I guess there could be a way to implement the above as a new feature in 9, but setting it up to be transparent to 7 would likely be painful.
Reply With Quote
  #1196  
Old 10-16-2015, 05:55 PM
Narflex's Avatar
Narflex Narflex is offline
Sage
 
Join Date: Feb 2003
Location: Redondo Beach, CA
Posts: 6,349
I've fixed this specific problem relating to the change of the return type in the API. I didn't think this was going to cause a problem because the toString() method of the Person object was returning the same value as before and it would all have been handled automatically in the STVs internal parsing code...but I forgot about other external usages that did their own casting.

I have reverted the previously existing API calls to return String[] again; and added new ones GetPersonListInShow, GetPersonListInShowInRole and GetPersonListInShowInRoles that return Person[] instead. I also updated the SageTV7.xml STV to use the Person[] variants because it already handled that.

Version 9.0.3 is now on GitHub with these changes and the API docs on the site have been updated as well.
__________________
Jeffrey Kardatzke
Google
Founder of SageTV
Reply With Quote
  #1197  
Old 10-16-2015, 06:03 PM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
Quote:
Originally Posted by Narflex View Post
I've fixed this specific problem relating to the change of the return type in the API. I didn't think this was going to cause a problem because the toString() method of the Person object was returning the same value as before and it would all have been handled automatically in the STVs internal parsing code...but I forgot about other external usages that did their own casting.

I have reverted the previously existing API calls to return String[] again; and added new ones GetPersonListInShow, GetPersonListInShowInRole and GetPersonListInShowInRoles that return Person[] instead. I also updated the SageTV7.xml STV to use the Person[] variants because it already handled that.

Version 9.0.3 is now on GitHub with these changes and the API docs on the site have been updated as well.
i think there was a GetFavoritePerson call that was doing this as well, doesn't look like it has been updated in the API yet (haven't looked on github)
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #1198  
Old 10-19-2015, 11:40 AM
peternm22 peternm22 is offline
Sage Expert
 
Join Date: Jan 2005
Posts: 709
I was wondering if there were plans to add two way syncing of watched status? Right now, Plex can get the watched position from Sage and it works great. It would be nice if Sage could get the watched position from Plex too. That way everything stays in sync regardless of where it is played.

Not sure how complicated this would be to do though.
Reply With Quote
  #1199  
Old 10-19-2015, 01:30 PM
PiX64's Avatar
PiX64 PiX64 is offline
Sage Icon
 
Join Date: Dec 2008
Location: Illinois
Posts: 1,991
There were plans at one point to add this but it is more difficult than you would expect based on the way that plex library works.

Brian and I never got it to fully work, and there is actually some stubbed out code in there for it.
Reply With Quote
  #1200  
Old 10-19-2015, 04:39 PM
wildgoose wildgoose is offline
Sage Advanced User
 
Join Date: Jan 2010
Location: CA
Posts: 156
Quote:
Originally Posted by peternm22 View Post
I was wondering if there were plans to add two way syncing of watched status? Right now, Plex can get the watched position from Sage and it works great. It would be nice if Sage could get the watched position from Plex too. That way everything stays in sync regardless of where it is played.

Not sure how complicated this would be to do though.
I got it working half way (sage -> plex), but didn't finish the other half due to lack of time..

On my initial rewrite back in 3/2015, it only sets the watch status, same as the Google code version from Pix64. Fuzzy mentioned syncing as a nice to have, and I looked into it and made it working one way (sage -> plex) during import. I started with a standalone sageplex_sync tool, and ported the working code into the agent so it sets resume position as well as watch status during import. This was around end of 4/2015 as you can see from the release note in the download link.

The API on the PLEX side to set watch/sync status is driven entirely by HTTP request. You can see how it is used in the plexapi.py file:
https://github.com/ai7/sagetv-for-pl...lex/plexapi.py

The sync tool contains some additional code on listing plex library section and obtain media-id for a given show to send to those APIs, etc.

The next task is to make the sync two way by setting resume position in Sage TV. Unfortunately I never got around to do much about this due to lack of time and summer break. My thought at the time was to extend the plex.js sagex plugin to support setting watch status and resume position via HTTP request, and use this in the sync tool.

It's doable, and should not be too difficult. Just need to look into SageTV API and figure out how to extend the sagex plugin to set resume position, and most important, find some free time.

Quote:
Originally Posted by PiX64 View Post
Brian and I never got it to fully work, and there is actually some stubbed out code in there for it.
PiX64, who is Brian? Is he still active on SageTV forum?
__________________
sagetv-for-plexmediacenter v8.3.1 is available! Github/Download site.
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Comparing to Plex heffneil Batch Metadata Tools 20 01-08-2012 04:54 PM
Need help with SJQv4 remote agent coppit SageTV v7 Customizations 4 12-19-2010 11:03 AM
Plex in a TV? What about sage? rwc General Discussion 9 09-05-2010 04:38 PM
Possible to get SageTV to handle my library more like Plex? DAMAC SageTV Mac Edition 0 06-10-2009 10:33 AM
SagetTVService Virus Win32.Agent.dwo Ponchera SageTV Software 6 02-04-2008 06:33 PM


All times are GMT -6. The time now is 07:10 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.