Skip to content

Commit

Permalink
Merge pull request #75 from daTa-deVil/master
Browse files Browse the repository at this point in the history
[EMCPlayList] add Setup-functions, adjust savePlaylist to check for existing before write
  • Loading branch information
madie66 committed Apr 19, 2015
2 parents 5057d8c + 84378c5 commit 14769fc
Show file tree
Hide file tree
Showing 4 changed files with 200 additions and 29 deletions.
48 changes: 48 additions & 0 deletions po/EnhancedMovieCenter.pot
Expand Up @@ -13,6 +13,54 @@ msgstr ""
"X-Poedit-Basepath: ../\n"
"X-Poedit-SearchPath-0: src\n"

#: src/EMCCoverSearch.py:571
msgid "Cover is Saved."
msgstr ""

#: src/EMCPlayList.py:388
msgid "Enter Name for Playlist"
msgstr ""

#: src/EMCPlayList.py:364
msgid "EMC Playlist Setup"
msgstr ""

#: src/EMCPlayList.py:350
msgid "Always save current Playlist"
msgstr ""

#: src/EMCPlayList.py:349
msgid "Default Playlist name"
msgstr ""

#: src/EMCPlayList.py:348
msgid "Default Playlist path"
msgstr ""

#: src/EMCPlayList.py:185
msgid "Can not save current Playlist!"
msgstr ""

#: src/EMCPlayList.py:182
msgid "Current Playlist saved successfully!"
msgstr ""

#: src/EMCPlayList.py:160
msgid "Playlist with same name exists!\n\nTry to save the Playlist with another name?"
msgstr ""

#: src/EMCPlayList.py:128
msgid "Setup open"
msgstr ""

#: src/EMCPlayList.py:127
msgid "Playlist open"
msgstr ""

#: src/EMCPlayList.py:126
msgid "EMC Playlist Menu"
msgstr ""

#: src/MovieSelectionMenu.py:91 src/MovieSelectionMenu.py:196
msgid "Playlist Options"
msgstr ""
Expand Down
79 changes: 65 additions & 14 deletions po/de.po
Expand Up @@ -16,17 +16,68 @@ msgstr ""
"X-Poedit-Basepath: ../\n"
"X-Poedit-SearchPath-0: src\n"

#: src/EMCCoverSearch.py:571
msgid "Cover is Saved."
msgstr "Cover gespeichert."

#: src/EMCPlayList.py:388
msgid "Enter Name for Playlist"
msgstr "Geben Sie einen Namen für die Wiedergabeliste ein"

#: src/EMCPlayList.py:364
msgid "EMC Playlist Setup"
msgstr "EMC Wiedergabeliste Einstellungen"

#: src/EMCPlayList.py:350
msgid "Always save current Playlist"
msgstr "Aktuelle Wiedergabeliste immer speichern"

#: src/EMCPlayList.py:349
msgid "Default Playlist name"
msgstr "Standardname für Wiedergabeliste"

#: src/EMCPlayList.py:348
msgid "Default Playlist path"
msgstr "Standardverzeichnis für Wiedergabeliste"

#: src/EMCPlayList.py:185
msgid "Can not save current Playlist!"
msgstr "Konnte aktuelle Wiedergabeliste nicht speichern!"

#: src/EMCPlayList.py:182
msgid "Current Playlist saved successfully!"
msgstr "Aktuelle Wiedergabeliste erfolgreich gespeichert!"

#: src/EMCPlayList.py:160
msgid "Playlist with same name exists!\n\nTry to save the Playlist with another name?"
msgstr ""
"Eine Wiedergabeliste mit dem selben Namen exestiert schon!\n"
"\n"
"Wollen Sie die Wiedergabeliste unter einen anderen Namen speichern?"

#: src/EMCPlayList.py:128
msgid "Setup open"
msgstr "Einstellungen öffnen"

#: src/EMCPlayList.py:127
msgid "Playlist open"
msgstr "Wiedergabeliste öffnen"

#: src/EMCPlayList.py:126
msgid "EMC Playlist Menu"
msgstr "EMC Wiedergabeliste Menü"

#: src/MovieSelectionMenu.py:91 src/MovieSelectionMenu.py:196
msgid "Playlist Options"
msgstr "Playlist Optionen"
msgstr "Wiedergabeliste Optionen"

#: src/EMCPlayList.py:119
msgid "Change the filename to save current Playlist:"
msgstr "Ändern sie den Dateinamen zum speichern der aktuellen Playlist:"

#: src/EMCPlayList.py:119
msgid "Save current Playlist"
msgstr "Aktuelle Playlist speichern"
msgstr "Aktuelle Wiedergabeliste speichern"

#: src/MovieInfo.py:575
msgid "Can not write Movie Information File\n\n%s"
Expand Down Expand Up @@ -119,26 +170,26 @@ msgstr ""

