Jump to content


Photo

Change recording menu


  • Please log in to reply
63 replies to this topic

Re: Change recording menu #21 littlesat

  • PLi® Core member
  • 56,260 posts

+691
Excellent

Posted 12 March 2015 - 22:52

Because we have now one central trash in /hdd/movie by default....
And I suggest that we should use that one...

Edited by littlesat, 12 March 2015 - 22:53.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Change recording menu #22 tension

  • Senior Member
  • 117 posts

+4
Neutral

Posted 13 March 2015 - 00:27

i do not looked at the code for of hdd and default recordings dir, i could do it next time....

here i added the eraser for the list of recording files when no trash use in recordings config, we create the list to delete with unused destdir /tmp

i test a few and it seems to work. :)

From 63b6bb446ce7d2918392a9e22e8c846dc04e4393 Mon Sep 17 00:00:00 2001
From: tension <tension9000@yahoo.it>
Date: Fri, 13 Mar 2015 00:18:48 +0100
Subject: [PATCH] ggg

ggg
---
 lib/python/Screens/InfoBarGenerics.py | 27 ++++++++++++++++++++++++++-
 lib/python/Screens/MovieSelection.py  | 13 ++++++++-----
 2 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
index 23737df..86dc775 100644
--- a/lib/python/Screens/InfoBarGenerics.py
+++ b/lib/python/Screens/InfoBarGenerics.py
@@ -2229,6 +2229,26 @@ class InfoBarInstantRecord:
     def stopCurrentRecording(self, entry = -1):
         if entry is not None and entry != -1:
             self.session.nav.RecordTimer.removeEntry(self.recording[entry])
+            if self.deleteFile:
+                print "instantRecord stop and delete recording"
+                sref = None
+                if config.usage.movielist_trashcan.value:
+                    trash = "/hdd/movie/.Trash"
+                    if not os.path.isdir(trash):
+                        import Tools.Trashcan
+                        trash = Tools.Trashcan.createTrashFolder(self.recording[entry].Filename)
+                    from MovieSelection import moveServiceFiles
+                    moveServiceFiles(sref, trash, self.recording[entry].name, allowCopy=False, filename=os.path.realpath(self.recording[entry].Filename))
+                else:
+                    from MovieSelection import createMoveList
+                    delList = createMoveList(sref, "/tmp", os.path.realpath(self.recording[entry].Filename))
+                    try:
+                        from enigma import eBackgroundFileEraser
+                        for recfile in delList:
+                                eBackgroundFileEraser.getInstance().erase(os.path.realpath(recfile[0]))
+                    except Exception, ex:
+                        self.session.open(MessageBox, _("Delete failed!") + "\n" + self.recording[entry].name + "\n" + str(ex), MessageBox.TYPE_ERROR)
+
             self.recording.remove(self.recording[entry])
 
     def getProgramInfoAndEvent(self, info, name):
@@ -2331,6 +2351,7 @@ class InfoBarInstantRecord:
             elif x.dontSave and x.isRunning():
                 list.append((x, False))
 
+        self.deleteFile = False
         if answer[1] == "changeduration":
             if len(self.recording) == 1:
                 self.changeDuration(0)
@@ -2346,6 +2367,9 @@ class InfoBarInstantRecord:
             self.session.open(TimerEdit.TimerEditList)
         elif answer[1] == "stop":
             self.session.openWithCallback(self.stopCurrentRecording, TimerSelection, list)
+        elif answer[1] == "stopdelete":
+            self.deleteFile = True
+            self.session.openWithCallback(self.stopCurrentRecording, TimerSelection, list)
         elif answer[1] in ( "indefinitely" , "manualduration", "manualendtime", "event"):
             self.startInstantRecording(limitEvent = answer[1] in ("event", "manualendtime") or False)
             if answer[1] == "manualduration":
@@ -2425,7 +2449,8 @@ class InfoBarInstantRecord:
             common = ()
         if self.isInstantRecordRunning():
             title =_("A recording is currently running.\nWhat do you want to do?")
-            list = ((_("Stop recording"), "stop"),) + common + \
+            list = ((_("Stop recording"), "stop"),
+                (_("Stop recording and delete file"), "stopdelete"),) + common + \
                 ((_("Change recording (duration)"), "changeduration"),
                 (_("Change recording (endtime)"), "changeendtime"),)
             if self.isTimerRecordRunning():
