aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruser@node5.net <user@node5.net>2026-06-15 21:24:56 +0200
committeruser@node5.net <user@node5.net>2026-06-15 21:24:56 +0200
commit38b8178cce160b3d2e6c8b3256c7655f4d0a27cd (patch)
treeee232c74e786890a4d2bad8b1d89e2b5a5e2c6e6
parent693525e6444a74980ddfffb32ffe561c53dfcc24 (diff)
internalize needed files for starting the program
-rw-r--r--.gitignore1
-rw-r--r--.gitmodules3
m---------blog.node5.net/articles0
-rw-r--r--flake.nix19
-rw-r--r--src/blog.node5.net/motd.md (renamed from blog.node5.net/motd.md)0
-rw-r--r--src/blog.node5.net/static/RobotoMono-Bold.ttf (renamed from blog.node5.net/static/RobotoMono-Bold.ttf)bin87392 -> 87392 bytes
-rw-r--r--src/blog.node5.net/static/RobotoMono-Regular.ttf (renamed from blog.node5.net/static/RobotoMono-Regular.ttf)bin87236 -> 87236 bytes
-rw-r--r--src/blog.node5.net/static/article.css (renamed from blog.node5.net/static/article.css)0
-rw-r--r--src/blog.node5.net/static/bg.webp (renamed from blog.node5.net/static/bg.webp)bin24074 -> 24074 bytes
-rw-r--r--src/blog.node5.net/static/comment_section.css (renamed from blog.node5.net/static/comment_section.css)0
-rw-r--r--src/blog.node5.net/static/devicons.css (renamed from blog.node5.net/static/devicons.css)0
-rw-r--r--src/blog.node5.net/static/folder.css (renamed from blog.node5.net/static/folder.css)0
-rwxr-xr-xsrc/blog.node5.net/static/fonts/devicons.eot (renamed from blog.node5.net/static/fonts/devicons.eot)bin125648 -> 125648 bytes
-rwxr-xr-xsrc/blog.node5.net/static/fonts/devicons.svg (renamed from blog.node5.net/static/fonts/devicons.svg)0
-rwxr-xr-xsrc/blog.node5.net/static/fonts/devicons.ttf (renamed from blog.node5.net/static/fonts/devicons.ttf)bin125484 -> 125484 bytes
-rwxr-xr-xsrc/blog.node5.net/static/fonts/devicons.woff (renamed from blog.node5.net/static/fonts/devicons.woff)bin125560 -> 125560 bytes
-rw-r--r--src/blog.node5.net/static/main.css (renamed from blog.node5.net/static/main.css)0
-rw-r--r--src/blog.node5.net/static/motd/C+++++++++++++++++++++++++++.png (renamed from blog.node5.net/static/motd/C+++++++++++++++++++++++++++.png)bin129008 -> 129008 bytes
-rw-r--r--src/blog.node5.net/static/motd/code128.webp (renamed from blog.node5.net/static/motd/code128.webp)bin646 -> 646 bytes
-rw-r--r--src/blog.node5.net/static/motd/debian_stable_jurasic_park.webp (renamed from blog.node5.net/static/motd/debian_stable_jurasic_park.webp)bin3992 -> 3992 bytes
-rw-r--r--src/blog.node5.net/static/pygmentize_code_highlight.css (renamed from blog.node5.net/static/pygmentize_code_highlight.css)0
-rw-r--r--src/blog.node5.net/templates/article.html (renamed from blog.node5.net/templates/article.html)0
-rw-r--r--src/blog.node5.net/templates/article_meta_data.html (renamed from blog.node5.net/templates/article_meta_data.html)0
-rw-r--r--src/blog.node5.net/templates/base.html (renamed from blog.node5.net/templates/base.html)0
-rw-r--r--src/blog.node5.net/templates/folder.html (renamed from blog.node5.net/templates/folder.html)0
-rw-r--r--src/blog_node5_net.py5
-rw-r--r--src/create_db.sql (renamed from create_db.sql)0
-rw-r--r--src/db_handler.py14
28 files changed, 24 insertions, 18 deletions
diff --git a/.gitignore b/.gitignore
index a418d74..2550a4d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ blog.node5.net.db
configs/telegram.yml
venv
result
+src/blog.node5.net/articles/
diff --git a/.gitmodules b/.gitmodules
index 9e0a183..e69de29 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +0,0 @@
-[submodule "blog.node5.net/articles"]
- path = blog.node5.net/articles
- url = https://git.node5.net/blog/articles
diff --git a/blog.node5.net/articles b/blog.node5.net/articles
deleted file mode 160000
-Subproject f67ff12ecdc993cf2752e44531c0d1a0d832bd9
diff --git a/flake.nix b/flake.nix
index 67a92bc..e491a13 100644
--- a/flake.nix
+++ b/flake.nix
@@ -26,7 +26,7 @@
# Returns an attribute set that can be passed to `buildPythonPackage`.
attrs = project.renderers.buildPythonPackage { inherit python; };
- py_pkg = python.pkgs.buildPythonPackage (attrs // {
+ pkg = python.pkgs.buildPythonPackage (attrs // {
meta = {
description = "Blog backend for blog.node5.net";
homepage = "https://blog.node5.net/Blog%20meta/";
@@ -34,22 +34,19 @@
mainProgram = "blog-node5";
};
propagatedBuildInputs = (attrs.propagatedBuildInputs or []) ++ [ pkgs.git ]; # Make git binary available
+ postInstall = ''
+ echo $src
+ echo $out
+ cp -r $src/src/blog.node5.net $out/${python.sitePackages}
+ cp -r $src/src/create_db.sql $out/${python.sitePackages}
+ '';
});
# Add missing templates and static content, that wasn't auto discovered by the python build process
- pkg = pkgs.stdenv.mkDerivation {
- name = "blog.node5.net";
- src = py_pkg;
- meta = py_pkg.meta;
- installPhase = ''
- mkdir -p $out/${python.sitePackages}/blog.node5.net/
- cp -r ${py_pkg}/* $out/
- cp -r ${./blog.node5.net}/* $out/${python.sitePackages}/blog.node5.net/
- '';
- };
in
{
packages.x86_64-linux.default = pkg;
pythonPath = "${python.pkgs.makePythonPath attrs.dependencies}:${pkg}/${python.sitePackages}";
+ a = attrs;
};
}
diff --git a/blog.node5.net/motd.md b/src/blog.node5.net/motd.md
index f4c7579..f4c7579 100644
--- a/blog.node5.net/motd.md
+++ b/src/blog.node5.net/motd.md
diff --git a/blog.node5.net/static/RobotoMono-Bold.ttf b/src/blog.node5.net/static/RobotoMono-Bold.ttf
index d884128..d884128 100644
--- a/blog.node5.net/static/RobotoMono-Bold.ttf
+++ b/src/blog.node5.net/static/RobotoMono-Bold.ttf
Binary files differ
diff --git a/blog.node5.net/static/RobotoMono-Regular.ttf b/src/blog.node5.net/static/RobotoMono-Regular.ttf
index 6df2b25..6df2b25 100644
--- a/blog.node5.net/static/RobotoMono-Regular.ttf
+++ b/src/blog.node5.net/static/RobotoMono-Regular.ttf
Binary files differ
diff --git a/blog.node5.net/static/article.css b/src/blog.node5.net/static/article.css
index d482ed4..d482ed4 100644
--- a/blog.node5.net/static/article.css
+++ b/src/blog.node5.net/static/article.css
diff --git a/blog.node5.net/static/bg.webp b/src/blog.node5.net/static/bg.webp
index 7360911..7360911 100644
--- a/blog.node5.net/static/bg.webp
+++ b/src/blog.node5.net/static/bg.webp
Binary files differ
diff --git a/blog.node5.net/static/comment_section.css b/src/blog.node5.net/static/comment_section.css
index 7aa1727..7aa1727 100644
--- a/blog.node5.net/static/comment_section.css
+++ b/src/blog.node5.net/static/comment_section.css
diff --git a/blog.node5.net/static/devicons.css b/src/blog.node5.net/static/devicons.css
index def7eb3..def7eb3 100644
--- a/blog.node5.net/static/devicons.css
+++ b/src/blog.node5.net/static/devicons.css
diff --git a/blog.node5.net/static/folder.css b/src/blog.node5.net/static/folder.css
index e72f886..e72f886 100644
--- a/blog.node5.net/static/folder.css
+++ b/src/blog.node5.net/static/folder.css
diff --git a/blog.node5.net/static/fonts/devicons.eot b/src/blog.node5.net/static/fonts/devicons.eot
index 6eeaacb..6eeaacb 100755
--- a/blog.node5.net/static/fonts/devicons.eot
+++ b/src/blog.node5.net/static/fonts/devicons.eot
Binary files differ
diff --git a/blog.node5.net/static/fonts/devicons.svg b/src/blog.node5.net/static/fonts/devicons.svg
index 5149508..5149508 100755
--- a/blog.node5.net/static/fonts/devicons.svg
+++ b/src/blog.node5.net/static/fonts/devicons.svg
diff --git a/blog.node5.net/static/fonts/devicons.ttf b/src/blog.node5.net/static/fonts/devicons.ttf
index b4980db..b4980db 100755
--- a/blog.node5.net/static/fonts/devicons.ttf
+++ b/src/blog.node5.net/static/fonts/devicons.ttf
Binary files differ
diff --git a/blog.node5.net/static/fonts/devicons.woff b/src/blog.node5.net/static/fonts/devicons.woff
index 65bf160..65bf160 100755
--- a/blog.node5.net/static/fonts/devicons.woff
+++ b/src/blog.node5.net/static/fonts/devicons.woff
Binary files differ
diff --git a/blog.node5.net/static/main.css b/src/blog.node5.net/static/main.css
index 8a61703..8a61703 100644
--- a/blog.node5.net/static/main.css
+++ b/src/blog.node5.net/static/main.css
diff --git a/blog.node5.net/static/motd/C+++++++++++++++++++++++++++.png b/src/blog.node5.net/static/motd/C+++++++++++++++++++++++++++.png
index 85413b2..85413b2 100644
--- a/blog.node5.net/static/motd/C+++++++++++++++++++++++++++.png
+++ b/src/blog.node5.net/static/motd/C+++++++++++++++++++++++++++.png
Binary files differ
diff --git a/blog.node5.net/static/motd/code128.webp b/src/blog.node5.net/static/motd/code128.webp
index 9fb7108..9fb7108 100644
--- a/blog.node5.net/static/motd/code128.webp
+++ b/src/blog.node5.net/static/motd/code128.webp
Binary files differ
diff --git a/blog.node5.net/static/motd/debian_stable_jurasic_park.webp b/src/blog.node5.net/static/motd/debian_stable_jurasic_park.webp
index 2c62c23..2c62c23 100644
--- a/blog.node5.net/static/motd/debian_stable_jurasic_park.webp
+++ b/src/blog.node5.net/static/motd/debian_stable_jurasic_park.webp
Binary files differ
diff --git a/blog.node5.net/static/pygmentize_code_highlight.css b/src/blog.node5.net/static/pygmentize_code_highlight.css
index 26f039d..26f039d 100644
--- a/blog.node5.net/static/pygmentize_code_highlight.css
+++ b/src/blog.node5.net/static/pygmentize_code_highlight.css
diff --git a/blog.node5.net/templates/article.html b/src/blog.node5.net/templates/article.html
index da3b668..da3b668 100644
--- a/blog.node5.net/templates/article.html
+++ b/src/blog.node5.net/templates/article.html
diff --git a/blog.node5.net/templates/article_meta_data.html b/src/blog.node5.net/templates/article_meta_data.html
index ba668d8..ba668d8 100644
--- a/blog.node5.net/templates/article_meta_data.html
+++ b/src/blog.node5.net/templates/article_meta_data.html
diff --git a/blog.node5.net/templates/base.html b/src/blog.node5.net/templates/base.html
index 474584c..474584c 100644
--- a/blog.node5.net/templates/base.html
+++ b/src/blog.node5.net/templates/base.html
diff --git a/blog.node5.net/templates/folder.html b/src/blog.node5.net/templates/folder.html
index ae9456e..ae9456e 100644
--- a/blog.node5.net/templates/folder.html
+++ b/src/blog.node5.net/templates/folder.html
diff --git a/src/blog_node5_net.py b/src/blog_node5_net.py
index e7f7503..94a1872 100644
--- a/src/blog_node5_net.py
+++ b/src/blog_node5_net.py
@@ -52,8 +52,9 @@ stream_handler.setFormatter(CustomFormatter())
logger.root.addHandler(stream_handler)
logger.info(f"Debug: {'en' if debug else 'dis'}abled")
+src_path = pathlib.Path(__file__).parent
articles_path = os.environ["ARTICLES_PATH"] if "ARTICLES_PATH" in os.environ else './blog.node5.net/articles/'
-site_files_path = os.environ["SITE_FILES_PATH"] if "SITE_FILES_PATH" in os.environ else './blog.node5.net/'
+site_files_path = os.environ["SITE_FILES_PATH"] if "SITE_FILES_PATH" in os.environ else os.path.join(src_path, 'blog.node5.net/')
articles_repo_url = os.environ["ARTICLES_REPO_URL"] if "ARTICLES_REPO_URL" in os.environ else 'https://git.node5.net/blog/articles/'
logger.debug(f'articles_path: {articles_path}')
logger.debug(f'site_files_path: {site_files_path}')
@@ -94,7 +95,7 @@ articles_by_url: typing.Dict[str, article.Article] = {}
# DB init
-db: db_handler.DBHandler = db_handler.DBHandler()
+db: db_handler.DBHandler = db_handler.DBHandler(db_init_script_path=os.path.join(src_path, 'create_db.sql'))
# Telegram init
try:
diff --git a/create_db.sql b/src/create_db.sql
index ee0f968..ee0f968 100644
--- a/create_db.sql
+++ b/src/create_db.sql
diff --git a/src/db_handler.py b/src/db_handler.py
index 471154a..b063692 100644
--- a/src/db_handler.py
+++ b/src/db_handler.py
@@ -1,13 +1,23 @@
import logging
-from dataclasses import dataclass
-
import sqlite3
+import os
logger = logging.getLogger(__name__) # Set the logger name, to the name of the module
class DBHandler:
+ def __init__(self, db_init_script_path: os.PathLike, db_path: str = "blog.node5.net.db"):
+ self.db_init_script_path = db_init_script_path
+ self.db_path = db_path
+ if not os.path.exists(self.db_path):
+ script = open(self.db_init_script_path, "r", encoding="utf-8").read()
+ with self.con_factory() as con:
+ con.executescript(script)
+ con.commit()
+ logger.info("Database initialized from %s", self.db_init_script_path)
+
+
def con_factory(self) -> sqlite3.Connection:
con = sqlite3.connect("blog.node5.net.db")
return con