# Warn about long titles / long linktitles
if len(self.linktitle) > 20:
- log('%s: define a shorter "linktitle: xxx"')
+ log('%s: define a shorter linktitle' % self.rel_path)
self.contents = "".join(txt)
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
continue
direc = directories[file.direc]
- contents = run_hooks("linkify",
+ run_hooks("linkify",
direc=direc,
file=file,
- return_holder=False)
+ return_holder=True)
#print "contents after 'linkify':", contents
- if not contents:
+ if not file.contents:
continue
- file.contents = contents
# TODO: einige Fragmente sollen u.U. in eine andere
# Webseite eingebaut werden und sollten daher nicht in
return parser
-
+
@set_hook("checkconfig", last=True)
def checkconfig(params):
# Ensure absolute paths that end in '/'.