diff --git a/lib/python/Screens/MovieSelection.py b/lib/python/Screens/MovieSelection.py
index cfb025f..80af46a 100644
--- a/lib/python/Screens/MovieSelection.py
+++ b/lib/python/Screens/MovieSelection.py
@@ -136,16 +136,19 @@ def canCopy(item):
         return False
     return True
 
-def createMoveList(serviceref, dest):
+def createMoveList(serviceref, dest, filename=None):
     #normpath is to remove the trailing '/' from directories
-    src = os.path.normpath(serviceref.getPath())
+    if filename is None:
+        src = os.path.normpath(serviceref.getPath())
+    else:    # call from InfoBarInstantRecord stopdel
+        src = filename + ".ts"
     srcPath, srcName = os.path.split(src)
     if os.path.normpath(srcPath) == dest:
         # move file to itself is allowed, so we have to check it
         raise Exception, "Refusing to move to the same directory"
     # Make a list of items to move
     moveList = [(src, os.path.join(dest, srcName))]
-    if not serviceref.flags & eServiceReference.mustDescent:
+    if filename is not None or serviceref.flags & eServiceReference.mustDescent:
         # Real movie, add extra files...
         srcBase = os.path.splitext(src)[0]
         baseName = os.path.split(srcBase)[1]
@@ -159,8 +162,8 @@ def createMoveList(serviceref, dest):
                 moveList.append((candidate, os.path.join(dest, baseName+ext)))
     return moveList
 
-def moveServiceFiles(serviceref, dest, name=None, allowCopy=True):
-    moveList = createMoveList(serviceref, dest)
+def moveServiceFiles(serviceref, dest, name=None, allowCopy=True, filename=None):
+    moveList = createMoveList(serviceref, dest, filename)
     # Try to "atomically" move these files
     movedList = []
     try:
--
1.9.1


Edited by tension, 13 March 2015 - 00:30.


Re: Change recording menu #23 littlesat

  • PLi® Core member
  • 56,260 posts

+691
Excellent

Posted 13 March 2015 - 07:59

It looks better and better... :D

 

But I do not like the filename=None, serviceref stuff... could we suggest to make this smarter? I did not look into detail... but possibly something should be added in CreateMoveList that detects the difference between reference and filename instead of forwarding two variables and one of when you need to forward a filename, the reference should be 'None.'

 

In addition when you do not have the trashcan enabled you cannot really remove the recording so it can be suggested that we do not give this option at all in the menu.

 

Thanks for trying to make your own code for us... and thanks for all the patience that everytime I make some remarks... 


WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Change recording menu #24 tension

  • Senior Member
  • 117 posts

+4
Neutral

Posted 13 March 2015 - 10:53

thanks to the team for fun provided. unfortunately code posted is free-buggy

here i added the choice to stop all running recordings (if of interest), so new bugs and remarks :)

From cce552d09f08cf9307971b9fad87761202e57a50 Mon Sep 17 00:00:00 2001
From: tension <tension9000@yahoo.it>
Date: Fri, 13 Mar 2015 10:49:36 +0100
Subject: [PATCH] ggg

ggg
---
 lib/python/Screens/InfoBarGenerics.py | 29 ++++++++++++++++++++++++++++-
 lib/python/Screens/MovieSelection.py  |  9 +++++++--
 2 files changed, 35 insertions(+), 3 deletions(-)

diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
index 23737df..9fc5750 100644
--- a/lib/python/Screens/InfoBarGenerics.py
+++ b/lib/python/Screens/InfoBarGenerics.py
@@ -2229,8 +2229,24 @@ class InfoBarInstantRecord:
 	def stopCurrentRecording(self, entry = -1):
 		if entry is not None and entry != -1:
 			self.session.nav.RecordTimer.removeEntry(self.recording[entry])
+			if self.deleteRecording:
+				print "instantRecord stop and delete recording"
+				trash = "/hdd/movie/.Trash"
+				if not os.path.isdir(trash):
+					import Tools.Trashcan
+					trash = Tools.Trashcan.createTrashFolder(self.recording[entry].Filename)
+				from MovieSelection import moveServiceFiles
+				moveServiceFiles(os.path.realpath(self.recording[entry].Filename), trash, self.recording[entry].name, allowCopy=False)
 			self.recording.remove(self.recording[entry])
 
