]> Softwares of Agnibho - ddstorm.git/blobdiff - alias.py
Major code rearrangement
[ddstorm.git] / alias.py
index d4e013ee069bb8dd66c5250998629c84ede38db1..a1b9d104e709ba92b3cff0b1eeb8c0a821ee7475 100644 (file)
--- a/alias.py
+++ b/alias.py
@@ -1,32 +1,41 @@
 #! /usr/bin/python3
 
-# DDStorm
-# -------
-Copyright (c) 2015 Agnibho Mondal
-All rights reserved
+''' This module handles the aliases of the symptoms. '''
+'''
+Copyright (c) 2015 Agnibho Mondal
+All rights reserved
 
-This file is part of DDStorm.
+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 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.
+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 <http://www.gnu.org/licenses/>.
+You should have received a copy of the GNU General Public License
+along with DDStorm.  If not, see <http://www.gnu.org/licenses/>.
+'''
 
-import sys, os
+import sys
+import os
 from fnmatch import fnmatch
+
 from conf import Conf
 from const import *
 
 class Alias:
+    ''' Provides the class to handle symptom aliases '''
+    
     def __init__(self, conf=False):
+        '''
+        Initiates the alias object
+        Accepts a Conf object as parameter
+        '''
         self.data={}
         if(conf):
             self.conf=conf
@@ -35,19 +44,25 @@ class Alias:
         self.compile()
 
     def compile(self):
+        ''' Compile the plaintext index files to a program usable format '''
+        # Loop over the alias files
         for path, subdirs, files in os.walk(self.conf.get("alias_path")):
             for name in files:
                 if(fnmatch(name, "*.txt")):
+                    # Open the *.txt files
                     with open(self.conf.get("alias_path")+name, "r") as f:
                         for line in f:
+                            # Ignore lines starting with #
                             line=line.rstrip().split("#")[0]
                             if(len(line)==0):
                                 pass
                             else:
                                 terms=[]
+                                # Split words separated by ; and add to the terms
                                 for i in line.split(";"):
                                     if(i.strip()):
                                         terms.append(i.strip())
+                                # If alias present, add terms to the data
                                 if(len(terms)==2):
                                     self.data[terms[-1]]=terms[0]
                                 elif(len(terms)>2):
@@ -56,12 +71,22 @@ class Alias:
                                         self.data[i]=t
 
     def get(self, term):
+        '''
+        Return the alias of the queried symptom
+
+        Parameter:
+        term - Queried string
+
+        Return value:
+        String containing the alias of the term
+        '''
         if(term in self.data):
             return self.data[term]
         else:
             return term
 
 def main():
+    ''' Print the alias of the command line argument '''
     a=Alias()
     if(len(sys.argv)>1):
         print(a.get(sys.argv[1]))