mirror of
https://github.com/erkin/ponysay.git
synced 2024-11-22 04:27:58 +01:00
setup.py: Moved docstrings into the associated functions.
This commit is contained in:
parent
6a6fcbfe3f
commit
b9e9f00503
1 changed files with 82 additions and 63 deletions
57
setup.py
57
setup.py
|
@ -300,10 +300,11 @@ class Setup():
|
|||
elif not method == 'view':
|
||||
opts.help()
|
||||
|
||||
def viewconf(self, conf):
|
||||
'''
|
||||
Display configurations
|
||||
'''
|
||||
def viewconf(self, conf):
|
||||
|
||||
RED = '\033[31m%s\033[39m'
|
||||
GREEN = '%s\033[32m%s\033[39m'
|
||||
YELLOW = '\033[33m%s\033[39m'
|
||||
|
@ -352,10 +353,11 @@ class Setup():
|
|||
|
||||
print()
|
||||
|
||||
def build(self, conf):
|
||||
'''
|
||||
Compile ponysay
|
||||
'''
|
||||
def build(self, conf):
|
||||
|
||||
print('\033[1;34m::\033[39mCompiling...\033[21m')
|
||||
|
||||
def compressCommand(ext):
|
||||
|
@ -557,10 +559,11 @@ class Setup():
|
|||
|
||||
print()
|
||||
|
||||
def install(self, conf):
|
||||
'''
|
||||
Install compiled ponysay
|
||||
'''
|
||||
def install(self, conf):
|
||||
|
||||
print('\033[1;34m::\033[39mInstalling...\033[21m')
|
||||
|
||||
dests = []
|
||||
|
@ -643,10 +646,11 @@ class Setup():
|
|||
self.cp(False, file[0], [conf[file[0]]], Setup.validateFreedom if self.free else None)
|
||||
print()
|
||||
|
||||
def uninstall(self, conf):
|
||||
'''
|
||||
Uninstall ponysay
|
||||
'''
|
||||
def uninstall(self, conf):
|
||||
|
||||
print('\033[1;34m::\033[39mUninstalling...\033[21m')
|
||||
|
||||
(files, dirs, infos) = ([], [], [])
|
||||
|
@ -700,10 +704,11 @@ class Setup():
|
|||
self.removeLists(files, dirs)
|
||||
print()
|
||||
|
||||
def uninstallOld(self, conf):
|
||||
'''
|
||||
Uninstall file ponysay no longer uses
|
||||
'''
|
||||
def uninstallOld(self, conf):
|
||||
|
||||
print('\033[1;34m::\033[39mUninstalling old files...\033[21m')
|
||||
|
||||
instdir = conf['~prefix~'] + '/usr'
|
||||
|
@ -720,10 +725,11 @@ class Setup():
|
|||
self.removeLists(files, dirs)
|
||||
print()
|
||||
|
||||
def clean(self):
|
||||
'''
|
||||
Remove compiled files
|
||||
'''
|
||||
def clean(self):
|
||||
|
||||
print('\033[1;34m::\033[39mCleaning...\033[21m')
|
||||
|
||||
files = ['ponysay.info', 'ponysay.info.gz', 'ponysay.info.xz', 'ponysay.pdf.gz', 'ponysay.pdf.xz', 'ponysay.install', 'ponysay.zip']
|
||||
|
@ -746,10 +752,11 @@ class Setup():
|
|||
self.removeLists(files, dirs)
|
||||
print()
|
||||
|
||||
def cleanOld(self):
|
||||
'''
|
||||
Remove compiled files ponysay is no longer compiling
|
||||
'''
|
||||
def cleanOld(self):
|
||||
|
||||
print('\033[1;34m::\033[39mCleaning old files...\033[21m')
|
||||
|
||||
files = ['truncater', 'ponysaytruncater', 'ponysay.py.install', 'ponysay.install~', 'ponysay.zip']
|
||||
|
@ -764,10 +771,11 @@ class Setup():
|
|||
self.removeLists(files, dirs)
|
||||
print()
|
||||
|
||||
def removeLists(self, files, dirs):
|
||||
'''
|
||||
Removes listed files and directories
|
||||
'''
|
||||
def removeLists(self, files, dirs):
|
||||
|
||||
for file in files:
|
||||
if os.path.isfile(file) or os.path.islink(file):
|
||||
print('Unlinking file %s' % (file))
|
||||
|
@ -793,11 +801,12 @@ class Setup():
|
|||
else:
|
||||
break;
|
||||
|
||||
@staticmethod
|
||||
def validateFreedom(filename):
|
||||
'''
|
||||
Check whether a file is fully free
|
||||
'''
|
||||
@staticmethod
|
||||
def validateFreedom(filename):
|
||||
|
||||
if not os.path.isdir(filename):
|
||||
if filename.endswith('.pony') and (filename != '.pony') and not filename.endswith('/.pony'):
|
||||
with open(filename, 'rb') as file:
|
||||
|
@ -813,10 +822,11 @@ class Setup():
|
|||
return False
|
||||
return True
|
||||
|
||||
def cp(self, recursive, source, destinations, validatehook = None):
|
||||
'''
|
||||
Copys a files or directory to multiple destinations
|
||||
'''
|
||||
def cp(self, recursive, source, destinations, validatehook = None):
|
||||
|
||||
if validatehook is not None:
|
||||
if not validatehook(source):
|
||||
print('Ignoring installation of file %s (did not pass validation process made by setup settings)' % source)
|
||||
|
@ -891,10 +901,11 @@ class Setup():
|
|||
os.unlink(dest)
|
||||
self.symlink(target, dest)
|
||||
|
||||
def symlink(self, target, dest):
|
||||
'''
|
||||
Create a symlink with a relative path
|
||||
'''
|
||||
def symlink(self, target, dest):
|
||||
|
||||
if target.startswith('./') or target.startswith('../'):
|
||||
os.symlink(target, dest)
|
||||
elif '/' not in target:
|
||||
|
@ -914,10 +925,11 @@ class Setup():
|
|||
|
||||
os.symlink('/'.join(targets), dest)
|
||||
|
||||
def configure(self, opts):
|
||||
'''
|
||||
Parses configurations
|
||||
'''
|
||||
def configure(self, opts):
|
||||
|
||||
(defaults, conf) = ({}, {})
|
||||
|
||||
for command in commands:
|
||||
|
@ -1070,15 +1082,18 @@ class Setup():
|
|||
|
||||
ARGUMENTLESS = 0
|
||||
ARGUMENTED = 1
|
||||
|
||||
class ArgParser():
|
||||
'''
|
||||
Simple argument parser, a strip down of the one in ponysay and slitly modified
|
||||
'''
|
||||
class ArgParser():
|
||||
|
||||
def __init__(self, program, description, usage, longdescription = None):
|
||||
'''
|
||||
Constructor.
|
||||
The short description is printed on same line as the program name
|
||||
'''
|
||||
def __init__(self, program, description, usage, longdescription = None):
|
||||
|
||||
self.__program = program
|
||||
self.__description = description
|
||||
self.__usage = usage
|
||||
|
@ -1086,27 +1101,30 @@ class ArgParser():
|
|||
self.__arguments = []
|
||||
(self.opts, self.optmap) = ({}, {})
|
||||
|
||||
def add_argumentless(self, alternatives, help = None):
|
||||
'''
|
||||
Add option that takes no arguments
|
||||
'''
|
||||
def add_argumentless(self, alternatives, help = None):
|
||||
|
||||
ARGUMENTLESS
|
||||
self.__arguments.append((ARGUMENTLESS, alternatives, None, help))
|
||||
(stdalt, self.opts[stdalt]) = (alternatives[0], None)
|
||||
for alt in alternatives: self.optmap[alt] = (stdalt, ARGUMENTLESS)
|
||||
|
||||
def add_argumented(self, alternatives, arg, help = None):
|
||||
'''
|
||||
Add option that takes one argument
|
||||
'''
|
||||
def add_argumented(self, alternatives, arg, help = None):
|
||||
|
||||
self.__arguments.append((ARGUMENTED, alternatives, arg, help))
|
||||
(stdalt, self.opts[stdalt]) = (alternatives[0], None)
|
||||
for alt in alternatives: self.optmap[alt] = (stdalt, ARGUMENTED)
|
||||
|
||||
def parse(self, argv = sys.argv):
|
||||
'''
|
||||
Parse arguments
|
||||
'''
|
||||
def parse(self, argv = sys.argv):
|
||||
|
||||
self.argcount = len(argv) - 1
|
||||
self.files = []
|
||||
(argqueue, optqueue, get) = ([], [], False)
|
||||
|
@ -1152,10 +1170,11 @@ class ArgParser():
|
|||
sys.stderr.write('%s: fatal: duplicate option %s\n' % (self.__program, arg))
|
||||
exit(-1)
|
||||
|
||||
def help(self):
|
||||
'''
|
||||
Prints a colourful help message
|
||||
'''
|
||||
def help(self):
|
||||
|
||||
print('\033[1m%s\033[21m - %s\n' % (self.__program, self.__description))
|
||||
if self.__longdescription is not None:
|
||||
print(self.__longdescription)
|
||||
|
|
Loading…
Reference in a new issue