123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- from subprocess import check_call
- import sys
- import os
- import os.path as op
- import shutil as sh
- from glob import glob
- import argparse
- import string
- DESCRIPTION = ("Check whether a license exists, and add one if desired.")
- CC_BY_SA_LCENSE = ["# License for this book",
- "",
- "All content in this book (ie, any files and content in the `content/` folder)",
- "is licensed under the",
- "[Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/) (CC BY-SA 4.0) license."]
- parser = argparse.ArgumentParser(description=DESCRIPTION)
- parser.add_argument("--path", default=None, help="Path to the folder where you'll check for a license.")
- parser.add_argument("--use-license", default=None, help="A pre-defined input for the user-prompt")
- if __name__ == '__main__':
- args = parser.parse_args()
- path = args.path
- use_license = args.use_license
- path_license = op.join(path, 'LICENSE.md')
- if op.exists(path_license):
- print("It looks like you've already specified a license for this book, good job!")
- sys.exit()
-
- print("\n\nWe noticed you don't have a license for this book. Licenses help \n"
- "others (re)use your work, and make it clear which rights you wish to \n"
- "retain for your work. We recommend the CC-BY-SA license, a permissive \n"
- "and open license that requires attribution to the original author. \n"
- "Would you like to apply this license to your book?\n\n")
- if use_license is None:
- use_license = input("Would you like to use the CC-BY-SA license? (yes)/no: ") or "yes"
- if use_license == "yes":
- with open(path_license, 'w') as ff:
- print("\nCreating a CC-BY-SA license file...\n")
- ff.write('\n'.join(CC_BY_SA_LCENSE))
- elif use_license == "no":
- print("\n\nYou've decided not to use the CC BY-SA license. We've added an empty \n"
- "'LICENSE.md file to your `content/` folder so that this message doesn't come \n"
- "up again. We recommend filling this file with language that specifies what \n"
- "license applies to your book. Check out the Creative \n"
- "Commons licenses for several options: https://creativecommons.org/licenses\n\n")
- with open(path_license, 'w') as ff:
- pass
- else:
- raise ValueError("Please choose 'yes' or 'no', you chose: '{}'".format(use_license))
|