mirror of
https://github.com/erkin/ponysay
synced 2024-12-12 12:52:32 +00:00
linking corrections in setup.py
This commit is contained in:
parent
fecaba8b21
commit
cfd11b2783
1 changed files with 44 additions and 12 deletions
38
setup.py
38
setup.py
|
@ -8,7 +8,7 @@ from subprocess import Popen, PIPE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
PONYSAY_VERSION = '2.5-rc1'
|
PONYSAY_VERSION = '2.5-rc2'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -350,8 +350,8 @@ class Setup():
|
||||||
def install(self, conf):
|
def install(self, conf):
|
||||||
print('\033[1;34m::\033[39mInstalling...\033[21m')
|
print('\033[1;34m::\033[39mInstalling...\033[21m')
|
||||||
|
|
||||||
for command in commands:
|
|
||||||
dests = []
|
dests = []
|
||||||
|
for command in commands:
|
||||||
if conf[command] is not None:
|
if conf[command] is not None:
|
||||||
dests.append(conf[command])
|
dests.append(conf[command])
|
||||||
if len(dests) > 0:
|
if len(dests) > 0:
|
||||||
|
@ -571,6 +571,32 @@ class Setup():
|
||||||
Copys a files or directory to multiple destinations
|
Copys a files or directory to multiple destinations
|
||||||
'''
|
'''
|
||||||
def cp(self, recursive, source, destinations):
|
def cp(self, recursive, source, destinations):
|
||||||
|
if os.path.islink(source) and (self.linking != COPY) and os.path.isdir(os.path.realpath(source)):
|
||||||
|
target = os.readlink(source)
|
||||||
|
for dest in destinations:
|
||||||
|
print('Creating symbolic link %s with target directory %s' % (dest, target))
|
||||||
|
if os.path.exists(dest):
|
||||||
|
self.removeLists([], [dest])
|
||||||
|
os.symlink(target, dest)
|
||||||
|
if os.path.islink(source) and (self.linking != COPY) and os.path.isfile(os.path.realpath(source)):
|
||||||
|
target = os.readlink(source)
|
||||||
|
if self.linking == HARD:
|
||||||
|
for dest in destinations:
|
||||||
|
print('Creating hard link %s with target file %s' % (dest, target))
|
||||||
|
if os.path.exists(dest):
|
||||||
|
self.removeLists([], [dest])
|
||||||
|
mytarget = os.path.abspath(os.path.join(os.path.dirname(dest), target))
|
||||||
|
if os.path.exists(mytarget):
|
||||||
|
os.link(mytarget, dest)
|
||||||
|
else:
|
||||||
|
print('\033[31mTarget did not exists, using symlink instead\033[39m')
|
||||||
|
os.symlink(target, dest)
|
||||||
|
else:
|
||||||
|
for dest in destinations:
|
||||||
|
print('Creating symbolic link %s with target file %s' % (dest, target))
|
||||||
|
if os.path.exists(dest):
|
||||||
|
self.removeLists([], [dest])
|
||||||
|
os.symlink(target, dest)
|
||||||
for dest in destinations:
|
for dest in destinations:
|
||||||
dir = dest[:dest.rfind('/') + 1]
|
dir = dest[:dest.rfind('/') + 1]
|
||||||
if not os.path.exists(dir):
|
if not os.path.exists(dir):
|
||||||
|
@ -582,14 +608,20 @@ class Setup():
|
||||||
print('Copying directory %s to %s' % (source, dest))
|
print('Copying directory %s to %s' % (source, dest))
|
||||||
if not os.path.exists(dest):
|
if not os.path.exists(dest):
|
||||||
os.mkdir(dest)
|
os.mkdir(dest)
|
||||||
|
links = []
|
||||||
for file in os.listdir(source):
|
for file in os.listdir(source):
|
||||||
src = source + '/' + file
|
src = source + '/' + file
|
||||||
|
if os.path.exists(src) and os.path.islink(src):
|
||||||
|
links.append((os.path.isdir(src), src, [dest + '/' + file]))
|
||||||
|
else:
|
||||||
self.cp(os.path.isdir(src), src, [dest + '/' + file])
|
self.cp(os.path.isdir(src), src, [dest + '/' + file])
|
||||||
|
for link in links:
|
||||||
|
self.cp(link[0], link[1], link[2])
|
||||||
if self.linking != COPY:
|
if self.linking != COPY:
|
||||||
for dest in destinations[1:]:
|
for dest in destinations[1:]:
|
||||||
print('Creating symbolic link %s with target directory %s' % (dest, target))
|
print('Creating symbolic link %s with target directory %s' % (dest, target))
|
||||||
if os.path.exists(dest):
|
if os.path.exists(dest):
|
||||||
os.removeLists([], [dest])
|
self.removeLists([], [dest])
|
||||||
os.symlink(target, dest)
|
os.symlink(target, dest)
|
||||||
else:
|
else:
|
||||||
target = destinations[0]
|
target = destinations[0]
|
||||||
|
|
Loading…
Reference in a new issue