view symlink.py @ 7:0f43fb312bd6

update symlink.py
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Sat, 30 May 2009 01:26:54 +0900
parents c8c579f62d99
children
line wrap: on
line source

#!/usr/bin/env python
# vim:fileencoding=utf-8

import re
import os
import sys
import configparser

home = os.environ['HOME']
etcdir = os.getcwd()
dir = re.match( home+"/(.*)", etcdir).group(1)
force = False

def main():
	# read configuration file
	config = configparser.ConfigParser()
	config.read( 'install.cfg')

	for target in sys.argv[1:]:

		value = config.get('InstallFiles', target)
		(linkname, *opts) = value.split(",");

		hard = False
		for opt in opts:
			if opt=="HARD": hard = True

		print(linkname, hard)

		#makelink(target, linkname, hard)


### make symbolic or hard link dst0 relating with src0
def makelink(target0, linkname0=None, hard=False):
	# correct filename of source and destination
	if linkname0==None:
		linkname0 = "."+target0
	target = dir+"/"+target0
	linkname = home+"/"+linkname0

	# check destination file
	if os.path.exists(linkname):
		if force:
			os.remove(linkname)
		else:
			print("file "+linkname+" already existed!")
			return

	# make symbolic link
	print(linkname+" => "+target)
	if hard:
		os.link(target, linkname)
	else:
		os.symlink(src, linkname)


main()






### てすとるーちん ###
def listingFromArgs():
	del sys.argv[0]
	for file in sys.argv:
		makeSymlink(file)

def listingFromDir():
	files = os.listdir(".")
	for file in files:
		correctFilename(file)

def correctFilename(filename):
	result = re.match( "DoT-(.*)", filename);
	if result!=None:
		dst = result.group(1)
		print(filename+" => "+dst)
		os.rename(filename, dst)
	
#listingFromDir()
#listingFromArgs()



# test

#master = [10, 20, 30]
#listing( master, 20 )
#listing( master, 20 )
def listing(a, b):
	i=0;
	print("b = "+str(b))
	print("len(a) = "+str(len(a)))
	while i<len(a):
		print( "a["+str(i)+"] = "+str(a[i]))
		a[i] = a[i] + 5
		i = i+1