]> git.armaanb.net Git - lightcards.git/blobdiff - setup.py
Remove CursesError exception
[lightcards.git] / setup.py
index d028ea7ae9cd12c718ae04c245fd9f7444458228..e7e3d138b6263ed1a6038cf581de7dbc8108408d 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -1,17 +1,44 @@
 from setuptools import setup
-from os import path
+import os
+import shutil
 
-pwd = path.abspath(path.dirname(__file__))
-with open(path.join(pwd, "README.md"), encoding="utf-8") as f:
+pwd = os.path.abspath(os.path.dirname(__file__))
+with open(os.path.join(pwd, "README.md"), encoding="utf-8") as f:
     long_description = f.read()
 
+
+def mkdir(dir):
+    try:
+        os.makedirs(dir)
+    except FileExistsError:
+        pass
+
+
+if os.geteuid() == 0:
+    mkdir("/etc/lightcards/")
+    shutil.copyfile("./config.py", "/etc/lightcards/config.py")
+else:
+    xdg = os.environ.get("XDG_CONFIG_HOME")
+    xdg_dest = f"{xdg}/lightcards/config.py"
+
+    home = os.path.expanduser("~")
+    home_dest = f"{home}/.config/lightcards/config.py"
+
+    if xdg and not os.path.exists(xdg_dest):
+        mkdir(f"{xdg}/lightcards")
+        shutil.copyfile("./config.py", xdg_dest)
+    elif not os.path.exists(home_dest):
+        mkdir(f"{home}/.config/lightcards")
+        shutil.copyfile("./config.py", home_dest)
+
+
 setup(
     name="lightcards",
     version="0.7.0",
     description="Terminal flashcards from Markdown",
     long_description=long_description,
     long_description_content_type="text/markdown",
-    url="https://sr.ht/~armaan/lightcards",
+    url="https://lightcards.armaanb.net",
     author="Armaan Bhojwani",
     author_email="me@armaanb.net",
     license="MIT",
@@ -20,16 +47,6 @@ setup(
     data_files=[
         ("man/man1", ["man/lightcards.1"]),
         ("man/man5", ["man/lightcards-config.5"]),
-        (
-            "share/doc/lightcards/",
-            [
-                "./config.py",
-                "./README.md",
-                "man/lightcards.1.md",
-                "man/lightcards-config.5.md",
-                "./LICENSE",
-            ],
-        ),
     ],
     entry_points={
         "console_scripts": ["lightcards=lightcards:main"],