Moin,
Ich nutze seit einiger Zeit Linux Mint und hatte vor ein paar Tagen mir mal ein bisschen Python angeschaut. Gestern Abend, merkte ich dann, dass in der Taskleiste das Symbol vom Updater fehlt.
Ich habe dann erstmal probiert den so aus dem Menü zu starten, da ist dann aber nichts passiert. Wenn man mintupdate-launcher startet, kommt diese Fehlermeldung:
[src=bash]➜ ~ mintupdate-launcher
File "/usr/lib/linuxmint/mintUpdate/mintUpdate.py", line 24
except Exception, detail:
^
SyntaxError: invalid syntax[/src]
Hier ist auch mal meine Datei und ein Diff davon mit der von github
Beim rumgooglen habe ich viele Leute gefunden, deren Updater auch nicht wollte. Da lag es aber fast immer am Aufruf von gtk.main() gegen Ende der Datei. Kann es bei mir auch da dran liegen?
Ich nutze seit einiger Zeit Linux Mint und hatte vor ein paar Tagen mir mal ein bisschen Python angeschaut. Gestern Abend, merkte ich dann, dass in der Taskleiste das Symbol vom Updater fehlt.
Ich habe dann erstmal probiert den so aus dem Menü zu starten, da ist dann aber nichts passiert. Wenn man mintupdate-launcher startet, kommt diese Fehlermeldung:
[src=bash]➜ ~ mintupdate-launcher
File "/usr/lib/linuxmint/mintUpdate/mintUpdate.py", line 24
except Exception, detail:
^
SyntaxError: invalid syntax[/src]
Hier ist auch mal meine Datei und ein Diff davon mit der von github
[src=diff]--- /usr/lib/linuxmint/mintUpdate/mintUpdate.py
+++ /home/janis/Documents/Trash/untitled.py
@@ -66,7 +66,7 @@
(UPDATE_CHECKED, UPDATE_NAME, UPDATE_LEVEL_PIX, UPDATE_OLD_VERSION, UPDATE_NEW_VERSION, UPDATE_LEVEL_STR, UPDATE_SIZE, UPDATE_SIZE_STR, UPDATE_TYPE_PIX, UPDATE_TYPE, UPDATE_TOOLTIP, UPDATE_SORT_STR, UPDATE_OBJ) = range(13)
class PackageUpdate():
- def __init__(self, source_package_name, level, oldVersion, newVersion, extraInfo, warning, update_type, tooltip):
+ def __init__(self, source_package_name, level, oldVersion, newVersion, extraInfo, warning, update_type, origin, tooltip):
self.name = source_package_name
self.description = ""
self.short_description = ""
@@ -77,6 +77,7 @@
self.extraInfo = extraInfo
self.warning = warning
self.type = update_type
+ self.origin = origin
self.tooltip = tooltip
self.packages = []
@@ -87,11 +88,12 @@
self.size += size
class ChangelogRetriever(threading.Thread):
- def __init__(self, source_package, level, version, wTree):
+ def __init__(self, package_update, wTree):
threading.Thread.__init__(self)
- self.source_package = source_package
- self.level = level
- self.version = version
+ self.source_package = package_update.name
+ self.level = package_update.level
+ self.version = package_update.newVersion
+ self.origin = package_update.origin
self.wTree = wTree
# get the proxy settings from gsettings
self.ps = proxygsettings.get_proxy_settings()
@@ -106,19 +108,30 @@
self.wTree.get_widget("textview_changes").get_buffer().set_text(_("Downloading changelog..."))
gtk.gdk.threads_leave()
- changelog_sources = []
- if (self.source_package.startswith("lib")):
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/main/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/multiverse/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/universe/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/restricted/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
- else:
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/main/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/multiverse/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/universe/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/restricted/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://packages.linuxmint.com/dev/" + self.source_package + "_" + self.version + "_amd64.changes")
- changelog_sources.append("http://packages.linuxmint.com/dev/" + self.source_package + "_" + self.version + "_i386.changes")
+ changelog_sources = []
+ if self.origin == "linuxmint":
+ changelog_sources.append("http://packages.linuxmint.com/dev/" + self.source_package + "_" + self.version + "_amd64.changes")
+ changelog_sources.append("http://packages.linuxmint.com/dev/" + self.source_package + "_" + self.version + "_i386.changes")
+ elif self.origin == "ubuntu":
+ if (self.source_package.startswith("lib")):
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/main/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/multiverse/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/universe/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/restricted/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ else:
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/main/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/multiverse/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/universe/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/restricted/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ elif self.origin == "debian":
+ if (self.source_package.startswith("lib")):
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/main/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/contrib/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/non-free/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ else:
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/main/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/contrib/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/non-free/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
changelog = _("No changelog available")
@@ -609,7 +622,7 @@
else:
for pkg in updates:
values = string.split(pkg, "###")
- if len(values) == 9:
+ if len(values) == 10:
status = values[0]
if (status == "ERROR"):
try:
@@ -642,8 +655,9 @@
size = int(values[4])
source_package = values[5]
update_type = values[6]
- short_description = values[7]
- description = values[8]
+ origin = values[7]
+ short_description = values[8]
+ description = values[9]
package_names.add(package.replace(":i386", "").replace(":amd64", ""))
@@ -717,7 +731,7 @@
level = int(level)
# Create a new Update
- update = PackageUpdate(source_package, level, oldVersion, newVersion, extraInfo, warning, update_type, tooltip)
+ update = PackageUpdate(source_package, level, oldVersion, newVersion, extraInfo, warning, update_type, origin, tooltip)
update.add_package(package, size, short_description, description)
package_updates[source_package] = update
else:
@@ -1793,7 +1807,7 @@
buffer.insert_with_tags_by_name(buffer.get_end_iter(), dimmed_description, "dimmed")
else:
# Changelog tab
- retriever = ChangelogRetriever(package_update.name, package_update.level, package_update.newVersion, wTree)
+ retriever = ChangelogRetriever(package_update, wTree)
retriever.start()
except Exception, detail:
@@ -1823,7 +1837,7 @@
buffer.insert_with_tags_by_name(buffer.get_end_iter(), dimmed_description, "dimmed")
else:
# Changelog tab
- retriever = ChangelogRetriever(package_update.name, package_update.level, package_update.newVersion, wTree)
+ retriever = ChangelogRetriever(package_update, wTree)
retriever.start()
def celldatafunction_checkbox(column, cell, model, iter):
@@ -2178,7 +2192,12 @@
viewSubmenu.append(descriptionsMenuItem)
viewSubmenu.append(historyMenuItem)
- viewSubmenu.append(kernelMenuItem)
+ try:
+ # Only support kernel selection in Linux Mint (not LMDE)
+ if (commands.getoutput("lsb_release -is").strip() == "LinuxMint" and float(commands.getoutput("lsb_release -rs").strip()) >= 13):
+ viewSubmenu.append(kernelMenuItem)
+ except Exception, detail:
+ print detail
viewSubmenu.append(infoMenuItem)
helpMenu = gtk.MenuItem(_("_Help"))
@@ -2228,4 +2247,4 @@
print detail
log.writelines("-- Exception occured in main thread: " + str(detail) + "\n")
log.flush()
- log.close()
+ log.close()
[/src]
+++ /home/janis/Documents/Trash/untitled.py
@@ -66,7 +66,7 @@
(UPDATE_CHECKED, UPDATE_NAME, UPDATE_LEVEL_PIX, UPDATE_OLD_VERSION, UPDATE_NEW_VERSION, UPDATE_LEVEL_STR, UPDATE_SIZE, UPDATE_SIZE_STR, UPDATE_TYPE_PIX, UPDATE_TYPE, UPDATE_TOOLTIP, UPDATE_SORT_STR, UPDATE_OBJ) = range(13)
class PackageUpdate():
- def __init__(self, source_package_name, level, oldVersion, newVersion, extraInfo, warning, update_type, tooltip):
+ def __init__(self, source_package_name, level, oldVersion, newVersion, extraInfo, warning, update_type, origin, tooltip):
self.name = source_package_name
self.description = ""
self.short_description = ""
@@ -77,6 +77,7 @@
self.extraInfo = extraInfo
self.warning = warning
self.type = update_type
+ self.origin = origin
self.tooltip = tooltip
self.packages = []
@@ -87,11 +88,12 @@
self.size += size
class ChangelogRetriever(threading.Thread):
- def __init__(self, source_package, level, version, wTree):
+ def __init__(self, package_update, wTree):
threading.Thread.__init__(self)
- self.source_package = source_package
- self.level = level
- self.version = version
+ self.source_package = package_update.name
+ self.level = package_update.level
+ self.version = package_update.newVersion
+ self.origin = package_update.origin
self.wTree = wTree
# get the proxy settings from gsettings
self.ps = proxygsettings.get_proxy_settings()
@@ -106,19 +108,30 @@
self.wTree.get_widget("textview_changes").get_buffer().set_text(_("Downloading changelog..."))
gtk.gdk.threads_leave()
- changelog_sources = []
- if (self.source_package.startswith("lib")):
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/main/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/multiverse/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/universe/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/restricted/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
- else:
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/main/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/multiverse/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/universe/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/restricted/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://packages.linuxmint.com/dev/" + self.source_package + "_" + self.version + "_amd64.changes")
- changelog_sources.append("http://packages.linuxmint.com/dev/" + self.source_package + "_" + self.version + "_i386.changes")
+ changelog_sources = []
+ if self.origin == "linuxmint":
+ changelog_sources.append("http://packages.linuxmint.com/dev/" + self.source_package + "_" + self.version + "_amd64.changes")
+ changelog_sources.append("http://packages.linuxmint.com/dev/" + self.source_package + "_" + self.version + "_i386.changes")
+ elif self.origin == "ubuntu":
+ if (self.source_package.startswith("lib")):
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/main/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/multiverse/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/universe/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/restricted/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ else:
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/main/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/multiverse/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/universe/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/restricted/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ elif self.origin == "debian":
+ if (self.source_package.startswith("lib")):
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/main/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/contrib/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/non-free/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ else:
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/main/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/contrib/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/non-free/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
changelog = _("No changelog available")
@@ -609,7 +622,7 @@
else:
for pkg in updates:
values = string.split(pkg, "###")
- if len(values) == 9:
+ if len(values) == 10:
status = values[0]
if (status == "ERROR"):
try:
@@ -642,8 +655,9 @@
size = int(values[4])
source_package = values[5]
update_type = values[6]
- short_description = values[7]
- description = values[8]
+ origin = values[7]
+ short_description = values[8]
+ description = values[9]
package_names.add(package.replace(":i386", "").replace(":amd64", ""))
@@ -717,7 +731,7 @@
level = int(level)
# Create a new Update
- update = PackageUpdate(source_package, level, oldVersion, newVersion, extraInfo, warning, update_type, tooltip)
+ update = PackageUpdate(source_package, level, oldVersion, newVersion, extraInfo, warning, update_type, origin, tooltip)
update.add_package(package, size, short_description, description)
package_updates[source_package] = update
else:
@@ -1793,7 +1807,7 @@
buffer.insert_with_tags_by_name(buffer.get_end_iter(), dimmed_description, "dimmed")
else:
# Changelog tab
- retriever = ChangelogRetriever(package_update.name, package_update.level, package_update.newVersion, wTree)
+ retriever = ChangelogRetriever(package_update, wTree)
retriever.start()
except Exception, detail:
@@ -1823,7 +1837,7 @@
buffer.insert_with_tags_by_name(buffer.get_end_iter(), dimmed_description, "dimmed")
else:
# Changelog tab
- retriever = ChangelogRetriever(package_update.name, package_update.level, package_update.newVersion, wTree)
+ retriever = ChangelogRetriever(package_update, wTree)
retriever.start()
def celldatafunction_checkbox(column, cell, model, iter):
@@ -2178,7 +2192,12 @@
viewSubmenu.append(descriptionsMenuItem)
viewSubmenu.append(historyMenuItem)
- viewSubmenu.append(kernelMenuItem)
+ try:
+ # Only support kernel selection in Linux Mint (not LMDE)
+ if (commands.getoutput("lsb_release -is").strip() == "LinuxMint" and float(commands.getoutput("lsb_release -rs").strip()) >= 13):
+ viewSubmenu.append(kernelMenuItem)
+ except Exception, detail:
+ print detail
viewSubmenu.append(infoMenuItem)
helpMenu = gtk.MenuItem(_("_Help"))
@@ -2228,4 +2247,4 @@
print detail
log.writelines("-- Exception occured in main thread: " + str(detail) + "\n")
log.flush()
- log.close()
+ log.close()
[/src]