'Using the methods in TranslateParseFiles to extract the strings
fileName -> the file to be used for extraction
spmod -> the required module
modlist -> a list of all modules in Eden'

@staticmethod
def findstr(fileName, spmod, modlist):

    try:
        f = open(fileName)
    except:
        path = os.path.split(__file__)[0]
        fileName = os.path.join(path, fileName)
        try:
            f = open(fileName)
        except:
            return
    fileContent = f.read()
    f.close()
    fileContent = ('%s\n' % fileContent.replace('\r', ''))
    try:
        st = parser.suite(fileContent)
    except:
        return []
    stList = parser.st2list(st, line_info=1)
    P = TranslateParseFiles()
    strings = []
    if (spmod == 'ALL'):
        parseAll = P.parseAll
        for element in stList:
            parseAll(strings, element)
    else:
        appname = current.request.application
        fileName = os.path.basename(fileName)
        if (fileName == 's3menus.py'):
            parseMenu = P.parseMenu
            for element in stList:
                parseMenu(spmod, strings, element, 0)
        elif (fileName == 's3cfg.py'):
            parseS3cfg = P.parseS3cfg
            for element in stList:
                parseS3cfg(spmod, strings, element, modlist)
        elif (fileName in ('000_config.py', 'config.py')):
            parseConfig = P.parseConfig
            for element in stList:
                parseConfig(spmod, strings, element, modlist)
    final_strings = []
    fsappend = final_strings.append
    settings = current.deployment_settings
    for (loc, s) in strings:
        if ((s[0] != '"') and (s[0] != "'")):
            if ('settings.' in s):
                s = s.replace('current.deployment_settings', 'settings')
                s = s.replace('()', '')
                l = s.split('.')
                obj = settings
                for atr in l[1:]:
                    try:
                        obj = getattr(obj, atr)()
                    except:
                        current.log.warning("Can't    find    this    deployment_setting,    maybe    a    crud.settings", atr)
                    else:
                        s = obj
                        fsappend((loc, s))
            else:
                pass
        else:
            fsappend((loc, s))
    return final_strings
