Initial commit.

This commit is contained in:
2026-01-21 13:12:04 -05:00
commit 1e9e5a5925
190 changed files with 25707 additions and 0 deletions
+113
View File
@@ -0,0 +1,113 @@
# AGPL 3 or any later version
# (C) J.Y.Amihud ( Blender Dumbass )
from modules.Common import *
from modules import Set
import os
import sys
import json
import hashlib
import traceback
Plugins = {}
def Import():
# This functions imports the plugins.
pluginsF = Set.Folder()+"/plugins"
sys.path.append(Set.Folder())
if not os.path.exists(pluginsF+"/__init__.py"):
t = open(pluginsF+"/__init__.py", "w")
t.close()
for plugin in os.listdir(pluginsF):
if plugin.endswith(".py"):
plugin = plugin.replace(".py", "")
exec("from plugins import "+plugin)
Plugins[plugin] = eval(plugin)
def onHTML(server, html):
for plugin in Plugins:
if "onHTML" in dir(Plugins[plugin]):
try:
html = Plugins[plugin].onHTML(server, html)
except:
print(traceback.format_exc())
return html
def onGET(server):
for plugin in Plugins:
if "onGET" in dir(Plugins[plugin]):
try:
if Plugins[plugin].onGET(server):
return True
except:
print(traceback.format_exc())
return False
def onFEDI():
for plugin in Plugins:
if "onFEDI" in dir(Plugins[plugin]):
try:
Plugins[plugin].onFEDI()
except:
print(traceback.format_exc())
def GetData():
config = Set.Load()
pluginsF = Set.Folder()+"/plugins"
data = {}
Pdata = {}
try:
with open(Set.Folder()+"/plugins.json") as o:
Pdata = json.load(o)
except:
pass
for plugin in os.listdir(pluginsF):
if plugin.endswith(".py") and plugin != "__init__.py":
text = open(pluginsF+"/"+plugin, "r")
text = text.read()
sha512 = hashlib.sha512(text.encode("utf-8")).hexdigest()
sha256 = hashlib.sha256(text.encode("utf-8")).hexdigest()
md5 = hashlib.md5(text.encode("utf-8")).hexdigest()
try:
PluginData = dict(Plugins[plugin.replace(".py","")].PluginData)
except:
PluginData = {}
pluginData = {"sha512":sha512,
"sha256":sha256,
"md5" :md5}
for i in PluginData:
pluginData[i] = PluginData[i]
pluginData["domains"] = [config.get("domain","localhost")]
for domain in Pdata:
if domain == config.get("domain"):
continue
for pluginname in Pdata[domain]:
pluginD = Pdata[domain][pluginname]
#if pluginD.get("sha512") == sha512:
# pluginData["domains"].append(domain)
data[plugin] = pluginData
return data