Hackfut Security File Manager
Current Path:
/usr/lib64/python2.6/site-packages/Cheetah
usr
/
lib64
/
python2.6
/
site-packages
/
Cheetah
/
📁
..
📄
CacheRegion.py
(4.32 KB)
📄
CacheRegion.pyc
(6.48 KB)
📄
CacheRegion.pyo
(6.44 KB)
📄
CacheStore.py
(2.98 KB)
📄
CacheStore.pyc
(5.74 KB)
📄
CacheStore.pyo
(5.74 KB)
📄
CheetahWrapper.py
(23.33 KB)
📄
CheetahWrapper.pyc
(22.42 KB)
📄
CheetahWrapper.pyo
(22.36 KB)
📄
Compiler.py
(78.4 KB)
📄
Compiler.pyc
(74.96 KB)
📄
Compiler.pyo
(74.88 KB)
📄
DirectiveAnalyzer.py
(2.39 KB)
📄
DirectiveAnalyzer.pyc
(3.95 KB)
📄
DirectiveAnalyzer.pyo
(3.95 KB)
📄
Django.py
(592 B)
📄
Django.pyc
(945 B)
📄
Django.pyo
(945 B)
📄
DummyTransaction.py
(3.2 KB)
📄
DummyTransaction.pyc
(5.54 KB)
📄
DummyTransaction.pyo
(5.54 KB)
📄
ErrorCatchers.py
(1.71 KB)
📄
ErrorCatchers.pyc
(3.53 KB)
📄
ErrorCatchers.pyo
(3.53 KB)
📄
FileUtils.py
(10.41 KB)
📄
FileUtils.pyc
(13.14 KB)
📄
FileUtils.pyo
(13.14 KB)
📄
Filters.py
(7.46 KB)
📄
Filters.pyc
(8.47 KB)
📄
Filters.pyo
(8.47 KB)
📄
ImportHooks.py
(4.37 KB)
📄
ImportHooks.pyc
(4.27 KB)
📄
ImportHooks.pyo
(4.27 KB)
📄
ImportManager.py
(17.14 KB)
📄
ImportManager.pyc
(16.88 KB)
📄
ImportManager.pyo
(16.88 KB)
📁
Macros
📄
NameMapper.py
(12.79 KB)
📄
NameMapper.pyc
(13.83 KB)
📄
NameMapper.pyo
(13.83 KB)
📄
Parser.py
(101.17 KB)
📄
Parser.pyc
(79.56 KB)
📄
Parser.pyo
(79.37 KB)
📄
Servlet.py
(3.33 KB)
📄
Servlet.pyc
(3.79 KB)
📄
Servlet.pyo
(3.79 KB)
📄
SettingsManager.py
(10.12 KB)
📄
SettingsManager.pyc
(11.53 KB)
📄
SettingsManager.pyo
(11.53 KB)
📄
SourceReader.py
(8.85 KB)
📄
SourceReader.pyc
(11.68 KB)
📄
SourceReader.pyo
(11.68 KB)
📄
Template.py
(82.76 KB)
📄
Template.pyc
(66.8 KB)
📄
Template.pyo
(66.72 KB)
📄
TemplateCmdLineIface.py
(3.23 KB)
📄
TemplateCmdLineIface.pyc
(3.89 KB)
📄
TemplateCmdLineIface.pyo
(3.89 KB)
📁
Templates
📁
Tests
📁
Tools
📄
Unspecified.py
(258 B)
📄
Unspecified.pyc
(809 B)
📄
Unspecified.pyo
(809 B)
📁
Utils
📄
Version.py
(1.5 KB)
📄
Version.pyc
(1.82 KB)
📄
Version.pyo
(1.27 KB)
📄
__init__.py
(582 B)
📄
__init__.pyc
(756 B)
📄
__init__.pyo
(756 B)
📄
_namemapper.so
(13.26 KB)
📄
convertTmplPathToModuleName.py
(496 B)
📄
convertTmplPathToModuleName.pyc
(706 B)
📄
convertTmplPathToModuleName.pyo
(706 B)
Editing: DirectiveAnalyzer.py
import os import pprint try: from functools import reduce except ImportError: # Assume we have reduce pass from Cheetah import Parser from Cheetah import Compiler from Cheetah import Template class Analyzer(Parser.Parser): def __init__(self, *args, **kwargs): self.calls = {} super(Analyzer, self).__init__(*args, **kwargs) def eatDirective(self): directive = self.matchDirective() try: self.calls[directive] += 1 except KeyError: self.calls[directive] = 1 super(Analyzer, self).eatDirective() class AnalysisCompiler(Compiler.ModuleCompiler): parserClass = Analyzer def analyze(source): klass = Template.Template.compile(source, compilerClass=AnalysisCompiler) return klass._CHEETAH_compilerInstance._parser.calls def main_file(f): fd = open(f, 'r') try: print u'>>> Analyzing %s' % f calls = analyze(fd.read()) return calls finally: fd.close() def _find_templates(directory, suffix): for root, dirs, files in os.walk(directory): for f in files: if not f.endswith(suffix): continue yield root + os.path.sep + f def _analyze_templates(iterable): for template in iterable: yield main_file(template) def main_dir(opts): results = _analyze_templates(_find_templates(opts.dir, opts.suffix)) totals = {} for series in results: if not series: continue for k, v in series.iteritems(): try: totals[k] += v except KeyError: totals[k] = v return totals def main(): from optparse import OptionParser op = OptionParser() op.add_option('-f', '--file', dest='file', default=None, help='Specify a single file to analyze') op.add_option('-d', '--dir', dest='dir', default=None, help='Specify a directory of templates to analyze') op.add_option('--suffix', default='tmpl', dest='suffix', help='Specify a custom template file suffix for the -d option (default: "tmpl")') opts, args = op.parse_args() if not opts.file and not opts.dir: op.print_help() return results = None if opts.file: results = main_file(opts.file) if opts.dir: results = main_dir(opts) pprint.pprint(results) if __name__ == '__main__': main()
Upload File
Create Folder