genocide 152__tar.gz → 154__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {genocide-152 → genocide-154}/PKG-INFO +4 -4
- {genocide-152 → genocide-154}/README.rst +2 -2
- genocide-154/bin/genocide +118 -0
- genocide-154/bin/genocided +88 -0
- {genocide-152 → genocide-154}/docs/_templates/base.rst +0 -1
- {genocide-152 → genocide-154}/docs/about.rst +4 -14
- {genocide-152 → genocide-154}/docs/conf.py +19 -6
- {genocide-152 → genocide-154}/docs/evidence.rst +6 -0
- {genocide-152 → genocide-154}/docs/guilty.rst +6 -0
- {genocide-152 → genocide-154}/docs/index.rst +4 -4
- {genocide-152 → genocide-154}/docs/manual.rst +32 -28
- genocide-154/docs/pdf/EM_Ack_OTP-CR-117_19.pdf +0 -0
- genocide-154/docs/robots.txt +2 -0
- genocide-154/docs/source.rst +53 -0
- {genocide-152 → genocide-154}/docs/writings.rst +6 -0
- {genocide-152 → genocide-154}/genocide/__init__.py +1 -3
- genocide-154/genocide/broker.py +41 -0
- genocide-154/genocide/client.py +189 -0
- genocide-154/genocide/disk.py +122 -0
- genocide-154/genocide/find.py +82 -0
- {genocide-152 → genocide-154}/genocide/handler.py +40 -19
- genocide-154/genocide/log.py +34 -0
- {genocide-152 → genocide-154}/genocide/modules/__init__.py +3 -7
- genocide-154/genocide/modules/cmd.py +13 -0
- genocide-154/genocide/modules/err.py +17 -0
- {genocide-152 → genocide-154}/genocide/modules/irc.py +34 -62
- {genocide-152 → genocide-154}/genocide/modules/log.py +6 -20
- genocide-154/genocide/modules/mod.py +20 -0
- {genocide-152 → genocide-154}/genocide/modules/req.py +3 -13
- {genocide-152 → genocide-154}/genocide/modules/rss.py +12 -32
- {genocide-152 → genocide-154}/genocide/modules/tdo.py +11 -23
- {genocide-152 → genocide-154}/genocide/modules/thr.py +2 -11
- {genocide-152 → genocide-154}/genocide/modules/tmr.py +22 -38
- {genocide-152 → genocide-154}/genocide/object.py +16 -23
- genocide-154/genocide/run.py +72 -0
- genocide-154/genocide/thread.py +180 -0
- {genocide-152 → genocide-154}/genocide.egg-info/PKG-INFO +4 -4
- {genocide-152 → genocide-154}/genocide.egg-info/SOURCES.txt +10 -27
- {genocide-152 → genocide-154}/pyproject.toml +9 -13
- {genocide-152 → genocide-154}/setup.py +4 -1
- genocide-152/MANUAL.rst +0 -187
- genocide-152/docs/arrest.png +0 -0
- genocide-152/docs/banner.png +0 -0
- genocide-152/docs/skull.jpg +0 -0
- genocide-152/docs/verbatim.rst +0 -24
- genocide-152/docs/verbatim2.png +0 -0
- genocide-152/docs/wallpaper.png +0 -0
- genocide-152/genocide/__main__.py +0 -173
- genocide-152/genocide/broker.py +0 -57
- genocide-152/genocide/client.py +0 -84
- genocide-152/genocide/default.py +0 -29
- genocide-152/genocide/errors.py +0 -87
- genocide-152/genocide/event.py +0 -54
- genocide-152/genocide/interface.py +0 -68
- genocide-152/genocide/modules/cmd.py +0 -20
- genocide-152/genocide/modules/dbg.py +0 -25
- genocide-152/genocide/modules/err.py +0 -31
- genocide-152/genocide/modules/flt.py +0 -25
- genocide-152/genocide/modules/fnd.py +0 -40
- genocide-152/genocide/modules/mbx.py +0 -120
- genocide-152/genocide/modules/mdl.py +0 -431
- genocide-152/genocide/modules/mod.py +0 -23
- genocide-152/genocide/modules/rst.py +0 -141
- genocide-152/genocide/modules/udp.py +0 -142
- genocide-152/genocide/parser.py +0 -75
- genocide-152/genocide/persist.py +0 -147
- genocide-152/genocide/repeater.py +0 -31
- genocide-152/genocide/thread.py +0 -89
- genocide-152/genocide/timer.py +0 -61
- genocide-152/genocide/utils.py +0 -68
- genocide-152/genocide/workdir.py +0 -48
- genocide-152/genocide.egg-info/entry_points.txt +0 -2
- {genocide-152 → genocide-154}/docs/ECHAabilify.png +0 -0
- {genocide-152 → genocide-154}/docs/ECHAclozapine.png +0 -0
- {genocide-152 → genocide-154}/docs/ECHAhaldol.png +0 -0
- {genocide-152 → genocide-154}/docs/ECHAzyprexa.png +0 -0
- {genocide-152 → genocide-154}/docs/OTP1.png +0 -0
- {genocide-152 → genocide-154}/docs/OTP2.png +0 -0
- {genocide-152 → genocide-154}/docs/_static/genocide.css +0 -0
- {genocide-152 → genocide-154}/docs/_templates/class.rst +0 -0
- {genocide-152 → genocide-154}/docs/_templates/mine.rst +0 -0
- {genocide-152 → genocide-154}/docs/_templates/module.rst +0 -0
- {genocide-152 → genocide-154}/docs/bevestigd.jpg +0 -0
- {genocide-152 → genocide-154}/docs/genocide.png +0 -0
- {genocide-152 → genocide-154}/docs/informed.jpg +0 -0
- {genocide-152 → genocide-154}/docs/kamer.png +0 -0
- {genocide-152 → genocide-154}/docs/pdf/EM_T04_OTP-CR-117_19.pdf +0 -0
- {genocide-152 → genocide-154}/docs/pdf/EM_T07_OTP-CR-117_19_001.pdf +0 -0
- {genocide-152 → genocide-154}/docs/pdf/Kamer.pdf +0 -0
- {genocide-152 → genocide-154}/docs/pdf/Rome-Statute.pdf +0 -0
- {genocide-152 → genocide-154}/docs/pdf/bevestigd.pdf +0 -0
- {genocide-152 → genocide-154}/docs/request.rst +0 -0
- {genocide-152 → genocide-154}/docs/skull3.png +0 -0
- {genocide-152 → genocide-154}/genocide.egg-info/dependency_links.txt +0 -0
- {genocide-152 → genocide-154}/genocide.egg-info/requires.txt +0 -0
- {genocide-152 → genocide-154}/genocide.egg-info/top_level.txt +0 -0
- {genocide-152 → genocide-154}/genocide.egg-info/zip-safe +0 -0
- {genocide-152 → genocide-154}/setup.cfg +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: genocide
|
|
3
|
-
Version:
|
|
4
|
-
Summary: OTP-CR-117/19
|
|
3
|
+
Version: 154
|
|
4
|
+
Summary: @KarimKhanQC reconsider OTP-CR-117/19
|
|
5
5
|
Author-email: Bart Thate <bthate@dds.nl>
|
|
6
6
|
License: Public Domain
|
|
7
7
|
Project-URL: home, https://pypi.org/project/genocide
|
|
@@ -19,12 +19,12 @@ Provides-Extra: dev
|
|
|
19
19
|
| **Office of the Prosecutor**
|
|
20
20
|
| **Post Office Box 19519**
|
|
21
21
|
| **2500 CM The Hague**
|
|
22
|
-
| **The Netherlands**
|
|
22
|
+
| **The Netherlands**
|
|
23
23
|
|
|
|
24
24
|
|
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
Hello Office of the Prosecutor,
|
|
27
|
+
Hello Office of the Prosecutor, ``OTP-CR-117/19``
|
|
28
28
|
|
|
29
29
|
i write you in the context of communications and claims under art.15 of
|
|
30
30
|
the Rome Statute. i want to inform the prosecutor that the king of the
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
| **Office of the Prosecutor**
|
|
3
3
|
| **Post Office Box 19519**
|
|
4
4
|
| **2500 CM The Hague**
|
|
5
|
-
| **The Netherlands**
|
|
5
|
+
| **The Netherlands**
|
|
6
6
|
|
|
|
7
7
|
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
Hello Office of the Prosecutor,
|
|
10
|
+
Hello Office of the Prosecutor, ``OTP-CR-117/19``
|
|
11
11
|
|
|
12
12
|
i write you in the context of communications and claims under art.15 of
|
|
13
13
|
the Rome Statute. i want to inform the prosecutor that the king of the
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# This file is placed in the Public Domain.
|
|
3
|
+
#
|
|
4
|
+
# pylint: disable=C0413
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
"main"
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
import os
|
|
11
|
+
import readline
|
|
12
|
+
import sys
|
|
13
|
+
import termios
|
|
14
|
+
import time
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
sys.path.insert(0, os.getcwd())
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
from genocide.client import Client, cmnd, parse
|
|
21
|
+
from genocide.disk import Workdir, skel
|
|
22
|
+
from genocide.handler import Event
|
|
23
|
+
from genocide.log import debug, enable
|
|
24
|
+
from genocide.object import Default
|
|
25
|
+
from genocide.run import broker, init, scan
|
|
26
|
+
from genocide.thread import errors, setout
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
from genocide import modules
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
Cfg = Default()
|
|
33
|
+
Cfg.dis = ""
|
|
34
|
+
Cfg.mod = "cmd,err,log,mod,req,tdo,thr,tmr"
|
|
35
|
+
Cfg.opts = ""
|
|
36
|
+
Cfg.name = __file__.rsplit(os.sep, maxsplit=1)[-1]
|
|
37
|
+
Cfg.version = "154"
|
|
38
|
+
Cfg.wdr = os.path.expanduser(f"~/.{Cfg.name}")
|
|
39
|
+
Cfg.pidfile = os.path.join(Cfg.wdr, f"{Cfg.name}.pid")
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
Workdir.workdir = Cfg.wdr
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class Console(Client):
|
|
46
|
+
|
|
47
|
+
"Console"
|
|
48
|
+
|
|
49
|
+
def __init__(self):
|
|
50
|
+
Client.__init__(self)
|
|
51
|
+
broker.add(self)
|
|
52
|
+
|
|
53
|
+
def announce(self, txt):
|
|
54
|
+
"disable announce."
|
|
55
|
+
|
|
56
|
+
def callback(self, evt):
|
|
57
|
+
"wait for callback."
|
|
58
|
+
Client.callback(self, evt)
|
|
59
|
+
evt.wait()
|
|
60
|
+
|
|
61
|
+
def poll(self):
|
|
62
|
+
"poll console and create event."
|
|
63
|
+
evt = Event()
|
|
64
|
+
evt.orig = object.__repr__(self)
|
|
65
|
+
evt.txt = input("> ")
|
|
66
|
+
evt.type = "command"
|
|
67
|
+
return evt
|
|
68
|
+
|
|
69
|
+
def say(self, _channel, txt):
|
|
70
|
+
"print to console"
|
|
71
|
+
txt = txt.encode('utf-8', 'replace').decode()
|
|
72
|
+
print(txt)
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def wrap(func):
|
|
76
|
+
"restore console."
|
|
77
|
+
old2 = None
|
|
78
|
+
try:
|
|
79
|
+
old2 = termios.tcgetattr(sys.stdin.fileno())
|
|
80
|
+
except termios.error:
|
|
81
|
+
pass
|
|
82
|
+
try:
|
|
83
|
+
func()
|
|
84
|
+
except (KeyboardInterrupt, EOFError):
|
|
85
|
+
print("")
|
|
86
|
+
finally:
|
|
87
|
+
if old2:
|
|
88
|
+
termios.tcsetattr(sys.stdin.fileno(), termios.TCSADRAIN, old2)
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
def main():
|
|
92
|
+
"main"
|
|
93
|
+
parse(Cfg, " ".join(sys.argv[1:]))
|
|
94
|
+
skel()
|
|
95
|
+
enable(print)
|
|
96
|
+
setout(print)
|
|
97
|
+
if "a" in Cfg.opts:
|
|
98
|
+
Cfg.mod = ",".join(modules.__dir__())
|
|
99
|
+
if "v" in Cfg.opts:
|
|
100
|
+
dte = " ".join(time.ctime(time.time()).replace(" ", " ").split()[1:])
|
|
101
|
+
debug(f'{dte} {Cfg.name.upper()} {Cfg.opts.upper()} {Cfg.mod.upper()}')
|
|
102
|
+
if "h" in Cfg.opts:
|
|
103
|
+
print(__doc__)
|
|
104
|
+
scan(modules, Cfg.mod, Cfg.sets.dis)
|
|
105
|
+
if "c" in Cfg.opts:
|
|
106
|
+
init(modules, Cfg.mod, Cfg.sets.dis)
|
|
107
|
+
csl = Console()
|
|
108
|
+
csl.start()
|
|
109
|
+
while 1:
|
|
110
|
+
time.sleep(1.0)
|
|
111
|
+
elif Cfg.otxt:
|
|
112
|
+
cmnd(Cfg.otxt, print)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
if __name__ == "__main__":
|
|
116
|
+
readline.redisplay()
|
|
117
|
+
wrap(main)
|
|
118
|
+
errors()
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# This file is placed in the Public Domain.
|
|
3
|
+
#
|
|
4
|
+
# pylint: disable=C0413,W0212
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
"daemon"
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
import getpass
|
|
11
|
+
import os
|
|
12
|
+
import pathlib
|
|
13
|
+
import pwd
|
|
14
|
+
import sys
|
|
15
|
+
import time
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
from genocide.disk import Workdir, skel
|
|
19
|
+
from genocide.object import Default
|
|
20
|
+
from genocide.run import init, scan
|
|
21
|
+
from genocide.thread import errors
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
from genocide import modules
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
Cfg = Default()
|
|
28
|
+
Cfg.dis = ""
|
|
29
|
+
Cfg.name = "genocide"
|
|
30
|
+
Cfg.mod = "cmd,mod,req"
|
|
31
|
+
Cfg.version = "154"
|
|
32
|
+
Cfg.opts = ""
|
|
33
|
+
Cfg.wdr = os.path.expanduser(f"~/.{Cfg.name}")
|
|
34
|
+
Cfg.pidfile = os.path.join(Cfg.wdr, f"{Cfg.name}.pid")
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
Workdir.workdir = Cfg.wdr
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def daemon(pidfile, verbose=False):
|
|
41
|
+
"switch to background."
|
|
42
|
+
pid = os.fork()
|
|
43
|
+
if pid != 0:
|
|
44
|
+
os._exit(0)
|
|
45
|
+
os.setsid()
|
|
46
|
+
pid2 = os.fork()
|
|
47
|
+
if pid2 != 0:
|
|
48
|
+
os._exit(0)
|
|
49
|
+
if not verbose:
|
|
50
|
+
with open('/dev/null', 'r', encoding="utf-8") as sis:
|
|
51
|
+
os.dup2(sis.fileno(), sys.stdin.fileno())
|
|
52
|
+
with open('/dev/null', 'a+', encoding="utf-8") as sos:
|
|
53
|
+
os.dup2(sos.fileno(), sys.stdout.fileno())
|
|
54
|
+
with open('/dev/null', 'a+', encoding="utf-8") as ses:
|
|
55
|
+
os.dup2(ses.fileno(), sys.stderr.fileno())
|
|
56
|
+
os.umask(0)
|
|
57
|
+
os.chdir("/")
|
|
58
|
+
if os.path.exists(pidfile):
|
|
59
|
+
os.unlink(pidfile)
|
|
60
|
+
path = pathlib.Path(pidfile)
|
|
61
|
+
path.parent.mkdir(parents=True, exist_ok=True)
|
|
62
|
+
with open(pidfile, "w", encoding="utf-8") as fds:
|
|
63
|
+
fds.write(str(os.getpid()))
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def privileges(username):
|
|
67
|
+
"drop privileges."
|
|
68
|
+
pwnam = pwd.getpwnam(username)
|
|
69
|
+
os.setgid(pwnam.pw_gid)
|
|
70
|
+
os.setuid(pwnam.pw_uid)
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def main():
|
|
74
|
+
"main"
|
|
75
|
+
skel()
|
|
76
|
+
Cfg.mod = ",".join(dir(modules))
|
|
77
|
+
Cfg.user = getpass.getuser()
|
|
78
|
+
daemon(Cfg.pidfile, "-v" in sys.argv)
|
|
79
|
+
privileges(Cfg.user)
|
|
80
|
+
scan(modules, Cfg.mod)
|
|
81
|
+
init(modules, Cfg.mod)
|
|
82
|
+
while 1:
|
|
83
|
+
time.sleep(1.0)
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
if __name__ == "__main__":
|
|
87
|
+
main()
|
|
88
|
+
errors()
|
|
@@ -1,26 +1,16 @@
|
|
|
1
1
|
.. _about:
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
.. raw:: html
|
|
5
4
|
|
|
6
|
-
<center>
|
|
7
|
-
<i>
|
|
8
|
-
By law, with the use of poison,
|
|
9
|
-
killing, torturing, castrating, destroying,
|
|
10
|
-
in whole or in part,
|
|
11
|
-
all elderly and all handicapped (Wzd), all criminals (Wfz)
|
|
12
|
-
and all psychiatric patients (WvGGZ)
|
|
13
|
-
here in the Netherlands
|
|
14
|
-
</i>
|
|
15
|
-
</center>
|
|
16
5
|
<br>
|
|
17
6
|
|
|
7
|
+
.. title:: About
|
|
18
8
|
|
|
19
|
-
.. raw:: html
|
|
20
9
|
|
|
21
|
-
|
|
10
|
+
.. raw:: html
|
|
22
11
|
|
|
23
|
-
|
|
12
|
+
<center><b>ABOUT</b></center>
|
|
13
|
+
<br>
|
|
24
14
|
|
|
25
15
|
|
|
26
16
|
In 2018 i informed the king of the netherlands that what he calls
|
|
@@ -87,7 +87,7 @@ html_theme_options = {
|
|
|
87
87
|
'show_relbar_top': False,
|
|
88
88
|
'sidebar_width': 10,
|
|
89
89
|
}
|
|
90
|
-
html_favicon = "
|
|
90
|
+
html_favicon = "skull3.png"
|
|
91
91
|
html_extra_path = []
|
|
92
92
|
html_last_updated_fmt = '%Y-%b-%d'
|
|
93
93
|
html_additional_pages = {}
|
|
@@ -114,24 +114,37 @@ rst_prolog = '''.. image:: genocide.png
|
|
|
114
114
|
:height: 2.6cm
|
|
115
115
|
:target: index.html
|
|
116
116
|
|
|
117
|
+
.. raw:: html
|
|
118
|
+
|
|
119
|
+
<center>
|
|
120
|
+
<i>
|
|
121
|
+
By law, with the use of poison, killing, torturing, castrating, destroying in whole or in part,
|
|
122
|
+
</i>
|
|
123
|
+
</center>
|
|
124
|
+
<center>
|
|
125
|
+
<i>
|
|
126
|
+
all elderly and all handicapped (Wzd), all criminals (Wfz) and all psychiatric patients (WvGGZ)
|
|
127
|
+
</i>
|
|
128
|
+
</center>
|
|
129
|
+
<center>
|
|
130
|
+
<i>
|
|
131
|
+
here in the Netherlands.
|
|
132
|
+
</i>
|
|
133
|
+
</center>
|
|
117
134
|
'''
|
|
118
135
|
|
|
119
136
|
rst_epilog = '''.. raw:: html
|
|
120
137
|
|
|
121
|
-
<br>
|
|
122
|
-
<br>
|
|
123
138
|
<br>
|
|
124
139
|
<center>
|
|
125
140
|
<b>
|
|
126
141
|
|
|
127
|
-
:ref:`about <about>` - :ref:`
|
|
128
|
-
|
|
142
|
+
:ref:`about <about>` - :ref:`evidence <evidence>` - :ref:`guilty <guilty>` - :ref:`writings <writings>` - :ref:`reconsider <reconsider>`
|
|
129
143
|
|
|
130
144
|
.. raw:: html
|
|
131
145
|
|
|
132
146
|
</b>
|
|
133
147
|
</center>
|
|
134
|
-
|
|
135
148
|
'''
|
|
136
149
|
|
|
137
150
|
autosummary_generate = True
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
|
|
6
6
|
<br>
|
|
7
7
|
|
|
8
|
-
|
|
9
8
|
.. title:: Reconsider
|
|
10
9
|
|
|
11
10
|
|
|
@@ -13,15 +12,16 @@
|
|
|
13
12
|
| **Office of the Prosecutor**
|
|
14
13
|
| **Post Office Box 19519**
|
|
15
14
|
| **2500 CM The Hague**
|
|
16
|
-
| **The Netherlands**
|
|
15
|
+
| **The Netherlands**
|
|
17
16
|
|
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
|
|
19
|
+
Hello Office of the Prosecutor,
|
|
20
20
|
|
|
21
21
|
i write you in the context of communications and claims under art.15 of
|
|
22
22
|
the Rome Statute. i want to inform the prosecutor that the king of the
|
|
23
23
|
netherlands and his government are commiting 3 of the 5 crimes defined
|
|
24
|
-
in the Rome Statute.
|
|
24
|
+
in the Rome Statute.
|
|
25
25
|
|
|
26
26
|
The dutch government has introduced three new forced care laws, the Wfz
|
|
27
27
|
(wet forensische zorg) for criminals, the WvGGZ (Wet verplichte GGZ) for
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
.. _manual:
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
.. raw:: html
|
|
5
4
|
|
|
6
5
|
<br>
|
|
@@ -8,9 +7,14 @@
|
|
|
8
7
|
.. title:: Manual
|
|
9
8
|
|
|
10
9
|
|
|
10
|
+
.. raw:: html
|
|
11
|
+
|
|
12
|
+
<center><b>MANUAL</b></center>
|
|
13
|
+
<br>
|
|
14
|
+
|
|
11
15
|
**NAME**
|
|
12
16
|
|
|
13
|
-
|
|
17
|
+
``GENOCIDE`` -- @KarimKhanQC reconsider OTP-CR-117/19
|
|
14
18
|
|
|
15
19
|
|
|
16
20
|
**INSTALL**
|
|
@@ -19,19 +23,21 @@
|
|
|
19
23
|
::
|
|
20
24
|
|
|
21
25
|
$ pipx install genocide
|
|
26
|
+
$ pipx ensurepath
|
|
22
27
|
|
|
23
28
|
|
|
24
29
|
**SYNOPSIS**
|
|
25
30
|
|
|
26
31
|
::
|
|
27
32
|
|
|
28
|
-
genocide
|
|
29
|
-
genocide
|
|
33
|
+
genocide <cmd> [key=val] [key==val]
|
|
34
|
+
genocide [-a] [-c] [-v]
|
|
35
|
+
genocided [-v]
|
|
30
36
|
|
|
31
37
|
|
|
32
38
|
**DESCRIPTION**
|
|
33
39
|
|
|
34
|
-
|
|
40
|
+
``GENOCIDE`` holds evidence that king
|
|
35
41
|
netherlands is doing a genocide, a
|
|
36
42
|
written response where king
|
|
37
43
|
netherlands confirmed taking note
|
|
@@ -43,19 +49,18 @@
|
|
|
43
49
|
physical (contracted muscles) and
|
|
44
50
|
mental (make people hallucinate)
|
|
45
51
|
torture and kills members of the
|
|
46
|
-
victim groups
|
|
52
|
+
victim groups :ref:`. <source>`
|
|
47
53
|
|
|
48
|
-
|
|
49
|
-
with the International Criminal
|
|
50
|
-
asking for arrest of the king of
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
treatement laws.
|
|
54
|
+
``GENOCIDE`` contains :ref:`correspondence
|
|
55
|
+
<writings>` with the International Criminal
|
|
56
|
+
Court, asking for arrest of the king of the
|
|
57
|
+
netherlands, for the genocide he is committing
|
|
58
|
+
with his new treatement laws.
|
|
54
59
|
|
|
55
|
-
Current status is "no basis to proceed"
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
have the king actually arrested.
|
|
60
|
+
Current status is a :ref:`"no basis to proceed"
|
|
61
|
+
<writings>` judgement of the prosecutor which
|
|
62
|
+
requires a :ref:`"basis to prosecute" <reconsider>`
|
|
63
|
+
to have the king actually arrested.
|
|
59
64
|
|
|
60
65
|
|
|
61
66
|
**USAGE**
|
|
@@ -72,7 +77,7 @@
|
|
|
72
77
|
::
|
|
73
78
|
|
|
74
79
|
$ genocide cmd
|
|
75
|
-
|
|
80
|
+
cmd,dne,err,log,mod,req,tdo,thr,tmr
|
|
76
81
|
|
|
77
82
|
|
|
78
83
|
start a console
|
|
@@ -87,14 +92,14 @@
|
|
|
87
92
|
::
|
|
88
93
|
|
|
89
94
|
$ genocide -cv
|
|
90
|
-
|
|
95
|
+
May 12 05:51:49 2024 GENOCIDE CV CMD,ERR,LOG,MOD,REQ,TDO,THR,TMR
|
|
91
96
|
>
|
|
92
97
|
|
|
93
98
|
start daemon
|
|
94
99
|
|
|
95
100
|
::
|
|
96
101
|
|
|
97
|
-
$
|
|
102
|
+
$ genocided
|
|
98
103
|
$
|
|
99
104
|
|
|
100
105
|
|
|
@@ -109,13 +114,6 @@
|
|
|
109
114
|
2500 CM The Hague
|
|
110
115
|
The Netherlands
|
|
111
116
|
|
|
112
|
-
show how many died in the WvGGZ
|
|
113
|
-
|
|
114
|
-
::
|
|
115
|
-
|
|
116
|
-
$ genocide now
|
|
117
|
-
4y18d patient #47324 died from mental illness (14/32/11682) every 44m59s
|
|
118
|
-
|
|
119
117
|
|
|
120
118
|
**CONFIGURATION**
|
|
121
119
|
|
|
@@ -159,7 +157,7 @@
|
|
|
159
157
|
|
|
160
158
|
**SYSTEMD**
|
|
161
159
|
|
|
162
|
-
save the following it in /etc/
|
|
160
|
+
save the following it in /etc/systemd/system/genocide.service
|
|
163
161
|
and replace "<user>" with the user running pipx
|
|
164
162
|
|
|
165
163
|
::
|
|
@@ -174,7 +172,7 @@
|
|
|
174
172
|
User=<user>
|
|
175
173
|
Group=<user>
|
|
176
174
|
WorkingDirectory=/home/<user>/.genocide
|
|
177
|
-
ExecStart=/home/<user>/.local/pipx/venvs/genocide/bin/
|
|
175
|
+
ExecStart=/home/<user>/.local/pipx/venvs/genocide/bin/genocided
|
|
178
176
|
RemainAfterExit=yes
|
|
179
177
|
|
|
180
178
|
[Install]
|
|
@@ -191,12 +189,18 @@
|
|
|
191
189
|
default channel/server is #genocide on localhost
|
|
192
190
|
|
|
193
191
|
|
|
192
|
+
**SOURCE**
|
|
193
|
+
|
|
194
|
+
source is :ref:`here <source>`
|
|
195
|
+
|
|
196
|
+
|
|
194
197
|
**FILES**
|
|
195
198
|
|
|
196
199
|
::
|
|
197
200
|
|
|
198
201
|
~/.genocide
|
|
199
202
|
~/.local/bin/genocide
|
|
203
|
+
~/.local/bin/genocided
|
|
200
204
|
~/.local/pipx/venvs/genocide/
|
|
201
205
|
|
|
202
206
|
|
|
Binary file
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
.. _source:
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
.. raw:: html
|
|
5
|
+
|
|
6
|
+
</center>
|
|
7
|
+
<br>
|
|
8
|
+
|
|
9
|
+
.. title:: Source
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
.. raw:: html
|
|
13
|
+
|
|
14
|
+
<center><b>SOURCE</b></center>
|
|
15
|
+
<br>
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
**GENOCIDE**
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
.. autosummary::
|
|
22
|
+
:toctree:
|
|
23
|
+
:template: base.rst
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
genocide.broker list of bots
|
|
27
|
+
genocide.client clients
|
|
28
|
+
genocide.disk storage
|
|
29
|
+
genocide.find locate
|
|
30
|
+
genocide.handler event handler
|
|
31
|
+
genocide.log logging
|
|
32
|
+
genocide.object clean namespace
|
|
33
|
+
genocide.run runtime
|
|
34
|
+
genocide.thread threads
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
**MODULES**
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
.. autosummary::
|
|
41
|
+
:toctree:
|
|
42
|
+
:template: base.rst
|
|
43
|
+
|
|
44
|
+
genocide.modules.cmd list of commands
|
|
45
|
+
genocide.modules.err show errors
|
|
46
|
+
genocide.modules.irc internet realy chat
|
|
47
|
+
genocide.modules.log log text
|
|
48
|
+
genocide.modules.mod list of modules
|
|
49
|
+
genocide.modules.req request
|
|
50
|
+
genocide.modules.rss rich site syndicate
|
|
51
|
+
genocide.modules.tdo todo items
|
|
52
|
+
genocide.modules.thr list of threads
|
|
53
|
+
genocide.modules.tmr timers
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# This file is placed in the Public Domain.
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
"broker"
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
from .object import Object, keys
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
rpr = object.__repr__
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Broker:
|
|
14
|
+
|
|
15
|
+
"Broker"
|
|
16
|
+
|
|
17
|
+
def __init__(self):
|
|
18
|
+
self.objs = Object()
|
|
19
|
+
|
|
20
|
+
def add(self, obj):
|
|
21
|
+
"add an object to the broker."
|
|
22
|
+
setattr(self.objs, rpr(obj), obj)
|
|
23
|
+
|
|
24
|
+
def first(self):
|
|
25
|
+
"return first object."
|
|
26
|
+
for key in keys(self.objs):
|
|
27
|
+
return getattr(self.objs, key)
|
|
28
|
+
|
|
29
|
+
def get(self, orig):
|
|
30
|
+
"return object by origin (repr)"
|
|
31
|
+
return getattr(self.objs, orig, None)
|
|
32
|
+
|
|
33
|
+
def remove(self, obj):
|
|
34
|
+
"remove object from broker"
|
|
35
|
+
delattr(self.objs, rpr(obj))
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def __dir__():
|
|
39
|
+
return (
|
|
40
|
+
'Broker',
|
|
41
|
+
)
|