aboutsummaryrefslogtreecommitdiff
path: root/allium/generate.py
diff options
context:
space:
mode:
Diffstat (limited to 'allium/generate.py')
-rwxr-xr-xallium/generate.py88
1 files changed, 88 insertions, 0 deletions
diff --git a/allium/generate.py b/allium/generate.py
new file mode 100755
index 0000000..4315e7d
--- /dev/null
+++ b/allium/generate.py
@@ -0,0 +1,88 @@
+#!/usr/bin/env python3
+
+'''
+File: generate.py (executable)
+
+Generate complete set of relay HTML pages and copy static files to
+config.CONFIG['output_root'] defined in config.py
+
+Default output directory: ./www
+'''
+
+import os
+import sys
+from shutil import copytree
+import config
+from relays import Relays
+
+ABS_PATH = os.path.dirname(os.path.abspath(__file__))
+
+if __name__ == '__main__':
+ RELAY_SET = Relays()
+
+ # generate relay HTML documents
+ RELAY_SET.create_output_dir()
+ RELAY_SET.write_misc(
+ template = 'index.html',
+ path = 'index.html',
+ path_prefix = './',
+ is_index = True,
+ )
+ RELAY_SET.write_misc(
+ template = 'all.html',
+ path = 'misc/all.html'
+ )
+ RELAY_SET.write_misc(
+ template = 'misc-families.html',
+ path = 'misc/families-by-bandwidth.html',
+ sorted_by = '1.bandwidth'
+ )
+ RELAY_SET.write_misc(
+ template = 'misc-families.html',
+ path = 'misc/families-by-exit-count.html',
+ sorted_by = '1.exit_count,1.bandwidth'
+ )
+ RELAY_SET.write_misc(
+ template = 'misc-families.html',
+ path = 'misc/families-by-middle-count.html',
+ sorted_by = '1.middle_count,1.bandwidth'
+ )
+ RELAY_SET.write_misc(
+ template = 'misc-families.html',
+ path = 'misc/families-by-first-seen.html',
+ sorted_by = '1.first_seen,1.bandwidth'
+ )
+ RELAY_SET.write_misc(
+ template = 'misc-networks.html',
+ path = 'misc/networks-by-bandwidth.html',
+ sorted_by = '1.bandwidth'
+ )
+ RELAY_SET.write_misc(
+ template = 'misc-networks.html',
+ path = 'misc/networks-by-exit-count.html',
+ sorted_by = '1.exit_count,1.bandwidth'
+ )
+ RELAY_SET.write_misc(
+ template = 'misc-networks.html',
+ path = 'misc/networks-by-middle-count.html',
+ sorted_by = '1.middle_count,1.bandwidth'
+ )
+ RELAY_SET.write_misc(
+ template = 'misc-networks.html',
+ path = 'misc/networks-by-first-seen.html',
+ sorted_by = '1.first_seen,1.bandwidth'
+ )
+ RELAY_SET.write_pages_by_key('as')
+ RELAY_SET.write_pages_by_key('contact')
+ RELAY_SET.write_pages_by_key('country')
+ RELAY_SET.write_pages_by_key('family')
+ RELAY_SET.write_pages_by_key('flag')
+ RELAY_SET.write_pages_by_key('platform')
+ RELAY_SET.write_pages_by_key('first_seen')
+ RELAY_SET.write_relay_info()
+
+ # copy static directory and its contents
+ STATIC_SRC_PATH = os.path.join(ABS_PATH, 'static')
+ STATIC_DEST_PATH = os.path.join(config.CONFIG['output_root'], 'static')
+ if not os.path.exists(STATIC_DEST_PATH):
+ copytree(STATIC_SRC_PATH, STATIC_DEST_PATH)