diff --git a/docs/TODO b/docs/TODO
index 04b9b2037..ac5c5b9cf 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -17,6 +17,7 @@
- remove "server_repos", use "matchRepo"
- entropy.client, rename validRepositories into enabled_repositories
- entropy.client, rename clientDbconn into installed_db
+ - entropy.db => retrieveVersionTag => retrieveTag
- PackageKit integration
- ability to also install build dependencies
- Spm.extract_package_metadata, define metadata format (to make easier
diff --git a/libraries/entropy/client/services/ugc/commands.py b/libraries/entropy/client/services/ugc/commands.py
index 77c948691..123d65f81 100644
--- a/libraries/entropy/client/services/ugc/commands.py
+++ b/libraries/entropy/client/services/ugc/commands.py
@@ -12,7 +12,8 @@
import os
from entropy.exceptions import *
-from entropy.const import etpConst, const_get_stringtype, const_debug_write
+from entropy.const import etpConst, const_get_stringtype, const_debug_write, \
+ const_convert_to_rawstring
from entropy.output import darkblue, bold, blue, darkgreen, darkred, brown
from entropy.i18n import _
from entropy.core.settings.base import SystemSettings
@@ -716,9 +717,9 @@ class Client(Base):
xml_comp_string = zlib.compress(xml_string)
cmd = "%s %s %s" % (
- session_id,
- 'ugc:report_error',
- xml_comp_string,
+ const_convert_to_rawstring(session_id),
+ const_convert_to_rawstring('ugc:report_error'),
+ const_convert_to_rawstring(xml_comp_string),
)
return self.do_generic_handler(cmd, session_id)
diff --git a/sulfur/src/sulfur/package.py b/sulfur/src/sulfur/package.py
index 875036a3c..5a2f3e2d1 100644
--- a/sulfur/src/sulfur/package.py
+++ b/sulfur/src/sulfur/package.py
@@ -200,6 +200,17 @@ class EntropyPackage:
return EquoIntf.is_match_unmasked_by_user((m_id, m_r,))
return EquoIntf.is_match_unmasked_by_user(self.matched_atom)
+ def _get_nameDesc_get_installed_ver(self):
+ ver_str = ''
+ if self.installed_match:
+ idpackage = self.installed_match[0]
+ from_ver = EquoIntf.clientDbconn.retrieveVersion(idpackage)
+ from_tag = EquoIntf.clientDbconn.retrieveVersionTag(idpackage)
+ if from_tag:
+ from_tag = '#%s' % (from_tag,)
+ ver_str = from_ver+from_tag
+ return ver_str
+
def get_nameDesc(self):
if self.pkgset:
@@ -209,16 +220,25 @@ class EntropyPackage:
SulfurConf.color_pkgdesc, cleanMarkupString(desc),)
return t
- ugc_string = ''
- atom = self.get_name()
- repo = self.get_repository()
- repo_clean = self.get_repository_clean()
+ if self.__namedesc_cache is not None:
+ atom, repo, repo_clean, key, desc, ver_str = self.__namedesc_cache
+ else:
+ atom = self.get_name()
+ repo = self.get_repository()
+ repo_clean = self.get_repository_clean()
+ key = self.entropyTools.dep_getkey(atom)
+ desc = self.get_description(markup = False)
+ ver_str = self._get_nameDesc_get_installed_ver()
+ self.__namedesc_cache = atom, repo, repo_clean, key, desc, ver_str
key = self.entropyTools.dep_getkey(atom)
downloads = EquoIntf.UGC.UGCCache.get_package_downloads(repo_clean, key)
ugc_string = "[%s] " % (downloads,)
+ if ver_str:
+ ver_str = ' {%s: %s}' % (
+ _("from"), SulfurConf.color_title2, ver_str,)
- t = ugc_string+'/'.join(atom.split("/")[1:])
+ t = '/'.join(atom.split("/")[1:]) + ver_str
if self.masked:
t += " [%s]" % (
SulfurConf.color_title2,
@@ -227,8 +247,9 @@ class EntropyPackage:
desc = self.get_description(markup = False)
if len(desc) > 56:
desc = desc[:56].rstrip()+"..."
- t += '\n%s' % (
- SulfurConf.color_pkgdesc, cleanMarkupString(desc),)
+ t += '\n' + ugc_string + \
+ '%s' % (
+ SulfurConf.color_pkgdesc, cleanMarkupString(desc),)
return t
def get_only_name(self):
diff --git a/sulfur/src/sulfur/views.py b/sulfur/src/sulfur/views.py
index 07546e1b7..03c2310db 100644
--- a/sulfur/src/sulfur/views.py
+++ b/sulfur/src/sulfur/views.py
@@ -1569,9 +1569,10 @@ class EntropyPackageView:
column2.connect("clicked", self.on_vote_column_clicked)
self.view.append_column( column2 )
- self.create_text_column( _( "Repository" ), 'repoid', size = 130,
- set_height = myheight, clickable = True,
- click_cb = self.on_repository_column_clicked)
+ # This is against Sulfur Love (tm)
+ # self.create_text_column( _( "Repository" ), 'repoid', size = 130,
+ # set_height = myheight, clickable = True,
+ # click_cb = self.on_repository_column_clicked)
return store