Jump to content

Plugin: Ginjaninja Tools - Sync Channel - Radarr & Sonarr & Any Rest Api Channel Sync Tool


Recommended Posts

ginjaninja
Posted (edited)

image.png.e7764288c91668674dfd4f76d211891d.png

Purpose and Function

  • Populate a Sync Channel Folder tree structure with rule based fetches from Sonarr or Radarr or any json reponse based rest api.
  • Drag and Drop UI to create schema mappings. Map foreign system properties > Emby channel item properties.
  • Drag and drop UI (Groups, Conditions, Logic, Operators, Fields) to create rule sets to filter response.
  • Assign 1 or more rule based fetches to root folder and subfolders in the folder tree.
  • Default placeholder video for "Coming Soon" functionality. Movies and Series support Emby's trailer functionality.
  • Support for Emby's provider id function under "edit metadata" to provide links from Emby to Radarr/Sonarr.
  • Image collage generation on subfolders, to show the most recent additions to the folder.
  • Fields for rules are instantiated dynamically based on endpoint response.
  • Primarily built from a feature request by a forum member for coming soon functionality but it morphed into more of a generic channel sync, hence the name.

Getting Started

 

(Video to follow, advanced sync configuration, endpoint schema definition of tiered channel items with provider items and images.)

  • Create|Select a connection (eg to Radarr/Sonarr), Create|Select a Schema Endpoint (what channel items you want), Create|Select a rule set (a filter on the endpoint), assign to a folder in the folder tree.
  • Tweak your preferred re-sync trigger (default 15 minutes)

Disclaimers

  • Vibe coded with Claude, backup database before 1st use until tested, special care/test server first if already  using channels with volatile data (this is my first channel plugin). This is alpha with limited testing. This isnt something i use, so development will be in repsonse to feedback/requests (its a learning project).

Download

https://github.com/ginjaninja1/SyncChannel

assume version changes require deletion of \data\channel-sync ie a hard reset.

Changes

0.0.0.16

  • Overhaul of UI Engine,  more robust navigation behaviour.
  • Overhaul of the Schema Endpoint Design.
  • Improved presentation for Schema Endpoint design esp. for custom syncs of multi tiered channel items (eg Artist>Album>Track). (still a massive UI, will need to simplify somehow)
  • Addition of array slicing function to find eg "coverType=poster" in array of images.
  • Improve hover info w.r.t text and images to aid field mapping.
  • Improved save and discard and dirty tracking.
  • Realised the extent to which i dont understand the channel item ecosystem, so still a work in progress for custom syncs. I have successfully synced Photos, Audio Items (As Artist>Album>Track) but still a "technical demo".

0.0.0.6

  • Added support for generic systems and endpoints. Expose the endpoint parameterisation and schema mapping, to support syncing supported media/channel items generically with any json based rest api. You can even point emby at itself or another Emby Server!
  • Drag and Drop Schema mapping with endpoint field discovery.
  • More robust navigation and configuration journeys.
  • Improve import/export function.
  • Correct Endpoint reachability testing.
  • Tested an import of Artists from emby as photos not sure why you would want that, but whatevs.

0.0.0.5

  • Compiled in Release Mode (oops)
  • Automatic field resolution per endpoint (alot more fields now in the rulebuilder). Field and field type.
  • Right click to favorite fields (per endpoint) you use regularly. (theres quite a few)
  • Field type visual corruption fix on page reload.
  • introduce DATE class of field and appropriate operators.


0.0.0.4

  • UI corruption during rule drag and drop, residual objects on screen
  • Connection test failure doesnt gracefully recover from https>http failure.

 Known Issues

  • Automated field detection not working. next on list.
  • TMDBID/TVDBID allocation sometimes missing [1 of].
  • Needs more work to understand channel item types and their beahviour and mapping into that. If you have expertise please dm me.
  • Adding multiple fetches to the same folder unknown.
  • Issues and suggestions welcome.


Roadmap [potential]

  • Make logging better / user friendly.
  • [Started] Support for hierachical JSON responses and or  transforming flat jsons into a herachy, to populate hierachical channel items.
  • More careful consideration over watched status.
  • More careful consideration over refresh optimisation and api load.
  • Support for a custom video placeholder/ multiple image placeholders.
  • learn a bit more about css to make the plugin look like it belongs better.
  • If channels could be instantiated at runtime (dont think they can), then plugin could support multiple root folders.


Other Info

  • Plugin stores data in \programdata\data\channel-sync (good to know if you want to reset/uninstall)
Edited by ginjaninja
  • Thanks 1
Posted

Thanks for sharing.

ginjaninja
Posted

image.png.6a9b6af3fa65c656e9ea63ac2acc3c8d.pngimage.png.518247530340ded82495cadb450e85a4.pngimage.png.eef9a19d760b849b975ce85573bc1b09.pngimage.png.6a9ef98f26e02d9444446920a9d7f7d0.png

 

Too many fields now, added a favorite function to surface favorites at the top of the list.

Posted (edited)

Added support for any rest api., Wipe stored config (\data\Channel-Sync) for new builds (i will make the plugin upgrade aware in time)

Edited by ginjaninja
ginjaninja
Posted

0.0.0.16

  • Overhaul of UI Engine,  more robust navigation behaviour.
  • Overhaul of the Schema Endpoint Design.
  • Improved presentation for Schema Endpoint design esp. for custom syncs of multi tiered channel items (eg Artist>Album>Track). (still a massive UI, will need to simplify somehow)
  • Addition of array slicing function to find eg "coverType=poster" in array of images.
  • Improve hover info w.r.t text and images to aid field mapping.
  • Improved save and discard and dirty tracking.
  • Realised the extent to which i dont understand the channel item ecosystem, so still a work in progress for custom syncs. I have successfully synced Photos, Audio Items (As Artist>Album>Track) but still a "technical demo"

@sh0rtyhave you had a go at the radarr and sonarr syncing, is that what you had in mind?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...