#: src/EMCPlayList.py:75
msgid "Files added to current Playlist."
msgstr "Dateien zur aktuellen Playlist hinzugefügt."
msgstr "Dateien zur aktuellen Wiedergabeliste hinzugefügt."

#: src/EMCPlayList.py:75
msgid "Files added to current Playlist:\n%s\n\nFiles exists in current Playlist:\n%s"
msgstr ""
"Dateien zur aktuellen Playlist hinzugefügt:\n"
"Dateien zur aktuellen Wiedergabeliste hinzugefügt:\n"
"%s\n"
"\n"
"Dateien sind schon in der aktuellen Playlist:\n"
"Dateien sind schon in der aktuellen Wiedergabeliste:\n"
"%s"

#: src/EMCPlayList.py:75
msgid "Files exists in current Playlist:\n%s"
msgstr ""
"Dateien sind schon in der aktuellen Playlist:\n"
"Dateien sind schon in der aktuellen Wiedergabeliste:\n"
"%s"

#: src/EnhancedMovieCenter.py:455
msgid "Show message if file added to playlist"
msgstr "Zeige Benachrichtigung bei \"zur Playlist hinzufügen\""
msgstr "Zeige Benachrichtigung bei \"zur Wiedergabeliste hinzufügen\""

#: src/EnhancedMovieCenter.py:455
msgid "HELP_Show message if file added to playlist"
Expand All @@ -160,31 +211,31 @@ msgstr "EMC Playlist - aktuelle Wiedergabeliste"

#: src/MovieSelection.py:1671
msgid "File added to current Playlist."
msgstr "Datei zur aktuellen Playlist hinzugefügt."
msgstr "Datei zur aktuellen Wiedergabeliste hinzugefügt."

#: src/MovieSelection.py:1673
msgid "File exists in current Playlist."
msgstr "Datei ist schon in der aktuellen Playlist."
msgstr "Datei ist schon in der aktuellen Wiedergabeliste."

#: src/MovieSelectionMenu.py:87
msgid "Add to current Playlist"
msgstr "Zur aktuellen Playlist hinzufügen"
msgstr "Zur aktuellen Wiedergabeliste hinzufügen"

#: src/MovieSelectionMenu.py:89
msgid "Play current Playlist"
msgstr "Aktuelle Playlist abspielen"
msgstr "Aktuelle Wiedergabeliste abspielen"

#: src/MovieSelectionMenu.py:90
msgid "Play random current Playlist"
msgstr "Aktuelle Playlist zufällig abspielen"
msgstr "Aktuelle Wiedergabeliste zufällig abspielen"

#: src/MovieSelectionMenu.py:91
msgid "Show current Playlist"
msgstr "Aktuelle Playlist anzeigen"
msgstr "Aktuelle Wiedergabeliste anzeigen"

#: src/MovieSelectionMenu.py:92
msgid "Delete current Playlist"
msgstr "Aktuelle Playlist löschen"
msgstr "Aktuelle Wiedergabeliste löschen"

#: src/plugin.py:170 src/plugin.py:191
msgid "Add to Playlist"
Expand Down
2 changes: 1 addition & 1 deletion src/EMCCoverSearch.py
Expand Up @@ -568,7 +568,7 @@ def setupFinished2(self, result):
self.verwaltung()
#self.showInfo()
self["done_msg"].show()
self["done_msg"].setText("Cover is Saved.")
self["done_msg"].setText(_("Cover is Saved."))
#DelayedFunction(3000, self["done_msg"].hide)

def decodeHtml(self, text):
Expand Down
100 changes: 86 additions & 14 deletions src/EMCPlayList.py
Expand Up @@ -9,12 +9,15 @@
from Screens.Screen import Screen
from Screens.ChoiceBox import ChoiceBox
from Screens.InputBox import InputBox

from Screens.LocationBox import LocationBox
from Screens.MessageBox import MessageBox
from Screens.VirtualKeyBoard import VirtualKeyBoard
from Components.ActionMap import ActionMap
from Components.Button import Button
from Components.config import *
from Components.ConfigList import *
from Components.GUIComponent import GUIComponent
from Tools.Directories import fileExists

from skin import parseColor, parseFont

Expand All @@ -25,6 +28,8 @@
global plyDVB

config.EMC.playlist = ConfigSubsection()
config.EMC.playlist.default_playlist_path = ConfigDirectory(default = "/media/hdd/")
config.EMC.playlist.default_playlist_name = ConfigText(default = "EmcPlaylist")
config.EMC.playlist.save_default_list = ConfigYesNo(default = False)


Expand Down Expand Up @@ -85,11 +90,9 @@ class EMCPlaylistScreen(Screen):

def __init__(self, session):
Screen.__init__(self, session)

self.skinName = "EMCPlaylist"

self.spath = config.EMC.playlist.default_playlist_path.value + config.EMC.playlist.default_playlist_name.value
self["playlist"] = PlayList()

