setup.py: Moved docstrings into the associated functions.

This commit is contained in:
Michael Schwarz 2014-09-07 19:34:20 +02:00
parent 6a6fcbfe3f
commit b9e9f00503

View file

@ -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
'''
Simple argument parser, a strip down of the one in ponysay and slitly modified
'''
class ArgParser():
'''
Simple argument parser, a strip down of the one in ponysay and slitly modified
'''
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)