From 9edbe75ff8c2741b1e7a9c54718f849227d7941b Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Sat, 7 Nov 2020 17:12:24 -0800 Subject: [PATCH] Python: Better handling of Git revision info (fixes #1933) --- src/platform/python/mgba/__init__.py | 32 +++++++++++++++------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/platform/python/mgba/__init__.py b/src/platform/python/mgba/__init__.py index a8fef8ecd..7dc2bb7dd 100644 --- a/src/platform/python/mgba/__init__.py +++ b/src/platform/python/mgba/__init__.py @@ -5,7 +5,23 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. from ._pylib import ffi, lib # pylint: disable=no-name-in-module -from collections import namedtuple + +class Git: + commit = None + if lib.gitCommit and lib.gitCommit != "(unknown)": + commit = ffi.string(lib.gitCommit).decode('utf-8') + + commitShort = None + if lib.gitCommitShort and lib.gitCommitShort != "(unknown)": + commitShort = ffi.string(lib.gitCommitShort).decode('utf-8') + + branch = None + if lib.gitBranch and lib.gitBranch != "(unknown)": + branch = ffi.string(lib.gitBranch).decode('utf-8') + + revision = None + if lib.gitRevision > 0: + revision = lib.gitRevision def create_callback(struct_name, cb_name, func_name=None): @@ -20,17 +36,3 @@ def create_callback(struct_name, cb_name, func_name=None): __version__ = ffi.string(lib.projectVersion).decode('utf-8') - -GitInfo = namedtuple("GitInfo", "commit commitShort branch revision") - -GIT = {} -if lib.gitCommit and lib.gitCommit != "(unknown)": - GIT['commit'] = ffi.string(lib.gitCommit).decode('utf-8') -if lib.gitCommitShort and lib.gitCommitShort != "(unknown)": - GIT['commitShort'] = ffi.string(lib.gitCommitShort).decode('utf-8') -if lib.gitBranch and lib.gitBranch != "(unknown)": - GIT['branch'] = ffi.string(lib.gitBranch).decode('utf-8') -if lib.gitRevision > 0: - GIT['revision'] = lib.gitRevision - -GIT = GitInfo(**GIT)