Change API and Handling for deleting recorded Movies.
authorStephan Reichholf <sreichholf@users.schwerkraft.elitedvb.net>
Sat, 3 Jan 2009 00:00:04 +0000 (00:00 +0000)
committerStephan Reichholf <sreichholf@users.schwerkraft.elitedvb.net>
Sat, 3 Jan 2009 00:00:04 +0000 (00:00 +0000)
* /web/deletemoviefile has been renamed to /web/deletemovie and now uses the Servicereference as Parameter
*example call: http://dreambox/web/moviedelete?sRef=1%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3A0%3A%2Fhdd%2Fmovie%2F20081016%202300%20-%20PREMIERE%202%20-%20Kings%20of%20Rock%20-%20Tenacious%20D%20(Tenacious%20D%20in_%20The%20Pick%20of%20Destiny).ts

webinterface/src/WebComponents/Sources/Movie.py
webinterface/src/web-data/config.js
webinterface/src/web-data/index.html
webinterface/src/web-data/tools.js
webinterface/src/web-data/tpl/tplMovieList.htm
webinterface/src/web/moviedelete.xml [new file with mode: 0644]
webinterface/src/web/moviefiledelete.xml [deleted file]

index 96ad634..6f3f677 100644 (file)
@@ -1,4 +1,4 @@
-from enigma import eServiceReference, iServiceInformation
+from enigma import eServiceReference, iServiceInformation, eServiceCenter
 from Components.Sources.Source import Source
 from Components.config import config
 from ServiceReference import ServiceReference
@@ -26,38 +26,39 @@ class Movie( Source):
                if cmd is not None:
                        self.cmd = cmd
                        if self.func is self.DEL:
-                               self.result = self.delMovieFiles(cmd)
+                               self.result = self.delMovie(cmd)
         
 
                   
-       def delMovieFiles(self,param):
+       def delMovie(self, param):
                print "delMovieFiles:", param
                
                if param is None:
-                       return False,"title missing"
+                       return False, "ServiceReference missing"
                
-        #fixme - use eAppContainer!
-               try:
-                       os_system('rm -f "%s"' % param)
-                       #.ap .cuts .meta
-                       if os_path.exists("%s.ap" % param):
-                               os_system('rm -f "%s.ap"' % param)
-                       
-                       if os_path.exists("%s.cuts" % param):
-                               os_system('rm -f "%s.cuts"' % param)
-                       
-                       if os_path.exists("%s.meta" % param):
-                               os_system('rm -f "%s.meta"' % param)
+               service = ServiceReference(param)
+               result = False
+               
+               if service is not None:
+                       #mostly copied from Screens.MovieSelection
+                       serviceHandler = eServiceCenter.getInstance()
+                       offline = serviceHandler.offlineOperations(service.ref)
+                       info = serviceHandler.info(service.ref)
+                       name = info and info.getName(service.ref) or "this recording"
                        
-                       if os_path.exists("%s.eit" % param):
-                               os_system('rm -f "%s.eit"' % param)
-               except OSError:
-                       return False,"OSErrorSome error occurred while deleting file"
+                       if offline is not None:
+                               if not offline.deleteFromDisk(0):
+                                       result = True
+                               
+                       if result == False:
+                               return result, "Could not delete Movie"
+                       else: 
+                               return result, "Movie deleted"
                
-               if os_path.exists(param):
-                       return False,"Some error occurred while deleting file"
-               else:
-                       return True,"File deleted"
+               return result, "Illegal ServiceReference %s" %(param)  
+               
+               
+
    
        def command(self):
                #self.movielist.reload(root=self.root)
index 36a18ba..b077458 100644 (file)
@@ -29,7 +29,7 @@ var url_settings= "/web/settings";
 
 var url_parentcontrol= "/web/parentcontrollist";
 
-var url_moviefiledelete= "/web/moviefiledelete"; // plus serviceref,eventid
+var url_moviedelete= "/web/moviedelete"; // plus serviceref,eventid
 
 var url_mediaplayerlist= "/web/mediaplayerlist?types=audio&path="; // plus full qualified path
 var url_mediaplayerplay= "/web/mediaplayerplay?file="; // plus file-serviceref
index ccfd780..92d124e 100644 (file)
@@ -33,7 +33,7 @@
                function getWinSize(win) 
                { 
                        if(!win) win = window; 
-                       var s = new Object()
+                       var s = {}
                        if(typeof win.innerWidth != 'undefined') 
                        { 
                                s.width = win.innerWidth; 
index 68695ea..99dce60 100644 (file)
@@ -878,8 +878,8 @@ function loadMovieList(tag){
 }
 
 
-function incomingDelMovieFileResult(request) {
-       debug("[incomingDelMovieFileResult] called");
+function incomingdelMovieResult(request) {
+       debug("[incomingdelMovieResult] called");
        if(request.readyState == 4){
                var delresult = new SimpleXMLResult(getXML(request));
                if(delresult.getState()){
@@ -891,8 +891,8 @@ function incomingDelMovieFileResult(request) {
 }
 
 
-function delMovieFile(file ,servicename, title, description) {
-       debug("[delMovieFile] File(" + file + "), servicename(" + servicename + ")," +
+function delMovie(sref ,servicename, title, description) {
+       debug("[delMovie] File(" + sref + "), servicename(" + servicename + ")," +
                        "title(" + title + "), description(" + description + ")");
        
        result = confirm( "Are you sure want to delete the Movie?\n" +
@@ -901,12 +901,12 @@ function delMovieFile(file ,servicename, title, description) {
                "Description: "+description+"\n");
 
        if(result){
-               debug("[delMovieFile] ok confirm panel"); 
-               doRequest(url_moviefiledelete+"?filename="+file, incomingDelMovieFileResult, false); 
+               debug("[delMovie] ok confirm panel"); 
+               doRequest(url_moviedelete+"?sRef="+sref, incomingdelMovieResult, false); 
                return true;
        }
        else{
-               debug("[delMovieFile] cancel confirm panel");
+               debug("[delMovie] cancel confirm panel");
                return false;
        }
 }
index 70b1e33..86162bd 100644 (file)
@@ -23,7 +23,7 @@
                                                                                                </a>
                                                                                        </td>
                                                                                        <td>
-                                                                                               <a href="#" onclick="delMovieFile('${movie.filename}','${movie.servicename}','${movie.title}','${movie.description}');">
+                                                                                               <a href="#" onclick="delMovie('${movie.servicereference}','${movie.servicename}','${movie.title}','${movie.description}');">
                                                                                                        <img src="/webdata/img/delete.png" title="Delete ${movie.title}" border="0">
                                                                                                </a>
                                                                                        </td>
diff --git a/webinterface/src/web/moviedelete.xml b/webinterface/src/web/moviedelete.xml
new file mode 100644 (file)
index 0000000..eddfbfd
--- /dev/null
@@ -0,0 +1,5 @@
+<e2:screen name="MovieWebScreen">&lt;?xml version="1.0" encoding="UTF-8"?>
+       <e2:element source="MovieFileDel" id="sRef">
+               <e2:convert type="web:TextToHTML" />
+       </e2:element>
+</e2:screen>
\ No newline at end of file
diff --git a/webinterface/src/web/moviefiledelete.xml b/webinterface/src/web/moviefiledelete.xml
deleted file mode 100644 (file)
index 600bf1c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<e2:screen name="MovieWebScreen">
-       <e2:element source="MovieFileDel" id="filename">
-               <e2:convert type="web:TextToHTML" />
-       </e2:element>
-</e2:screen>
\ No newline at end of file