X-Git-Url: https://code.agnibho.com/repo?p=ddstorm.git;a=blobdiff_plain;f=alias.py;fp=alias.py;h=d4e013ee069bb8dd66c5250998629c84ede38db1;hp=0000000000000000000000000000000000000000;hb=49346f79fdffaccfa0a65dc0ba412311aa27a668;hpb=1071367015995fb627b2f1f41086727756ccba09 diff --git a/alias.py b/alias.py new file mode 100644 index 0000000..d4e013e --- /dev/null +++ b/alias.py @@ -0,0 +1,70 @@ +#! /usr/bin/python3 + +# DDStorm +# ------- +# Copyright (c) 2015 Agnibho Mondal +# All rights reserved + +# This file is part of DDStorm. + +# DDStorm is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# DDStorm is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with DDStorm. If not, see . + +import sys, os +from fnmatch import fnmatch +from conf import Conf +from const import * + +class Alias: + def __init__(self, conf=False): + self.data={} + if(conf): + self.conf=conf + else: + self.conf=Conf() + self.compile() + + def compile(self): + for path, subdirs, files in os.walk(self.conf.get("alias_path")): + for name in files: + if(fnmatch(name, "*.txt")): + with open(self.conf.get("alias_path")+name, "r") as f: + for line in f: + line=line.rstrip().split("#")[0] + if(len(line)==0): + pass + else: + terms=[] + for i in line.split(";"): + if(i.strip()): + terms.append(i.strip()) + if(len(terms)==2): + self.data[terms[-1]]=terms[0] + elif(len(terms)>2): + t=terms.pop(0) + for i in terms: + self.data[i]=t + + def get(self, term): + if(term in self.data): + return self.data[term] + else: + return term + +def main(): + a=Alias() + if(len(sys.argv)>1): + print(a.get(sys.argv[1])) + +if(__name__=="__main__"): + main()