postoffice

This commit is contained in:
jkoci 2023-07-01 23:19:37 +02:00
commit 36573fe5a9
5 changed files with 670 additions and 0 deletions

31
postoffice/LICENSE Normal file
View File

@ -0,0 +1,31 @@
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others.
For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following:
the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work;
moral rights retained by the original author(s) and/or performer(s);
publicity and privacy rights pertaining to a person's image or likeness depicted in a Work;
rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below;
rights protecting the extraction, dissemination, use and reuse of data in a Work;
database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and
other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose.
4. Limitations and Disclaimers.
No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document.
Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law.
Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work.
Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work.

19
postoffice/README Normal file
View File

@ -0,0 +1,19 @@
This folder deals with visualization of Haven's Post Office mailbox allocation.
Input: data.csv read from cwd. Expected format: x,y,z,owner (no header)
Output: YL-postoffice.png in user's home.
Improve:
- labels should not overlap, arrows should point to mailboxes whereever annotation is out of mailbox bounds
- walls should be displayed, as well as entrance orientation
- fiddle with grid options
- commandify/wheelify script
Requirements:
- recent enough python (author used 3.10x64)
- matplotlib per requirements.txt
License:
- included code CC-0
- matplotlib Copyright (c) 2012- Matplotlib Development Team; All Rights Reserved

528
postoffice/data.csv Normal file
View File

