From e2fecacfe603201e12c24d83dca90ba5a744f935 Mon Sep 17 00:00:00 2001 From: Bastien Faure Date: Sun, 2 Jun 2024 19:14:19 -0700 Subject: [PATCH] Added CLI switch to display version, injection __version__ and get_version into ldeep for inside access, configured PDM to properly get the version dynamically --- ldeep/__init__.py | 6 ++++++ ldeep/__main__.py | 6 ++++++ pyproject.toml | 6 +++--- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ldeep/__init__.py b/ldeep/__init__.py index e69de29..39441a7 100644 --- a/ldeep/__init__.py +++ b/ldeep/__init__.py @@ -0,0 +1,6 @@ +import os + +__version__ = open(os.path.join(os.path.dirname(__file__), "../VERSION")).read().strip() + +def get_version(): + return __version__ diff --git a/ldeep/__main__.py b/ldeep/__main__.py index a8ce936..6e51989 100755 --- a/ldeep/__main__.py +++ b/ldeep/__main__.py @@ -23,6 +23,7 @@ FILETIME_TIMESTAMP_FIELDS, FOREST_LEVELS, ) +from ldeep import __version__ from ldeep.views.ldap_activedirectory import LdapActiveDirectoryView from ldeep.views.cache_activedirectory import CacheActiveDirectoryView @@ -1756,6 +1757,11 @@ def action_create_user(self, kwargs): def main(): parser = ArgumentParser() + parser.add_argument( + "--version", + action="version", + version="%(prog)s {version}".format(version=__version__), + ) parser.add_argument( "-o", "--outfile", default="", help="Store the results in a file" ) diff --git a/pyproject.toml b/pyproject.toml index 875f222..344cd01 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,9 +36,9 @@ classifiers = [ "Topic :: Security", ] -[tool.pdm.dynamic] -version = "file" -path = "VERSION" +[tool.pdm.version] +source = "call" +getter = "ldeep:get_version" [project.urls] Homepage = "https://github.com/franc-pentest/ldeep"