+	def stopAllCurrentRecordings(self, list):
+		msg = ''
+		for entry in list:
+			msg += entry[0].name + "\n"
+			self.session.nav.RecordTimer.removeEntry(entry[0])
+			self.recording.remove(entry[0])
+		self.session.open(MessageBox, _("Stopped recordings:") + "\n" + msg, MessageBox.TYPE_INFO, timeout=5)
+
 	def getProgramInfoAndEvent(self, info, name):
 		info["serviceref"] = hasattr(self, "SelectedInstantServiceRef") and self.SelectedInstantServiceRef or self.session.nav.getCurrentlyPlayingServiceOrGroup()
 
@@ -2331,6 +2347,7 @@ class InfoBarInstantRecord:
 			elif x.dontSave and x.isRunning():
 				list.append((x, False))
 
+		self.deleteRecording = False
 		if answer[1] == "changeduration":
 			if len(self.recording) == 1:
 				self.changeDuration(0)
@@ -2346,6 +2363,11 @@ class InfoBarInstantRecord:
 			self.session.open(TimerEdit.TimerEditList)
 		elif answer[1] == "stop":
 			self.session.openWithCallback(self.stopCurrentRecording, TimerSelection, list)
+		elif answer[1] == "stopdelete":
+			self.deleteRecording = True
+			self.session.openWithCallback(self.stopCurrentRecording, TimerSelection, list)
+		elif answer[1] == "stopall":
+			self.stopAllCurrentRecordings(list)
 		elif answer[1] in ( "indefinitely" , "manualduration", "manualendtime", "event"):
 			self.startInstantRecording(limitEvent = answer[1] in ("event", "manualendtime") or False)
 			if answer[1] == "manualduration":
@@ -2425,7 +2447,12 @@ class InfoBarInstantRecord:
 			common = ()
 		if self.isInstantRecordRunning():
 			title =_("A recording is currently running.\nWhat do you want to do?")
-			list = ((_("Stop recording"), "stop"),) + common + \
+			list = ((_("Stop recording"), "stop"),) 
+			if config.usage.movielist_trashcan.value:
+				list += ((_("Stop recording and delete file"), "stopdelete"),)
+			if len(self.recording) > 1:
+				list += ((_("Stop all current recordings"), "stopall"),)
+			list += common + \
 				((_("Change recording (duration)"), "changeduration"),
 				(_("Change recording (endtime)"), "changeendtime"),)
 			if self.isTimerRecordRunning():
diff --git a/lib/python/Screens/MovieSelection.py b/lib/python/Screens/MovieSelection.py
index cfb025f..961ddd8 100644
--- a/lib/python/Screens/MovieSelection.py
+++ b/lib/python/Screens/MovieSelection.py
@@ -138,14 +138,19 @@ def canCopy(item):
 
 def createMoveList(serviceref, dest):
 	#normpath is to remove the trailing '/' from directories
-	src = os.path.normpath(serviceref.getPath())
+	filename = False
+	if (isinstance(serviceref, str)):
+		filename = True
+		src = serviceref + ".ts"
+	else:
+		src = os.path.normpath(serviceref.getPath())
 	srcPath, srcName = os.path.split(src)
 	if os.path.normpath(srcPath) == dest:
 		# move file to itself is allowed, so we have to check it
 		raise Exception, "Refusing to move to the same directory"
 	# Make a list of items to move
 	moveList = [(src, os.path.join(dest, srcName))]
-	if not serviceref.flags & eServiceReference.mustDescent:
+	if filename or serviceref.flags & eServiceReference.mustDescent:
 		# Real movie, add extra files...
 		srcBase = os.path.splitext(src)[0]
 		baseName = os.path.split(srcBase)[1]
-- 
1.9.1



Re: Change recording menu #25 littlesat

  • PLi® Core member
  • 56,260 posts

+691
Excellent

Posted 13 March 2015 - 12:22

Looks rather good...

 

Post your MovieSelection.py and InfobarGenerics.py here (in a zip file)...

 

Some suggestions... (this is my "discussable" style)....

 

src = isinstance(serviceref, str) and serviceref + ".ts" or os.path.normpath(serviceref.getPath())

 

and 

 

