From: Armaan Bhojwani Date: Sat, 13 Feb 2021 19:01:01 +0000 (-0500) Subject: Stop using setuptools data_files for config X-Git-Tag: v0.7.0~28 X-Git-Url: https://git.armaanb.net/?p=lightcards.git;a=commitdiff_plain;h=686515f147fb81974eb96246e9ceedf8b2d471ae Stop using setuptools data_files for config Now it actually works predictably and understandably --- diff --git a/README.md b/README.md index 9284e1e..84fd20b 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ See `lightcards --help` or `man lightcards` for usage information. `contrib/example.md` is an example input file. Lightcards takes the first table from a valid Markdown or HTML file. Each row is a card, and the two columns are the front and back. ## Configuration -An example config file is provided at `/usr/share/doc/lightcards/config.py`, or `~/.local/share/doc/lightcards/config.py` if installed without root privileges. Copy it to `~/.config/lightcards/config.py` or `/etc/lightcards/config.py` and modify the given values. +Copy the config file at `/etc/lightcards/config.py` to `~/.config/lightcards/config.py` or `~/${XDG_CONFIG_HOME}/lightcards/config.py` and edit. ## License Copyright Armaan Bhojwani 2021, MIT license diff --git a/lightcards/config.py b/lightcards/config.py index 3c99dc2..2b8b938 100644 --- a/lightcards/config.py +++ b/lightcards/config.py @@ -20,15 +20,7 @@ def read_file(file): local_xdg = f"{os.path.expanduser('~')}/{os.environ.get('XDG_CACHE_HOME')}/lightcards/config.py" local = f"{os.path.expanduser('~')}/.config/lightcards/config.py" world = "/etc/lightcards/config.py" - world_default = "/usr/share/doc/lightcards/config.py" - local_default = ( - f"{os.path.expanduser('~')}/.local/share/doc/lightcards/config.py" - ) - - if os.path.exists(world_default): - files.append(world_default) - if os.path.exists(local_default): - files.append(local_default) + if os.path.exists(world): files.append(world) if os.path.exists(local_xdg): diff --git a/man/lightcards-config.5 b/man/lightcards-config.5 index 24943f7..e41cd51 100644 --- a/man/lightcards-config.5 +++ b/man/lightcards-config.5 @@ -10,12 +10,11 @@ lightcards-config - configuration file formats for .PP Configuration is done through the config.py file. This is an executed Python script and must have valid Python syntax. -An example config file is provided at -/usr/share/doc/lightcards/config.py, or -\[ti]/.local/share/doc/lightcards/config.py if installed locally. -Copy this to \[ti]/.config/lightcards/config.py or +.PP +Copy the global config file from /etc/lightcards/config.py to +\[ti]/.config/lightcards/config.py or $XDG_CONFIG_HOME/lightcards/config.py and make modifications! All -possible options are listed in the sample config file. +possible options are listed in the global config file. .SH SEE ALSO .PP \f[B]lightcards(1)\f[R] diff --git a/man/lightcards-config.5.md b/man/lightcards-config.5.md index 5aa6b28..206b8f2 100644 --- a/man/lightcards-config.5.md +++ b/man/lightcards-config.5.md @@ -10,7 +10,9 @@ date: February 2021 lightcards-config - configuration file formats for **lightcards(1)** # CONFIGURATION -Configuration is done through the config.py file. This is an executed Python script and must have valid Python syntax. An example config file is provided at /usr/share/doc/lightcards/config.py, or ~/.local/share/doc/lightcards/config.py if installed locally. Copy this to ~/.config/lightcards/config.py or $XDG_CONFIG_HOME/lightcards/config.py and make modifications! All possible options are listed in the sample config file. +Configuration is done through the config.py file. This is an executed Python script and must have valid Python syntax. + +Copy the global config file from /etc/lightcards/config.py to ~/.config/lightcards/config.py or $XDG_CONFIG_HOME/lightcards/config.py and make modifications! All possible options are listed in the global config file. # SEE ALSO **lightcards(1)** diff --git a/setup.py b/setup.py index d028ea7..939a721 100644 --- a/setup.py +++ b/setup.py @@ -1,10 +1,34 @@ 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") + home = os.path.expanduser("~") + + if xdg: + mkdir(f"{xdg}/lightcards") + shutil.copyfile("./config.py", f"{xdg}/lightcards/config.py") + else: + mkdir(f"{home}/.config/lightcards") + shutil.copyfile("./config.py", f"{home}/.config/lightcards/config.py") + + setup( name="lightcards", version="0.7.0", @@ -20,16 +44,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"],