# HG changeset patch # User kent # Date 1243614414 -32400 # Node ID 0f43fb312bd69be7c07a39cc09d7873927153a83 # Parent ea2aed24ddd0091c9e89e4e1972c09f1fcaaef8e update symlink.py diff -r ea2aed24ddd0 -r 0f43fb312bd6 fetchmailrc --- a/fetchmailrc Mon May 25 11:45:50 2009 +0900 +++ b/fetchmailrc Sat May 30 01:26:54 2009 +0900 @@ -8,5 +8,5 @@ protocol imap user "kent" ssl - #keep + keep diff -r ea2aed24ddd0 -r 0f43fb312bd6 install.cfg --- a/install.cfg Mon May 25 11:45:50 2009 +0900 +++ b/install.cfg Sat May 30 01:26:54 2009 +0900 @@ -3,21 +3,28 @@ ETCDIR: a [InstallFiles] - -# rcファイル指定ができない or したくないもの -Xdefaults: SYM -xinitrc: SYM -hgrc: SYM -screenrc: SYM -bcrc: SYM -dir_colors: SYM -#muttrc: SYM -#procmailrc: SYM -vimrc: SYM -zshenv: SYM -zshrc: SYM - -#fetchmailrc: LNK +# filename [dir/]linkname[,HARD|SYM] +screenrc: .screenrc +bcrc: .bcrc +dir_colors: .dir_colors +fetchmailrc: .fetchmailrc,HARD +muttrc: .muttrc +vimrc: .vimrc +zshenv: .zshenv +zshrc: .zshrc +Xdefaults: .Xdefault +xinitrc: .xinitrc +hgrc: .hgrc +bash_profile: .bash_profile +bashrc: .bashrc +emacs: .emacs +inputrc: .inputrc +jvimrc: .jvimrc +login: .login +login_conf: .login_conf +profile: .profile +shrc: .shrc +tcshrc: .tcshrc # 環境変数でファイル指定可能なもの #screenrc: ENV:SCREENRC diff -r ea2aed24ddd0 -r 0f43fb312bd6 procmailrc --- a/procmailrc Mon May 25 11:45:50 2009 +0900 +++ b/procmailrc Sat May 30 01:26:54 2009 +0900 @@ -6,21 +6,6 @@ #JUNK=$HOME/Mail/junk -# GCCメーリングリスト -:0 H -* gcc -* gnu.org -GCC/ - -# 琉大情報工adminメール -:0 H -* admin-server@ie.u-ryukyu.ac.jp -ie-admin/ - -# 河野研メーリングリスト -:0 H -* concurrency@cr.ie.u-ryukyu.ac.jp -concurrency/ :0 * .* diff -r ea2aed24ddd0 -r 0f43fb312bd6 symlink.py --- a/symlink.py Mon May 25 11:45:50 2009 +0900 +++ b/symlink.py Sat May 30 01:26:54 2009 +0900 @@ -4,7 +4,7 @@ import re import os import sys -import ConfigParser +import configparser home = os.environ['HOME'] etcdir = os.getcwd() @@ -13,64 +13,46 @@ def main(): # read configuration file - config = ConfigParser.ConfigParser() + config = configparser.ConfigParser() config.read( 'install.cfg') - opts = config.items('InstallFiles', 0) + + for target in sys.argv[1:]: + + value = config.get('InstallFiles', target) + (linkname, *opts) = value.split(","); - # loop all options - for opt in opts: - value = opt[1].split(':') - if value[0] == "SYM": - if len(value) > 1: - makeSymlink(opt[0], value[1]) - else: - makeSymlink(opt[0]) - elif value[0] == "LNK": - if len(value) > 1: - makeHardlink(opt[0], value[1]) - else: - makeHardlink(opt[0]) + hard = False + for opt in opts: + if opt=="HARD": hard = True + + print(linkname, hard) + + #makelink(target, linkname, hard) -### make symbolic link dst0 relating with src0 -def makeSymlink(src0, dst0=None): +### make symbolic or hard link dst0 relating with src0 +def makelink(target0, linkname0=None, hard=False): # correct filename of source and destination - if dst0==None: - dst0 = "."+src0 - src = dir+"/"+src0 - dst = home+"/"+dst0 + if linkname0==None: + linkname0 = "."+target0 + target = dir+"/"+target0 + linkname = home+"/"+linkname0 # check destination file - if os.path.exists(dst): + if os.path.exists(linkname): if force: - os.remove(dst) + os.remove(linkname) else: - print "file "+dst+" already existed!" + print("file "+linkname+" already existed!") return # make symbolic link - print dst+" => "+src - os.symlink(src, dst) - -### make hardlink dst0 relating with src0 -def makeHardlink(src0, dst0=None): - # correct filename of source and destination - if dst0==None: - dst0 = "."+src0 - src = src0 - dst = home+"/"+dst0 + print(linkname+" => "+target) + if hard: + os.link(target, linkname) + else: + os.symlink(src, linkname) - # check destination file - if os.path.exists(dst): - if force: - os.remove(dst) - else: - print "file "+dst+" already existed!" - return - - # make symbolic link - print dst+" => "+src - os.link(src, dst) main() @@ -94,7 +76,7 @@ result = re.match( "DoT-(.*)", filename); if result!=None: dst = result.group(1) - print filename+" => "+dst + print(filename+" => "+dst) os.rename(filename, dst) #listingFromDir() @@ -109,10 +91,10 @@ #listing( master, 20 ) def listing(a, b): i=0; - print "b = "+str(b) - print "len(a) = "+str(len(a)) + print("b = "+str(b)) + print("len(a) = "+str(len(a))) while i