if isinstance(serviceref, stror serviceref.flags & eServiceReference.mustDescent:

 

and

 

when you have more recordings you still need the Trahscan :D

 
+            list = ((_("Stop recording"), "stop"),) 
+            if config.usage.movielist_trashcan.value:
+                list += ((_("Stop recording and delete file"), "stopdelete"),)
+-->                if len(self.recording) > 1:
+-->                    list += ((_("Stop all current recordings"), "stopall"),)
+            list += common + \

if isinstance(serviceref, str) or serviceref.flags & eServiceReference.mustDescent:


Edited by littlesat, 13 March 2015 - 12:26.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Change recording menu #26 tension

  • Senior Member
  • 117 posts

+4
Neutral

Posted 13 March 2015 - 12:50

thanks for help.

added stop and delete one or all current recordings.

From a4cccbf5e960a0a2dae758ba3193a333ec0a17f6 Mon Sep 17 00:00:00 2001
From: tension <tension9000@yahoo.it>
Date: Fri, 13 Mar 2015 12:34:46 +0100
Subject: [PATCH] ggg

ggg
---
 lib/python/Screens/InfoBarGenerics.py | 39 ++++++++++++++++++++++++++++++++++-
 lib/python/Screens/MovieSelection.py  |  4 ++--
 2 files changed, 40 insertions(+), 3 deletions(-)

diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
index 23737df..03648d8 100644
--- a/lib/python/Screens/InfoBarGenerics.py
+++ b/lib/python/Screens/InfoBarGenerics.py
@@ -2226,11 +2226,32 @@ class InfoBarInstantRecord:
             if InfoBarInstance:
                 self.recording = InfoBarInstance.recording
 
+    def moveToTrash(self, entry):
+        print "instantRecord stop and delete recording: ", entry.name
+        trash = "/hdd/movie/.Trash"
+        if not os.path.isdir(trash):
+            import Tools.Trashcan
+            trash = Tools.Trashcan.createTrashFolder(entry.Filename)
+        from MovieSelection import moveServiceFiles
+        moveServiceFiles(os.path.realpath(entry.Filename), trash, entry.name, allowCopy=False)                
+
     def stopCurrentRecording(self, entry = -1):
         if entry is not None and entry != -1:
             self.session.nav.RecordTimer.removeEntry(self.recording[entry])
+            if self.deleteRecording:
+                self.moveToTrash(self.recording[entry])
             self.recording.remove(self.recording[entry])
 
+    def stopAllCurrentRecordings(self, list):
+        msg = ''
+        for entry in list:
+            msg += entry[0].name + "\n"
+            self.session.nav.RecordTimer.removeEntry(entry[0])
+            if self.deleteRecording:
+                self.moveToTrash(entry[0])
+            self.recording.remove(entry[0])
+        self.session.open(MessageBox, _("Stopped recordings:") + "\n" + msg, MessageBox.TYPE_INFO, timeout=5)
+
     def getProgramInfoAndEvent(self, info, name):
         info["serviceref"] = hasattr(self, "SelectedInstantServiceRef") and self.SelectedInstantServiceRef or self.session.nav.getCurrentlyPlayingServiceOrGroup()
 
@@ -2331,6 +2352,7 @@ class InfoBarInstantRecord:
             elif x.dontSave and x.isRunning():
                 list.append((x, False))
 
+        self.deleteRecording = False
         if answer[1] == "changeduration":
             if len(self.recording) == 1:
                 self.changeDuration(0)
@@ -2346,6 +2368,14 @@ class InfoBarInstantRecord:
             self.session.open(TimerEdit.TimerEditList)
         elif answer[1] == "stop":
             self.session.openWithCallback(self.stopCurrentRecording, TimerSelection, list)
+        elif answer[1] == "stopdelete":
+            self.deleteRecording = True
+            self.session.openWithCallback(self.stopCurrentRecording, TimerSelection, list)
+        elif answer[1] == "stopall":
+            self.stopAllCurrentRecordings(list)
+        elif answer[1] == "stopdeleteall":
+            self.deleteRecording = True
+            self.stopAllCurrentRecordings(list)
         elif answer[1] in ( "indefinitely" , "manualduration", "manualendtime", "event"):
             self.startInstantRecording(limitEvent = answer[1] in ("event", "manualendtime") or False)
             if answer[1] == "manualduration":
@@ -2425,7 +2455,14 @@ class InfoBarInstantRecord:
             common = ()
         if self.isInstantRecordRunning():
             title =_("A recording is currently running.\nWhat do you want to do?")
-            list = ((_("Stop recording"), "stop"),) + common + \
+            list = ((_("Stop recording"), "stop"),)
+            if config.usage.movielist_trashcan.value:
+                list += ((_("Stop and delete recording"), "stopdelete"),)
+            if len(self.recording) > 1:
+                list += ((_("Stop all current recordings"), "stopall"),)
+                if config.usage.movielist_trashcan.value:
+                    list += ((_("Stop and delete all current recordings"), "stopdeleteall"),)
+            list += common + \
                 ((_("Change recording (duration)"), "changeduration"),
                 (_("Change recording (endtime)"), "changeendtime"),)
             if self.isTimerRecordRunning():
diff --git a/lib/python/Screens/MovieSelection.py b/lib/python/Screens/MovieSelection.py
index cfb025f..4d8cc71 100644
--- a/lib/python/Screens/MovieSelection.py
+++ b/lib/python/Screens/MovieSelection.py
@@ -138,14 +138,14 @@ def canCopy(item):
 
 def createMoveList(serviceref, dest):
     #normpath is to remove the trailing '/' from directories
-    src = os.path.normpath(serviceref.getPath())
+    src = isinstance(serviceref, str) and serviceref + ".ts" or os.path.normpath(serviceref.getPath())
     srcPath, srcName = os.path.split(src)
     if os.path.normpath(srcPath) == dest:
         # move file to itself is allowed, so we have to check it
         raise Exception, "Refusing to move to the same directory"
     # Make a list of items to move
     moveList = [(src, os.path.join(dest, srcName))]
-    if not serviceref.flags & eServiceReference.mustDescent:
+    if isinstance(serviceref, str) or serviceref.flags & eServiceReference.mustDescent:
         # Real movie, add extra files...
         srcBase = os.path.splitext(src)[0]
         baseName = os.path.split(srcBase)[1]
--
1.9.1

Attached Files



Re: Change recording menu #27 littlesat

  • PLi® Core member
  • 56,260 posts

+691
Excellent

Posted 13 March 2015 - 19:18

Pushed... but with small changes....


WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Change recording menu #28 Dimitrij

  • PLi® Core member
  • 9,994 posts

+338
Excellent

Posted 13 March 2015 - 20:14

http://sourceforge.n...a0284ca09ebd64/

not change

-			self.session.openWithCallback(self.EventInfoPluginChosen, ChoiceBox, title=_("Please choose an extension..."), list=pluginlist, skin_name="EPGExtensionsList", reorderConfig="eventinfo_order")
+			self.session.openWithCallback(self.EventInfoPluginChosen, ChoiceBox, title=_("Please choose an extension..."), list = pluginlist, skin_name = "EPGExtensionsList")
 		else:
 			self.openSingleServiceEPG()
 
@@ -2011,7 +2011,7 @@
 		list.extend([(x[0](), x) for x in extensionsList])
 
 		keys += [""] * len(extensionsList)
-		self.session.openWithCallback(self.extensionCallback, ChoiceBox, title=_("Please choose an extension..."), list=list, keys=keys, skin_name="ExtensionsList", reorderConfig="extension_order")
+		self.session.openWithCallback(self.extensionCallback, ChoiceBox, title=_("Please choose an extension..."), list = list, keys = keys, skin_name = "ExtensionsList")

GigaBlue UHD Quad 4K /Lunix3-4K/Solo 4K


Re: Change recording menu #29 ims

  • PLi® Core member
  • 13,623 posts

+212
Excellent

Posted 13 March 2015 - 20:20

 

instantRecord stop and delete recording:  DĂĄlnice vedoucĂ­ peklem
Traceback (most recent call last):
  File "/usr/lib/enigma2/python/mytest.py", line 196, in processDelay
    callback(*retval)
  File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2377, in recordQuestionCallback
  File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2242, in stopCurrentRecording
  File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2236, in moveToTrash
  File "/usr/lib/enigma2/python/Screens/MovieSelection.py", line 163, in moveServiceFiles
  File "/usr/lib/enigma2/python/Screens/MovieSelection.py", line 148, in createMoveList
AttributeError: 'str' object has no attribute 'flags'
(PyObject_CallObject(<bound method Session.processDelay of <__main__.Session instance at 0x20a3468>>,()) failed)

 

instant recording and Stop and delete ...


Edited by ims, 13 March 2015 - 20:22.

Kdo nic nedělá, nic nezkazí!

Re: Change recording menu #30 tension

  • Senior Member
  • 117 posts

+4
Neutral

Posted 13 March 2015 - 20:28

ok, invoke the timerselection only when more than 1 current recording.

 

@ ims: probably this won't give the problem

-if serviceref.flags & eServiceReference.mustDescent or isinstance(serviceref, str):

+if isinstance(serviceref, str) or serviceref.flags & eServiceReference.mustDescent:


Edited by tension, 13 March 2015 - 20:31.


Re: Change recording menu #31 tension

  • Senior Member
  • 117 posts

+4
Neutral

Posted 13 March 2015 - 20:36

 

ok, invoke the timerselection only when more than 1 current recording.

 

@ ims: probably this won't give the problem

-if serviceref.flags & eServiceReference.mustDescent or isinstance(serviceref, str):

+if isinstance(serviceref, str) or not serviceref.flags & eServiceReference.mustDescent:

correction



Re: Change recording menu #32 ims

  • PLi® Core member
  • 13,623 posts

+212
Excellent

Posted 13 March 2015 - 20:39

 

  File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2377, in recordQuestionCallback
  File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2242, in stopCurrentRecording
  File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 2236, in moveToTrash
  File "/usr/lib/enigma2/python/Screens/MovieSelection.py", line 169, in moveServiceFiles
    os.rename(item[0], item[1])
OSError: [Errno 18] Invalid cross-device link

GSOD again


Kdo nic nedělá, nic nezkazí!

Re: Change recording menu #33 tension

  • Senior Member
  • 117 posts

+4
Neutral

Posted 13 March 2015 - 20:55

i test with only hdd onboard.

try with this in infobargenerics

        -moveServiceFiles(os.path.realpath(entry.Filename), trash, entry.name, allowCopy=False)    
	+moveServiceFiles(os.path.realpath(entry.Filename), trash, entry.name, allowCopy=True)	

Edited by tension, 13 March 2015 - 20:56.


Re: Change recording menu #34 littlesat

  • PLi® Core member
  • 56,260 posts

+691
Excellent

Posted 13 March 2015 - 21:32

#28 pushed....


WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Change recording menu #35 littlesat

  • PLi® Core member
  • 56,260 posts

+691
Excellent

Posted 13 March 2015 - 21:35

#30 pushed.... my mistake....


WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Change recording menu #36 littlesat

  • PLi® Core member
  • 56,260 posts

+691
Excellent

Posted 13 March 2015 - 21:36

#32 with recording on NAS? Then this part needs more research.... But I do not see a reason why at this moment...

 

Probably you can debuf item[0] and item[1] to discover why....?


Edited by littlesat, 13 March 2015 - 21:39.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Change recording menu #37 littlesat

  • PLi® Core member
  • 56,260 posts

+691
Excellent

Posted 13 March 2015 - 21:44

Possible solution for #32 also pushed....


WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Change recording menu #38 littlesat

  • PLi® Core member
  • 56,260 posts

+691
Excellent

Posted 13 March 2015 - 21:48

Aaaah... that was also there in #30... I miss that.... shoot!

The orriginal stuff should perform as it was before now...

 

We some issues with the new feature(s) could be left.... But as far I tried I do not see any here....


Edited by littlesat, 13 March 2015 - 22:01.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Change recording menu #39 tension

  • Senior Member
  • 117 posts

+4
Neutral

Posted 13 March 2015 - 22:14

Better change this code

		trash = "/hdd/movie/.Trash"
		if not os.path.isdir(trash):
			import Tools.Trashcan
			trash = Tools.Trashcan.createTrashFolder(entry.Filename)

and get a path without symlink

import Tools.Trashcan
trash = Tools.Trashcan.createTrashFolder("/hdd/movie")

But i did not look at how the mountpoints for recordings are managed.

If we always have a recording device mounted as /hdd (even on nas, usb, ...) then the problem of symlink is solved.

If not we need the alternative creation of trash beside the recording anywhere is it

trash = Tools.Trashcan.createTrashFolder(entry.Filename)


Re: Change recording menu #40 littlesat

  • PLi® Core member
  • 56,260 posts

+691
Excellent

Posted 13 March 2015 - 22:33

First we need help from IMS to detect under which conditions it probably still goes wrong...

 

And I'm sure IMS will find a fix and patch for us ;)

 

But hopefully in between it is fixed....

 

Sorry I made a mistake to swap the instance check.... and you forgot a not....

 

Now my harddisk is full of meta files not linked to ts files (hihi). I did not test well....... I only checked the recordings were gone...


Edited by littlesat, 13 March 2015 - 22:35.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W



1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users