# Advise for developing a server manager

**URL:** <https://forums.plex.tv/t/advise-for-developing-a-server-manager/99261>\
**Category:** Dev/API Corner\
**Tags:** plugin-dev\
**Created:** [April 7, 2015, 2:42pm UTC](https://forums.plex.tv/t/advise-for-developing-a-server-manager/99261 "2015-04-07T14:42:27Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![BancarelV](https://avatars.discourse-cdn.com/v4/letter/b/ce7236/32.png) [@BancarelV](https://forums.plex.tv/u/BancarelV)\
**Post date:** [April 7, 2015, 2:42pm UTC](https://forums.plex.tv/t/advise-for-developing-a-server-manager/99261/1 "2015-04-07T14:42:27Z")

</div>

Hi everyone, I'm gonna start to develop a "set of tools" to manage my whole &nbsp;media server for TV Shows but I'm not sure about all the architecture I should use for those. Let me explain myself:

&nbsp;

I will define the&nbsp;"set of tools" later, but here is what it need to do:

-Interact with&nbsp;[https://www.tvshowtime.com/](https://www.tvshowtime.com/)&nbsp;API to get a list of all apisode already aired but not in the server.

-For all those episode, it will also download a torrent file corresponding to each episode from the tracker:&nbsp;[http://t411.io](http://t411.io)&nbsp;and then start the download

-When the torrent will be finished, it'll rename it and move it in the correct&nbsp;following plex guidelines. And also download subtitles if needed.

-Every time an episode is marked as watched in plex, it'll make an API call at tvshowtime to mark it watched as well.

&nbsp;

To do the first 3 point, I thought about an OSX client application checking the toWatch list from tvshowtime every day, for the torrent download part, I already implement it in another application, and the renaming part is not a big deal either.

&nbsp;

The bigest problem to me, is to handle the plex "watched" events, unless I'm wrong, I'll have to develop a python plug-in in order to do that. So I have three questions:

&nbsp;

1- I wonder what's the best type of plug-in to develop in my situation, channel plug-in or agent plug-in ? I'm not sure to understand what the agent's one is used to, is it just for giving metadata ? or for all plugin who doesn't need a GUI ?

&nbsp;

2- Is it possible to do the first three points inside the plug-in itself ? And if it is, should I or it would be better to develop the three first points in an OSX app and the plugin beside for the last one ?

&nbsp;

3- Have you any other advices to give me for the architecture of this project ? I'm open to any suggestions.

&nbsp;

Thanks for any help you could bring to me ;) I really hope this project finished ASAP, and will share it with all of you once finished.

---

<div class="post-metadata">

**Author:** ![drzoidberg33](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/drzoidberg33/32/4184_2.png) [@drzoidberg33](https://forums.plex.tv/u/drzoidberg33)\
**Post date:** [April 7, 2015, 3:01pm UTC](https://forums.plex.tv/t/advise-for-developing-a-server-manager/99261/2 "2015-04-07T15:01:02Z")

</div>

1. I would take a look at the Trakt.tv channel for ideas. It does exactly what you want just for trakt.tv. ([https://forums.plex.tv/topic/102818-rel-trakt/page-41](https://forums.plex.tv/topic/102818-rel-trakt/page-41))

2. I wouldn't advise that. A lot of the work is already done for you:&nbsp;[https://github.com/SiCKRAGETV/SickRage](https://github.com/SiCKRAGETV/SickRage), fork this repo and just add what you need.

3. I would stick to Python. Use your custom SickRage and develop the channel for Plex separately.

That'd be my advice.

---

<div class="post-metadata">

**Author:** ![BancarelV](https://avatars.discourse-cdn.com/v4/letter/b/ce7236/32.png) [@BancarelV](https://forums.plex.tv/u/BancarelV)\
**Post date:** [April 7, 2015, 4:45pm UTC](https://forums.plex.tv/t/advise-for-developing-a-server-manager/99261/3 "2015-04-07T16:45:19Z")

</div>

Thanks for the quick reply, I'm gonna take a look at those project, and their repo. I think I'm gonna use those a lot ;)&nbsp;

---

<div class="post-metadata">

**Author:** ![lotooo](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/lotooo/32/6667_2.png) [@lotooo](https://forums.plex.tv/u/lotooo)\
**Post date:** [April 7, 2015, 5:17pm UTC](https://forums.plex.tv/t/advise-for-developing-a-server-manager/99261/4 "2015-04-07T17:17:08Z")

</div>

Have a look at flexget too :&nbsp;[http://flexget.com/](http://flexget.com/)

---

<div class="post-metadata">

**Author:** ![zynine](https://sea1.discourse-cdn.com/plex/user_avatar/forums.plex.tv/zynine/32/9956_2.png) [@zynine](https://forums.plex.tv/u/zynine)\
**Post date:** [April 7, 2015, 10:34pm UTC](https://forums.plex.tv/t/advise-for-developing-a-server-manager/99261/5 "2015-04-07T22:34:45Z")

</div>

I wouldn't even use Plex to run a background script. I would use a separate software (for example Sonarr) to manage all this episodes. If Sonarr doesn't fulfill your needs, you can write your own program.

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/plex/original/3X/2/a/2acb9765406f63293d357b4ec509ec39aa28f2ad.png) [@system](https://forums.plex.tv/u/system)\
**Post date:** [January 8, 2020, 7:48pm UTC](https://forums.plex.tv/t/advise-for-developing-a-server-manager/99261/6 "2020-01-08T19:48:18Z")

</div>