self["save"] = Button(_("Save"))
self["cancel"] = Button(_("Cancel"))
self["delete"] = Button(_("Delete Entry"))
Expand Down Expand Up @@ -138,7 +141,29 @@ def keyRed(self):
self.close()

def keyGreen(self):
self.session.openWithCallback(self.save, InputBox, title=_("Change the filename to save current Playlist:"), windowTitle = _("Save current Playlist"), text="/media/hdd/EmcPlaylist001")
if emcplaylist.getCurrentPlaylist() != {}:
self.checkPlaylistExist()

def checkPlaylistExist(self, path=None):
if path is not None:
if fileExists(path + ".e2pls"):
self.showMessage()
else:
self.save(path)
else:
if fileExists(self.spath + ".e2pls"):
self.showMessage()
else:
self.save(self.spath)

def showMessage(self):
self.session.openWithCallback(self.showMessageCB, MessageBox, (_("Playlist with same name exists!\n\nTry to save the Playlist with another name?")), MessageBox.TYPE_YESNO)

def showMessageCB(self, result):
if result:
self.session.openWithCallback(self.checkPlaylistExist, InputBox, title=_("Change the filename to save current Playlist:"), windowTitle = _("Save current Playlist"), text=self.spath)
else:
return

def save(self, filename):
if filename:
Expand All @@ -149,11 +174,15 @@ def save(self, filename):

tmplist.sort( key=lambda x: (x[0]) )

file = open(filename + ".e2pls", "w")
for x in tmplist:
file.write(str(x[2].toString()).replace(":%s" % x[1], "") + "\n")
file.close()

try:
file = open(filename + ".e2pls", "w")
for x in tmplist:
file.write(str(x[2].toString()).replace(":%s" % x[1], "") + "\n")
file.close()
self.session.open(MessageBox, (_("Current Playlist saved successfully!")), MessageBox.TYPE_INFO, 5)
except Exception, e:
print('[EMCPlayList] savePlaylist get failed: ', str(e))
self.session.open(MessageBox, (_("Can not save current Playlist!")), MessageBox.TYPE_ERROR, 10)

def keyYellow(self):
current = self["playlist"].getCurrent()
Expand Down Expand Up @@ -316,7 +345,9 @@ def __init__(self, session):
Screen.__init__(self, session)
#self.session = session
self.list = []
self.list.append(getConfigListEntry(_("Save default Playlist"), config.EMC.playlist.save_default_list))
self.list.append(getConfigListEntry(_("Default Playlist path"), config.EMC.playlist.default_playlist_path))
self.list.append(getConfigListEntry(_("Default Playlist name"), config.EMC.playlist.default_playlist_name))
self.list.append(getConfigListEntry(_("Always save current Playlist"), config.EMC.playlist.save_default_list))

ConfigListScreen.__init__(self, self.list, session)
self["actions"] = ActionMap(["SetupActions", "ColorActions"],
Expand All @@ -332,11 +363,52 @@ def __init__(self, session):
def layoutFinished(self):
self.setTitle(_("EMC Playlist Setup"))

def openDirectoryBrowser(self, path):
try:
self.session.openWithCallback(
self.openDirectoryBrowserCB,
LocationBox,
windowTitle = _("Choose Directory:"),
text = _("Choose directory"),
currDir = str(path),
bookmarks = config.movielist.videodirs,
autoAdd = False,
editDir = True,
inhibitDirs = ["/bin", "/boot", "/dev", "/etc", "/home", "/lib", "/proc", "/run", "/sbin", "/sys", "/usr", "/var"],
minFree = 15 )
except Exception, e:
print('[EMCPlayList] openDirectoryBrowser get failed: ', str(e))

def openDirectoryBrowserCB(self, path):
if path is not None:
config.EMC.playlist.default_playlist_path.setValue(path)

def openVirtualKeyboard(self, name):
try:
self.session.openWithCallback(lambda x : self.openVirtualKeyboardCB(x, 'playlist_name'), VirtualKeyBoard, title = (_('Enter Name for Playlist')), text = name)
except Exception, e:
print('[EMCPlayList] openVirtualKeyboard get failed: ', str(e))

def openVirtualKeyboardCB(self, callback = None, entry = None):
if callback is not None and len(callback) and entry is not None and len(entry):
if entry == 'playlist_name':
config.EMC.playlist.default_playlist_name.setValue(callback)

def ok(self):
self.close()
if self["config"].getCurrent()[1] == config.EMC.playlist.default_playlist_path:
self.openDirectoryBrowser(config.EMC.playlist.default_playlist_path.value)
elif self["config"].getCurrent()[1] == config.EMC.playlist.default_playlist_name:
self.openVirtualKeyboard(config.EMC.playlist.default_playlist_name.value)
else:
self.exit() # should we use save on this way too?

def exit(self):
self.close()
for x in self["config"].list:
x[1].cancel()
self.close(False)

def save(self):
self.close()
for x in self["config"].list:
x[1].save()
configfile.save()
self.close(True)

0 comments on commit 14769fc

Please sign in to comment.