# HG changeset patch # User Goffi # Date 1426794010 -3600 # Node ID 28fd9e838f8f946ee5611bf67b95e1593d3abbb5 # Parent 3a20312d4012bc7c5792572da030c66806c52f62 core: getRepositoryData now get the module in argument diff -r 3a20312d4012 -r 28fd9e838f8f src/core/sat_main.py --- a/src/core/sat_main.py Thu Mar 19 19:47:01 2015 +0100 +++ b/src/core/sat_main.py Thu Mar 19 20:40:10 2015 +0100 @@ -17,6 +17,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import sat from sat.core.i18n import _, D_, languageSwitch from twisted.application import service from twisted.internet import defer @@ -72,7 +73,7 @@ try: return self._version_cache except AttributeError: - self._version_cache = u"{} ({})".format(version, utils.getRepositoryData()) + self._version_cache = u"{} ({})".format(version, utils.getRepositoryData(sat)) return self._version_cache else: return version diff -r 3a20312d4012 -r 28fd9e838f8f src/tools/utils.py --- a/src/tools/utils.py Thu Mar 19 19:47:01 2015 +0100 +++ b/src/tools/utils.py Thu Mar 19 20:40:10 2015 +0100 @@ -36,9 +36,10 @@ yield char return ''.join(valid_chars(ustr)) -def getRepositoryData(as_string=True): +def getRepositoryData(module, as_string=True): """Retrieve info on current mecurial repository + @param module: module to look for (e.g. sat, libervia) @param as_string(bool): if True return a string, else return a dictionary @return (unicode, dictionary): retrieved info in a nice string, or a dictionary with retrieved data (key is not present if data is not found), @@ -50,13 +51,12 @@ """ from distutils.spawn import find_executable import subprocess - import sat KEYS=("node", "branch", "date", "tag") - sat_root = os.path.dirname(sat.__file__) + repos_root = os.path.dirname(module.__file__) hg_path = find_executable('hg') if hg_path is not None: - os.chdir(sat_root) + os.chdir(repos_root) try: hg_data_raw = subprocess.check_output(["hg","parents","--template","{node}\n{branch}\n{date|isodate}\n{latesttag}"]) except subprocess.CalledProcessError: @@ -70,7 +70,7 @@ if not hg_data: log.debug(u"Mercurial not available or working, trying to get data from dirstate") - os.chdir(os.path.relpath('..', sat_root)) + os.chdir(os.path.relpath('..', repos_root)) try: with open('.hg/dirstate') as hg_dirstate: hg_data['node'] = hg_dirstate.read(20).encode('hex')