def get_file_for(name):
"""webber.files is an hash of File objects, but keyed on the real file name.
This function returns a File object for a specific linktitle."""
-
+
try:
return _get_file_for_cache[name]
except:
# At startup:
# addoptions allow plugins to add command-line options
# checkconfig check configuration
-# start
+# start
# While reading files:
# read ask any reader (plugins!) to read the file
# filter ask anybody to filter the contents
def load_plugins():
"""Loads all plugins in the plugins directory."""
sys.path.append(os.path.join(get_program_directory(), "plugins"))
+ if cfg.has_key("plugin_dirs"):
+ for s in cfg.plugin_dirs:
+ sys.path.append(s)
for s in cfg.plugins:
- #print "import:", s
- #try:
exec "import %s" % s
- #except:
- # print "Could not import plugin '%s'" % s
- # sys.exit(1)
def set_hook(name, last=False):
)
file.inheritFrom(direc)
read_file(direc, file)
-
+
walk(dirpath)
s = reMacro.sub(do_macro, contents)
#print s
return s
-
+
def scan_files():
info("Scanning files ...")
direc = directories[file.direc]
+ # Output-Filename "berechnen"
+ if file.render and file.render == "html":
+ file.out_path = os.path.splitext(s)[0] + ".html"
+
run_hooks("scan",
direc=direc,
file=file)
continue
file.contents = contents
- # Output-Filename "berechnen"
- file.out_path = os.path.splitext(fname_in)[0] + ".html"
-
for fname_in in files:
file = files[fname_in]
current_file = file
return parser
-
+
@set_hook("checkconfig", last=True)
def checkconfig(params):
# Ensure absolute paths that end in '/'.