@ -0,0 +1,528 @@
1966,15,1084,Oakenshield
1966,13,1084,Moonhigh
1966,15,1066,ElusiveAstropath
1966,13,1066,
1966,13,1067,
1966,15,1067,
1966,13,1068,
1966,15,1068,
1966,13,1069,
1966,15,1069,
1966,13,1070,
1966,15,1070,
1966,13,1071,
1966,15,1071,
1966,13,1072,
1966,15,1072,
1966,13,1073,
1966,15,1073,
1966,13,1074,
1966,15,1074,
1966,13,1075,
1966,15,1075,
1966,13,1076,
1966,15,1076,
1966,13,1077,
1966,15,1077,
1966,13,1078,
1966,15,1078,
1966,13,1079,
1966,15,1079,
1966,13,1080,
1966,15,1080,
1966,13,1081,
1966,15,1081,
1966,13,1082,
1966,15,1082,
1966,13,1083,
1966,15,1083,
1967,13,1098,yo_hi
1967,15,1091,Shadow
1967,15,1092,Scathach
1967,15,1096,sad_girl
1967,15,1093,popefox
1967,15,1101,player_21
1967,13,1092,Parrish
1967,13,1091,niceride
1967,15,1095,Minetest13
1967,15,1104,Mesprit
1967,13,1116,Laurii
1967,15,1103,icecreamkek
1967,13,1094,Ganyu
1967,13,1103,evil123
1967,15,1094,everyonehowl
1967,15,1090,Dirac
1967,15,1100,DanteLives
1967,13,1096,CH2008
1967,13,1104,bizon
1967,13,1093,answer2
1967,13,1100,Aniana
1967,13,1102,Andrew_5yrs_old
1967,13,1101,Alinia
1967,13,1099,afonsan
1967,13,1095,Aero
1967,13,1090,9T9
1967,15,1098,
1967,15,1099,
1967,15,1102,
1967,13,1106,
1967,15,1106,
1967,13,1107,
1967,15,1107,
1967,13,1108,
1967,15,1108,
1967,13,1109,
1967,15,1109,
1967,13,1110,
1967,15,1110,
1967,13,1111,
1967,15,1111,
1967,13,1112,
1967,15,1112,
1967,13,1113,
1967,15,1113,
1967,13,1114,
1967,15,1114,
1967,13,1115,
1967,15,1115,
1967,15,1116,
1968,15,1065,STEALTH
1968,13,1065,
1968,13,1118,
1968,15,1118,
1969,13,1118,jaconer
1969,13,1065,
1969,15,1065,
1969,15,1118,
1970,13,1074,Lucien
1970,13,1065,
1970,15,1065,
1970,13,1069,
1970,15,1069,
1970,13,1070,
1970,15,1070,
1970,13,1071,
1970,15,1071,
1970,13,1073,
1970,15,1073,
1970,15,1074,
1970,13,1075,
1970,15,1075,
1970,13,1077,
1970,15,1077,
1970,13,1078,
1970,15,1078,
1970,13,1079,
1970,15,1079,
1970,13,1081,
1970,15,1081,
1970,13,1082,
1970,15,1082,
1970,13,1083,
1970,15,1083,
1970,13,1118,
1970,15,1118,
1971,13,1088,tour
1971,13,1107,jackofthebean000
1971,15,1088,Galaxyys
1971,13,1103,Buzz
1971,15,1103,Bla
1971,13,1065,
1971,15,1065,
1971,15,1107,
1971,13,1112,
1971,15,1112,
1971,13,1118,
1971,15,1118,
1972,15,1088,Sybil
1972,13,1088,Sokomine
1972,15,1103,NotWater
1972,13,1103,Aliza
1972,13,1065,
1972,15,1065,
1972,13,1107,
1972,15,1107,
1972,13,1112,
1972,15,1112,
1972,13,1118,
1972,15,1118,
1973,15,1118,Xonon
1973,13,1103,Sysmatic
1973,15,1088,popefox20
1973,13,1107,nirmaym
1973,13,1088,BTS-
1973,15,1103,AleOk
1973,13,1065,
1973,15,1065,
1973,15,1107,
1973,13,1112,
1973,15,1112,
1973,13,1118,
1974,15,1112,upie
1974,13,1088,MineWorlds
1974,15,1103,michi16bit
1974,15,1088,JeCel
1974,13,1082,bobojoe
1974,13,1083,BenOnly
1974,13,1103,arual
1974,13,1095,##STAIRS##
1974,15,1095,##STAIRS##
1974,13,1069,
1974,15,1069,
1974,13,1070,
1974,15,1070,
1974,13,1071,
1974,15,1071,
1974,13,1073,
1974,15,1073,
1974,13,1074,
1974,15,1074,
1974,13,1075,
1974,15,1075,
1974,13,1077,
1974,15,1077,
1974,13,1078,
1974,15,1078,
1974,13,1079,
1974,15,1079,
1974,13,1081,
1974,15,1081,
1974,15,1082,
1974,15,1083,
1974,13,1107,
1974,15,1107,
1974,13,1112,
1974,13,1118,
1974,15,1118,
1975,15,1103,Sugar0
1975,13,1103,mr_block
1975,13,1088,Ernle1
1975,15,1088,Emempire
1975,15,1112,darealbang
1975,13,1065,
1975,15,1065,
1975,13,1107,
1975,15,1107,
1975,13,1112,
1975,13,1118,
1975,15,1118,
1976,15,1088,Murmel
1976,13,1103,mr_node
1976,13,1088,Laylem
1976,13,1107,HorusDamocles
1976,13,1065,
1976,15,1065,
1976,15,1103,
1976,15,1107,
1976,13,1112,
1976,15,1112,
1976,13,1118,
1976,15,1118,
1977,13,1103,XiuBloom
1977,15,1103,HawaiiBunny
1977,13,1088,drgn
1977,15,1088,Azelf
1977,13,1107,Apocralypse
1977,13,1095,##STAIRS##
1977,15,1095,##STAIRS##
1977,13,1065,
1977,15,1065,
1977,15,1107,
1977,13,1112,
1977,15,1112,
1977,13,1118,
1977,15,1118,
1978,13,1065,
1978,15,1065,
1979,13,1081,the_chosen_one
1979,13,1082,ente202
1979,15,1069,Ecklair
1979,13,1083,bhunji
1979,13,1065,
1979,15,1065,
1979,13,1069,
1979,13,1070,
1979,15,1070,
1979,13,1071,
1979,15,1071,
1979,13,1073,
1979,15,1073,
1979,13,1074,
1979,15,1074,
1979,13,1075,
1979,15,1075,
1979,13,1077,
1979,15,1077,
1979,13,1078,
1979,15,1078,
1979,13,1079,
1979,15,1079,
1979,15,1081,
1979,15,1082,
1979,15,1083,
1979,13,1118,
1979,15,1118,
1980,13,1065,
1980,15,1065,
1980,13,1118,
1980,15,1118,
1981,13,1065,
1981,15,1065,
1981,13,1118,
1981,15,1118,
1982,13,1065,
1982,15,1065,
1982,13,1118,
1982,15,1118,
1983,13,1112,Syslog
1983,13,1103,solarcold
1983,13,1107,Mario84
1983,13,1088,Ente
1983,15,1107,Elias
1983,15,1088,Dragonite
1983,15,1103,Diaeresis
1983,13,1065,
1983,15,1065,
1983,15,1112,
1983,13,1118,
1983,15,1118,
1984,13,1107,spraizen
1984,13,1075,rewired_X
1984,13,1079,phillzed
1984,15,1088,ourland
1984,15,1103,Maumau
1984,15,1082,Giuseppe
1984,13,1082,elvino
1984,13,1083,Draedon07
1984,15,1083,dark-knight
1984,13,1081,brylie
1984,13,1088,betzi
1984,13,1103,amalya1
1984,13,1069,
1984,15,1069,
1984,13,1070,
1984,15,1070,
1984,13,1071,
1984,15,1071,
1984,13,1073,
1984,15,1073,
1984,13,1074,
1984,15,1074,
1984,15,1075,
1984,13,1077,
1984,15,1077,
1984,13,1078,
1984,15,1078,
1984,15,1079,
1984,15,1081,
1984,15,1107,
1984,13,1112,
1984,15,1112,
1984,13,1118,
1984,15,1118,
1985,13,1095,rheo
1985,13,1088,Player699
1985,13,1112,Kalek
1985,13,1094,Ineva
1985,15,1088,Dug
1985,13,1097,daydream
1985,15,1103,clem00
1985,13,1103,annah
1985,13,1098,AliasAlreadyTaken
1985,13,1065,
1985,15,1065,
1985,13,1093,
1985,15,1093,
1985,15,1094,
1985,15,1095,
1985,13,1096,
1985,15,1096,
1985,15,1097,
1985,15,1098,
1985,13,1107,
1985,15,1107,
1985,15,1112,
1985,13,1118,
1985,15,1118,
1986,15,1088,door2
1986,15,1107,DanteLeo
1986,13,1103,BobaCat
1986,13,1088,Anos
1986,13,1065,
1986,15,1065,
1986,15,1103,
1986,13,1107,
1986,13,1112,
1986,15,1112,
1987,15,1103,wordes
1987,15,1088,Ravise
1987,13,1088,Pelz_Omg
1987,13,1065,
1987,15,1065,
1987,13,1103,
1987,13,1107,
1987,15,1107,
1987,13,1112,
1987,15,1112,
1987,13,1118,
1987,15,1118,
1988,15,1088,whosit
1988,13,1088,sixer
1988,13,1065,
1988,15,1065,
1988,13,1103,
1988,15,1103,
1988,13,1107,
1988,15,1107,
1988,13,1112,
1988,15,1112,
1988,13,1118,
1988,15,1118,
1989,15,1088,Transformers
1989,13,1083,Tank4
1989,15,1094,Runy
1989,15,1093,pitman
1989,13,1103,Nodes
1989,15,1097,mrminer
1989,13,1088,MilOOOOO
1989,13,1097,mahou
1989,15,1098,Lupercus
1989,13,1112,johanlegend
1989,13,1095,Freebie
1989,13,1094,Flippster
1989,15,1095,Dovakhiin
1989,13,1098,Chache
1989,13,1093,Boot
1989,13,1096,AriellesWish
1989,13,1065,
1989,15,1065,
1989,13,1069,
1989,15,1069,
1989,13,1070,
1989,15,1070,
1989,13,1071,
1989,15,1071,
1989,13,1073,
1989,15,1073,
1989,13,1074,
1989,15,1074,
1989,13,1075,
1989,15,1075,
1989,13,1077,
1989,15,1077,
1989,13,1078,
1989,15,1078,
1989,13,1079,
1989,15,1079,
1989,13,1081,
1989,15,1081,
1989,13,1082,
1989,15,1082,
1989,15,1083,
1989,15,1096,
1989,15,1103,
1989,13,1107,
1989,15,1107,
1989,15,1112,
1989,13,1118,
1989,15,1118,
1990,13,1065,
1990,15,1065,
1990,13,1118,
1990,15,1118,
1991,13,1065,
1991,15,1065,
1991,13,1118,
1991,15,1118,
1992,13,1118,Julia
1992,15,1118,
1993,13,1089,Rattrap
1993,13,1110,ouo
1993,13,1113,mco
1993,13,1091,legomania
1993,13,1088,LCB
1993,13,1083,GeorgeVonTrabi
1993,15,1088,DragonWrangler1
1993,15,1091,debiankaios
1993,15,1089,Bond007
1993,13,1066,
1993,15,1066,
1993,13,1067,
1993,15,1067,
1993,13,1069,
1993,15,1069,
1993,13,1070,
1993,15,1070,
1993,13,1071,
1993,15,1071,
1993,13,1072,
1993,15,1072,
1993,13,1073,
1993,15,1073,
1993,13,1074,
1993,15,1074,
1993,13,1075,
1993,15,1075,
1993,13,1077,
1993,15,1077,
1993,13,1078,
1993,15,1078,
1993,13,1079,
1993,15,1079,
1993,13,1080,
1993,15,1080,
1993,13,1081,
1993,15,1081,
1993,13,1082,
1993,15,1082,
1993,15,1083,
1993,13,1085,
1993,15,1085,
1993,13,1086,
1993,15,1086,
1993,13,1092,
1993,15,1092,
1993,13,1093,
1993,15,1093,
1993,13,1094,
1993,15,1094,
1993,13,1095,
1993,15,1095,
1993,13,1096,
1993,15,1096,
1993,13,1097,
1993,15,1097,
1993,13,1098,
1993,15,1098,
1993,13,1099,
1993,15,1099,
1993,13,1100,
1993,15,1100,
1993,13,1102,
1993,15,1102,
1993,13,1103,
1993,15,1103,
1993,13,1104,
1993,15,1104,
1993,13,1105,
1993,15,1105,
1993,13,1106,
1993,15,1106,
1993,13,1107,
1993,15,1107,
1993,13,1108,
1993,15,1108,
1993,13,1109,
1993,15,1109,
1993,15,1110,
1993,13,1111,
1993,15,1111,
1993,13,1112,
1993,15,1112,
1993,15,1113,
1993,13,1114,
1993,15,1114,
1993,13,1115,
1993,15,1115,
1993,13,1116,
1993,15,1116,
1 1966 15 1084 Oakenshield
2 1966 13 1084 Moonhigh
3 1966 15 1066 ElusiveAstropath
4 1966 13 1066
5 1966 13 1067
6 1966 15 1067
7 1966 13 1068
8 1966 15 1068
9 1966 13 1069
10 1966 15 1069
11 1966 13 1070
12 1966 15 1070
13 1966 13 1071
14 1966 15 1071
15 1966 13 1072
16 1966 15 1072
17 1966 13 1073
18 1966 15 1073
19 1966 13 1074
20 1966 15 1074
21 1966 13 1075
22 1966 15 1075
23 1966 13 1076
24 1966 15 1076
25 1966 13 1077
26 1966 15 1077
27 1966 13 1078
28 1966 15 1078
29 1966 13 1079
30 1966 15 1079
31 1966 13 1080
32 1966 15 1080
33 1966 13 1081
34 1966 15 1081
35 1966 13 1082
36 1966 15 1082
37 1966 13 1083
38 1966 15 1083
39 1967 13 1098 yo_hi
40 1967 15 1091 Shadow
41 1967 15 1092 Scathach
42 1967 15 1096 sad_girl
43 1967 15 1093 popefox
44 1967 15 1101 player_21
45 1967 13 1092 Parrish
46 1967 13 1091 niceride
47 1967 15 1095 Minetest13
48 1967 15 1104 Mesprit
49 1967 13 1116 Laurii
50 1967 15 1103 icecreamkek
51 1967 13 1094 Ganyu
52 1967 13 1103 evil123
53 1967 15 1094 everyonehowl
54 1967 15 1090 Dirac
55 1967 15 1100 DanteLives
56 1967 13 1096 CH2008
57 1967 13 1104 bizon
58 1967 13 1093 answer2
59 1967 13 1100 Aniana
60 1967 13 1102 Andrew_5yrs_old
61 1967 13 1101 Alinia
62 1967 13 1099 afonsan
63 1967 13 1095 Aero
64 1967 13 1090 9T9
65 1967 15 1098
66 1967 15 1099
67 1967 15 1102
68 1967 13 1106
69 1967 15 1106
70 1967 13 1107
71 1967 15 1107
72 1967 13 1108
73 1967 15 1108
74 1967 13 1109
75 1967 15 1109
76 1967 13 1110
77 1967 15 1110
78 1967 13 1111
79 1967 15 1111
80 1967 13 1112
81 1967 15 1112
82 1967 13 1113
83 1967 15 1113
84 1967 13 1114
85 1967 15 1114
86 1967 13 1115
87 1967 15 1115
88 1967 15 1116
89 1968 15 1065 STEALTH
90 1968 13 1065
91 1968 13 1118
92 1968 15 1118
93 1969 13 1118 jaconer
94 1969 13 1065
95 1969 15 1065
96 1969 15 1118
97 1970 13 1074 Lucien
98 1970 13 1065
99 1970 15 1065
100 1970 13 1069
101 1970 15 1069
102 1970 13 1070
103 1970 15 1070
104 1970 13 1071
105 1970 15 1071
106 1970 13 1073
107 1970 15 1073
108 1970 15 1074
109 1970 13 1075
110 1970 15 1075
111 1970 13 1077
112 1970 15 1077
113 1970 13 1078
114 1970 15 1078
115 1970 13 1079
116 1970 15 1079
117 1970 13 1081
118 1970 15 1081
119 1970 13 1082
120 1970 15 1082
121 1970 13 1083
122 1970 15 1083
123 1970 13 1118
124 1970 15 1118
125 1971 13 1088 tour
126 1971 13 1107 jackofthebean000
127 1971 15 1088 Galaxyys
128 1971 13 1103 Buzz
129 1971 15 1103 Bla
130 1971 13 1065
131 1971 15 1065
132 1971 15 1107
133 1971 13 1112
134 1971 15 1112
135 1971 13 1118
136 1971 15 1118
137 1972 15 1088 Sybil
138 1972 13 1088 Sokomine
139 1972 15 1103 NotWater
140 1972 13 1103 Aliza
141 1972 13 1065
142 1972 15 1065
143 1972 13 1107
144 1972 15 1107
145 1972 13 1112
146 1972 15 1112
147 1972 13 1118
148 1972 15 1118
149 1973 15 1118 Xonon
150 1973 13 1103 Sysmatic
151 1973 15 1088 popefox20
152 1973 13 1107 nirmaym
153 1973 13 1088 BTS-
154 1973 15 1103 AleOk
155 1973 13 1065
156 1973 15 1065
157 1973 15 1107
158 1973 13 1112
159 1973 15 1112
160 1973 13 1118
161 1974 15 1112 upie
162 1974 13 1088 MineWorlds
163 1974 15 1103 michi16bit
164 1974 15 1088 JeCel
165 1974 13 1082 bobojoe
166 1974 13 1083 BenOnly
167 1974 13 1103 arual
168 1974 13 1095 ##STAIRS##
169 1974 15 1095 ##STAIRS##
170 1974 13 1069
171 1974 15 1069
172 1974 13 1070
173 1974 15 1070
174 1974 13 1071
175 1974 15 1071
176 1974 13 1073
177 1974 15 1073
178 1974 13 1074
179 1974 15 1074
180 1974 13 1075
181 1974 15 1075
182 1974 13 1077
183 1974 15 1077
184 1974 13 1078
185 1974 15 1078
186 1974 13 1079
187 1974 15 1079
188 1974 13 1081
189 1974 15 1081
190 1974 15 1082
191 1974 15 1083
192 1974 13 1107
193 1974 15 1107
194 1974 13 1112
195 1974 13 1118
196 1974 15 1118
197 1975 15 1103 Sugar0
198 1975 13 1103 mr_block
199 1975 13 1088 Ernle1
200 1975 15 1088 Emempire
201 1975 15 1112 darealbang
202 1975 13 1065
203 1975 15 1065
204 1975 13 1107
205 1975 15 1107
206 1975 13 1112
207 1975 13 1118
208 1975 15 1118
209 1976 15 1088 Murmel
210 1976 13 1103 mr_node
211 1976 13 1088 Laylem
212 1976 13 1107 HorusDamocles
213 1976 13 1065
214 1976 15 1065
215 1976 15 1103
216 1976 15 1107
217 1976 13 1112
218 1976 15 1112
219 1976 13 1118
220 1976 15 1118
221 1977 13 1103 XiuBloom
222 1977 15 1103 HawaiiBunny
223 1977 13 1088 drgn
224 1977 15 1088 Azelf
225 1977 13 1107 Apocralypse
226 1977 13 1095 ##STAIRS##
227 1977 15 1095 ##STAIRS##
228 1977 13 1065
229 1977 15 1065
230 1977 15 1107
231 1977 13 1112
232 1977 15 1112
233 1977 13 1118
234 1977 15 1118
235 1978 13 1065
236 1978 15 1065
237 1979 13 1081 the_chosen_one
238 1979 13 1082 ente202
239 1979 15 1069 Ecklair
240 1979 13 1083 bhunji
241 1979 13 1065
242 1979 15 1065
243 1979 13 1069
244 1979 13 1070
245 1979 15 1070
246 1979 13 1071
247 1979 15 1071
248 1979 13 1073
249 1979 15 1073
250 1979 13 1074
251 1979 15 1074
252 1979 13 1075
253 1979 15 1075
254 1979 13 1077
255 1979 15 1077
256 1979 13 1078
257 1979 15 1078
258 1979 13 1079
259 1979 15 1079
260 1979 15 1081
261 1979 15 1082
262 1979 15 1083
263 1979 13 1118
264 1979 15 1118
265 1980 13 1065
266 1980 15 1065
267 1980 13 1118
268 1980 15 1118
269 1981 13 1065
270 1981 15 1065
271 1981 13 1118
272 1981 15 1118
273 1982 13 1065
274 1982 15 1065
275 1982 13 1118
276 1982 15 1118
277 1983 13 1112 Syslog
278 1983 13 1103 solarcold
279 1983 13 1107 Mario84
280 1983 13 1088 Ente
281 1983 15 1107 Elias
282 1983 15 1088 Dragonite
283 1983 15 1103 Diaeresis
284 1983 13 1065
285 1983 15 1065
286 1983 15 1112
287 1983 13 1118
288 1983 15 1118
289 1984 13 1107 spraizen
290 1984 13 1075 rewired_X
291 1984 13 1079 phillzed
292 1984 15 1088 ourland
293 1984 15 1103 Maumau
294 1984 15 1082 Giuseppe
295 1984 13 1082 elvino
296 1984 13 1083 Draedon07
297 1984 15 1083 dark-knight
298 1984 13 1081 brylie
299 1984 13 1088 betzi
300 1984 13 1103 amalya1
301 1984 13 1069
302 1984 15 1069
303 1984 13 1070
304 1984 15 1070
305 1984 13 1071
306 1984 15 1071
307 1984 13 1073
308 1984 15 1073
309 1984 13 1074
310 1984 15 1074
311 1984 15 1075
312 1984 13 1077
313 1984 15 1077
314 1984 13 1078
315 1984 15 1078
316 1984 15 1079
317 1984 15 1081
318 1984 15 1107
319 1984 13 1112
320 1984 15 1112
321 1984 13 1118
322 1984 15 1118
323 1985 13 1095 rheo
324 1985 13 1088 Player699
325 1985 13 1112 Kalek
326 1985 13 1094 Ineva
327 1985 15 1088 Dug
328 1985 13 1097 daydream
329 1985 15 1103 clem00
330 1985 13 1103 annah
331 1985 13 1098 AliasAlreadyTaken
332 1985 13 1065
333 1985 15 1065
334 1985 13 1093
335 1985 15 1093
336 1985 15 1094
337 1985 15 1095
338 1985 13 1096
339 1985 15 1096
340 1985 15 1097
341 1985 15 1098
342 1985 13 1107
343 1985 15 1107
344 1985 15 1112
345 1985 13 1118
346 1985 15 1118
347 1986 15 1088 door2
348 1986 15 1107 DanteLeo
349 1986 13 1103 BobaCat
350 1986 13 1088 Anos
351 1986 13 1065
352 1986 15 1065
353 1986 15 1103
354 1986 13 1107
355 1986 13 1112
356 1986 15 1112
357 1987 15 1103 wordes
358 1987 15 1088 Ravise
359 1987 13 1088 Pelz_Omg
360 1987 13 1065
361 1987 15 1065
362 1987 13 1103
363 1987 13 1107
364 1987 15 1107
365 1987 13 1112
366 1987 15 1112
367 1987 13 1118
368 1987 15 1118
369 1988 15 1088 whosit
370 1988 13 1088 sixer
371 1988 13 1065
372 1988 15 1065
373 1988 13 1103
374 1988 15 1103
375 1988 13 1107
376 1988 15 1107
377 1988 13 1112
378 1988 15 1112
379 1988 13 1118
380 1988 15 1118
381 1989 15 1088 Transformers
382 1989 13 1083 Tank4
383 1989 15 1094 Runy
384 1989 15 1093 pitman
385 1989 13 1103 Nodes
386 1989 15 1097 mrminer
387 1989 13 1088 MilOOOOO
388 1989 13 1097 mahou
389 1989 15 1098 Lupercus
390 1989 13 1112 johanlegend
391 1989 13 1095 Freebie
392 1989 13 1094 Flippster
393 1989 15 1095 Dovakhiin
394 1989 13 1098 Chache
395 1989 13 1093 Boot
396 1989 13 1096 AriellesWish
397 1989 13 1065
398 1989 15 1065
399 1989 13 1069
400 1989 15 1069
401 1989 13 1070
402 1989 15 1070
403 1989 13 1071
404 1989 15 1071
405 1989 13 1073
406 1989 15 1073
407 1989 13 1074
408 1989 15 1074
409 1989 13 1075
410 1989 15 1075
411 1989 13 1077
412 1989 15 1077
413 1989 13 1078
414 1989 15 1078
415 1989 13 1079
416 1989 15 1079
417 1989 13 1081
418 1989 15 1081
419 1989 13 1082
420 1989 15 1082
421 1989 15 1083
422 1989 15 1096
423 1989 15 1103
424 1989 13 1107
425 1989 15 1107
426 1989 15 1112
427 1989 13 1118
428 1989 15 1118
429 1990 13 1065
430 1990 15 1065
431 1990 13 1118
432 1990 15 1118
433 1991 13 1065
434 1991 15 1065
435 1991 13 1118
436 1991 15 1118
437 1992 13 1118 Julia
438 1992 15 1118
439 1993 13 1089 Rattrap
440 1993 13 1110 ouo
441 1993 13 1113 mco
442 1993 13 1091 legomania
443 1993 13 1088 LCB
444 1993 13 1083 GeorgeVonTrabi
445 1993 15 1088 DragonWrangler1
446 1993 15 1091 debiankaios
447 1993 15 1089 Bond007
448 1993 13 1066
449 1993 15 1066
450 1993 13 1067
451 1993 15 1067
452 1993 13 1069
453 1993 15 1069
454 1993 13 1070
455 1993 15 1070
456 1993 13 1071
457 1993 15 1071
458 1993 13 1072
459 1993 15 1072
460 1993 13 1073
461 1993 15 1073
462 1993 13 1074
463 1993 15 1074
464 1993 13 1075
465 1993 15 1075
466 1993 13 1077
467 1993 15 1077
468 1993 13 1078
469 1993 15 1078
470 1993 13 1079
471 1993 15 1079
472 1993 13 1080
473 1993 15 1080
474 1993 13 1081
475 1993 15 1081
476 1993 13 1082
477 1993 15 1082
478 1993 15 1083
479 1993 13 1085
480 1993 15 1085
481 1993 13 1086
482 1993 15 1086
483 1993 13 1092
484 1993 15 1092
485 1993 13 1093
486 1993 15 1093
487 1993 13 1094
488 1993 15 1094
489 1993 13 1095
490 1993 15 1095
491 1993 13 1096
492 1993 15 1096
493 1993 13 1097
494 1993 15 1097
495 1993 13 1098
496 1993 15 1098
497 1993 13 1099
498 1993 15 1099
499 1993 13 1100
500 1993 15 1100
501 1993 13 1102
502 1993 15 1102
503 1993 13 1103
504 1993 15 1103
505 1993 13 1104
506 1993 15 1104
507 1993 13 1105
508 1993 15 1105
509 1993 13 1106
510 1993 15 1106
511 1993 13 1107
512 1993 15 1107
513 1993 13 1108
514 1993 15 1108
515 1993 13 1109
516 1993 15 1109
517 1993 15 1110
518 1993 13 1111
519 1993 15 1111
520 1993 13 1112
521 1993 15 1112
522 1993 15 1113
523 1993 13 1114
524 1993 15 1114
525 1993 13 1115
526 1993 15 1115
527 1993 13 1116
528 1993 15 1116

