forked from NussNougate/arr-mastodon
		
	initial commit
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					config.ini
 | 
				
			||||||
							
								
								
									
										3
									
								
								README.md
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								README.md
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					# arr-mastodon
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> Pushes new content notification from sonarr and radarr to mastodon.
 | 
				
			||||||
							
								
								
									
										40
									
								
								arr-mastodon.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										40
									
								
								arr-mastodon.py
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,40 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/python3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# https://wiki.servarr.com/en/sonarr/custom-scripts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import os
 | 
				
			||||||
 | 
					import configparser
 | 
				
			||||||
 | 
					import requests
 | 
				
			||||||
 | 
					from bs4 import BeautifulSoup
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config = configparser.ConfigParser()
 | 
				
			||||||
 | 
					config.read('config.ini')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					server_token = config['server']['token']
 | 
				
			||||||
 | 
					server_url = config['server']['url']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def toot(mastodon_url: str, body: str, mastodon_token: str):
 | 
				
			||||||
 | 
					    headers = {}
 | 
				
			||||||
 | 
					    headers["Authorization"] = f"Bearer {mastodon_token}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    data = {}
 | 
				
			||||||
 | 
					    data["status"] = body
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    response = requests.post(
 | 
				
			||||||
 | 
					        url=f"{mastodon_url}/api/v1/statuses", data=data, headers=headers
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if os.getenv('sonarr_eventtype') == 'Download':
 | 
				
			||||||
 | 
					    body = "New content added to Jellyfin: \n"
 | 
				
			||||||
 | 
					    body += 'Series: ' + os.getenv('sonarr_series_title') + '\n'
 | 
				
			||||||
 | 
					    body += 'Season: ' + os.getenv('sonarr_episodefile_seasonnumber') + '\n'
 | 
				
			||||||
 | 
					    body += 'Episode: ' + os.getenv('sonarr_episodefile_episodecount') + '\n'
 | 
				
			||||||
 | 
					    toot(server_url, body, server_token)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if os.getenv('sonarr_eventtype') == 'Test':
 | 
				
			||||||
 | 
					    f.write('Sonarr: Test')
 | 
				
			||||||
 | 
					    toot(server_url, "Test message", server_token)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Reference in New Issue
	
	Block a user