From 34ab994186c2973886c0f8d598cc77c4cc371f19 Mon Sep 17 00:00:00 2001
From: Adar Nimrod <nimrod@shore.co.il>
Date: Fri, 12 Feb 2021 18:35:22 +0200
Subject: [PATCH] Use the docstring as the description.

Both as the package description and the CLI description. Had to
workaround the botocore package missing in some cases (like pre-commit)
so the module can still be imported by setup.py.
---
 eb_prune/__init__.py | 15 +++++++++++++--
 setup.py             |  3 ++-
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/eb_prune/__init__.py b/eb_prune/__init__.py
index 061a4d8..ce545b3 100644
--- a/eb_prune/__init__.py
+++ b/eb_prune/__init__.py
@@ -7,7 +7,12 @@ from __future__ import (
     unicode_literals,
 )
 from argparse import ArgumentParser
-from botocore import session  # pylint: disable=import-error
+import sys
+
+try:
+    from botocore import session  # pylint: disable=import-error
+except ImportError:
+    pass
 
 
 def prune(versions_to_keep, dry_run):
@@ -57,7 +62,7 @@ def prune(versions_to_keep, dry_run):
 
 
 def main():
-    parser = ArgumentParser()
+    parser = ArgumentParser(description=__doc__)
     parser.add_argument(
         "versions_to_keep", help="The number of versions to keep.", type=int
     )
@@ -72,4 +77,10 @@ def main():
 
 
 if __name__ == "__main__":
+    if "session" not in dir():
+        print(
+            "Failed to import botocore, is the package installed?",
+            file=sys.stderr,
+        )
+        sys.exit(2)
     main()
diff --git a/setup.py b/setup.py
index c2d5fdf..f7e0fef 100644
--- a/setup.py
+++ b/setup.py
@@ -1,10 +1,11 @@
 #!/usr/bin/env python
 from setuptools import setup, find_packages
+from eb_prune import __doc__ as description
 
 setup(
     name="eb-prune",
     version=open("VERSION", "r").read(),
-    description="Pruning of Elastic Beanstalk versions.",
+    description=description,
     long_description=open("README.rst", "r").read(),
     url="https://www.shore.co.il/git/eb-prune",
     author="Nimrod Adar",
-- 
GitLab