91
postoffice/post-office.py Normal file
View File

@ -0,0 +1,91 @@
import csv
import dataclasses
import datetime
import pathlib
from matplotlib import patches
from matplotlib import pyplot as plt
LOW = 13
HIGH = 15
@dataclasses.dataclass
class Postbox:
owner: str
x: int
y: int
z: int
postboxes = []
texts = []
with open("data.csv", "rt", newline="") as fr:
for line in csv.reader(fr):
x, y, z, owner = line
postboxes.append(Postbox(owner, int(x), int(y), int(z)))
fig: plt.Figure
ax: plt.Axes
fig, ax = plt.subplots(1, 1)
minx, maxx = float("inf"), -float("inf")
minz, maxz = float("inf"), -float("inf")
legend = {}
for box in postboxes:
if "#" in box.owner:
continue
color = "green"
label = "Available"
if box.owner:
color = "red"
label = "Occupied"
offset = 0
if box.y == HIGH:
offset = 0.5
minx, maxx = min(minx, box.x), max(maxx, box.x)
minz, maxz = min(minz, box.z), max(maxz, box.z)
legend[bool(box.owner)] = ax.add_patch(
patches.Rectangle(
(box.x, box.z + offset), 1, 0.5, fill=True, color=color, label=label
)
)
if box.owner:
texts.append(
ax.annotate(
box.owner,
(box.x + 0.5, box.z + offset + 0.25),
color="black",
ha="center",
va="center",
fontvariant="small-caps",
fontsize="small",
)
)
ax.legend()
plt.grid(True)
minx, minz = minx - 1, minz - 1
maxx, maxz = maxx + 2, maxz + 2 # 1 from offset, 1 from rectangle width
ax.set_xlim(minx, maxx)
ax.set_ylim(minz, maxz)
ax.set_aspect(0.25)
ax.set_title("Haven Post Office\n" + str(datetime.date.today()))
plt.legend = ax.legend(handles=legend.values())
fig.set_size_inches((22, 10))
fig.savefig(pathlib.Path.home() / "YL-postoffice.png", dpi=144)
plt.show()

View File

@ -0,0 +1 @@
matplotlib~=3.7.1