File tree Expand file tree Collapse file tree 3 files changed +60
-0
lines changed Expand file tree Collapse file tree 3 files changed +60
-0
lines changed Original file line number Diff line number Diff line change @@ -976,3 +976,33 @@ func getPlaylist(c *cli.Context) error {
976976
977977	return  nil 
978978}
979+ 
980+ func  deleteMedia (c  * cli.Context ) error  {
981+ 	db , err  :=  startDB ()
982+ 
983+ 	if  err  !=  nil  {
984+ 		return  cli .NewExitError (err , 1 )
985+ 	}
986+ 
987+ 	defer  db .Close ()
988+ 
989+ 	plexConn , err  :=  initPlex (db , true , true )
990+ 
991+ 	if  err  !=  nil  {
992+ 		return  err 
993+ 	}
994+ 
995+ 	if  c .NArg () ==  0  {
996+ 		return  cli .NewExitError ("media id is required" , 1 )
997+ 	}
998+ 
999+ 	mediaID  :=  c .Args ().First ()
1000+ 
1001+ 	if  err  :=  plexConn .DeleteMediaByID (mediaID ); err  !=  nil  {
1002+ 		return  cli .NewExitError (err , 1 )
1003+ 	}
1004+ 
1005+ 	fmt .Printf ("successfully deleted media '%s'\n " , mediaID )
1006+ 
1007+ 	return  nil 
1008+ }
Original file line number Diff line number Diff line change @@ -169,6 +169,17 @@ func main() {
169169			Usage :  "print playlsit items on plex server" ,
170170			Action : getPlaylist ,
171171		},
172+ 		{
173+ 			Name :  "delete" ,
174+ 			Usage : "delete a resource from your plex server" ,
175+ 			Subcommands : []cli.Command {
176+ 				{
177+ 					Name :   "media" ,
178+ 					Usage :  "delete media from your plex server" ,
179+ 					Action : deleteMedia ,
180+ 				},
181+ 			},
182+ 		},
172183	}
173184
174185	if  err  :=  app .Run (os .Args ); err  !=  nil  {
Original file line number Diff line number Diff line change @@ -1071,6 +1071,25 @@ func (p *Plex) DeleteLibrary(key string) error {
10711071	return  nil 
10721072}
10731073
1074+ // DeleteMediaByID removes the media from your Plex server via media key (or id) 
1075+ func  (p  * Plex ) DeleteMediaByID (id  string ) error  {
1076+ 	query  :=  fmt .Sprintf ("%s/library/metadata/%s" , p .URL , id )
1077+ 
1078+ 	resp , err  :=  p .delete (query , p .Headers )
1079+ 
1080+ 	if  err  !=  nil  {
1081+ 		return  err 
1082+ 	}
1083+ 
1084+ 	defer  resp .Body .Close ()
1085+ 
1086+ 	if  resp .StatusCode  !=  http .StatusOK  {
1087+ 		return  errors .New (resp .Status )
1088+ 	}
1089+ 
1090+ 	return  nil 
1091+ }
1092+ 
10741093// GetLibraryLabels of your plex server 
10751094func  (p  * Plex ) GetLibraryLabels (sectionKey , sectionIndex  string ) (LibraryLabels , error ) {
10761095
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments