Initial framework for asfcopy plugin
diff --git a/pelicanconf.py b/pelicanconf.py
index 0248d8f..b5add30 100644
--- a/pelicanconf.py
+++ b/pelicanconf.py
@@ -101,7 +101,7 @@
# With pelican-sitemap
# PLUGINS = ['asfgenid', 'asfdata', 'pelican-gfm', 'asfreader', 'sitemap']
# With data and ezt templates
-PLUGINS = ['asfgenid', 'asfdata', 'pelican-gfm', 'asfreader']
+PLUGINS = ['asfgenid', 'asfdata', 'pelican-gfm', 'asfreader', 'asfcopy']
# With asfgenid
# PLUGINS = ['asfgenid', 'pelican-gfm']
diff --git a/theme/plugins/asfcopy.py b/theme/plugins/asfcopy.py
new file mode 100644
index 0000000..b763d17
--- /dev/null
+++ b/theme/plugins/asfcopy.py
@@ -0,0 +1,62 @@
+#!/usr/bin/python -B
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+#
+# asfreader.py -- Pelican plugin that processes ezt template Markdown through ezt and then GitHub Flavored Markdown.
+#
+
+import sys
+import io
+import os
+import traceback
+
+import re
+import ezt
+
+import pelican.plugins.signals
+import pelican.readers
+import pelican.settings
+
+
+# create metadata according to instructions.
+def config_copy_data(pel_ob):
+ print('-----\nasfcopy')
+
+ output_path = pel_ob.settings.get('OUTPUT_PATH')
+ path = pel_ob.settings.get('PATH')
+ print(f'{path} --> {output_path}')
+ asf_copy = pel_ob.settings.get('ASF_COPY')
+ if asf_copy:
+ print(asf_copy)
+ else:
+ print("Nothing to copy")
+
+
+def tb_finalized(pel_ob):
+ """ Print any exception, before Pelican chews it into nothingness."""
+ try:
+ config_copy_data(pel_ob)
+ except Exception:
+ print('-----', file=sys.stderr)
+ traceback.print_exc()
+ # exceptions here stop the build
+ raise
+
+
+def register():
+ pelican.plugins.signals.finalized.connect(tb_finalized)