aprsd 1.0.0__py3-none-any.whl → 3.4.1__py3-none-any.whl

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.
Files changed (141) hide show
  1. aprsd/__init__.py +6 -4
  2. aprsd/cli_helper.py +151 -0
  3. aprsd/client/__init__.py +13 -0
  4. aprsd/client/aprsis.py +132 -0
  5. aprsd/client/base.py +105 -0
  6. aprsd/client/drivers/__init__.py +0 -0
  7. aprsd/client/drivers/aprsis.py +224 -0
  8. aprsd/client/drivers/fake.py +73 -0
  9. aprsd/client/drivers/kiss.py +119 -0
  10. aprsd/client/factory.py +88 -0
  11. aprsd/client/fake.py +48 -0
  12. aprsd/client/kiss.py +103 -0
  13. aprsd/client/stats.py +38 -0
  14. aprsd/cmds/__init__.py +0 -0
  15. aprsd/cmds/completion.py +22 -0
  16. aprsd/cmds/dev.py +162 -0
  17. aprsd/cmds/fetch_stats.py +156 -0
  18. aprsd/cmds/healthcheck.py +86 -0
  19. aprsd/cmds/list_plugins.py +319 -0
  20. aprsd/cmds/listen.py +230 -0
  21. aprsd/cmds/send_message.py +174 -0
  22. aprsd/cmds/server.py +142 -0
  23. aprsd/cmds/webchat.py +681 -0
  24. aprsd/conf/__init__.py +56 -0
  25. aprsd/conf/client.py +131 -0
  26. aprsd/conf/common.py +302 -0
  27. aprsd/conf/log.py +65 -0
  28. aprsd/conf/opts.py +80 -0
  29. aprsd/conf/plugin_common.py +191 -0
  30. aprsd/conf/plugin_email.py +105 -0
  31. aprsd/exception.py +13 -0
  32. aprsd/log/__init__.py +0 -0
  33. aprsd/log/log.py +138 -0
  34. aprsd/main.py +104 -867
  35. aprsd/messaging.py +4 -0
  36. aprsd/packets/__init__.py +12 -0
  37. aprsd/packets/collector.py +56 -0
  38. aprsd/packets/core.py +823 -0
  39. aprsd/packets/log.py +143 -0
  40. aprsd/packets/packet_list.py +116 -0
  41. aprsd/packets/seen_list.py +54 -0
  42. aprsd/packets/tracker.py +109 -0
  43. aprsd/packets/watch_list.py +122 -0
  44. aprsd/plugin.py +475 -284
  45. aprsd/plugin_utils.py +86 -0
  46. aprsd/plugins/__init__.py +0 -0
  47. aprsd/plugins/email.py +709 -0
  48. aprsd/plugins/fortune.py +61 -0
  49. aprsd/plugins/location.py +179 -0
  50. aprsd/plugins/notify.py +61 -0
  51. aprsd/plugins/ping.py +31 -0
  52. aprsd/plugins/time.py +115 -0
  53. aprsd/plugins/version.py +31 -0
  54. aprsd/plugins/weather.py +405 -0
  55. aprsd/stats/__init__.py +20 -0
  56. aprsd/stats/app.py +49 -0
  57. aprsd/stats/collector.py +38 -0
  58. aprsd/threads/__init__.py +11 -0
  59. aprsd/threads/aprsd.py +119 -0
  60. aprsd/threads/keep_alive.py +124 -0
  61. aprsd/threads/log_monitor.py +121 -0
  62. aprsd/threads/registry.py +56 -0
  63. aprsd/threads/rx.py +354 -0
  64. aprsd/threads/stats.py +44 -0
  65. aprsd/threads/tx.py +255 -0
  66. aprsd/utils/__init__.py +163 -0
  67. aprsd/utils/counter.py +51 -0
  68. aprsd/utils/json.py +80 -0
  69. aprsd/utils/objectstore.py +123 -0
  70. aprsd/utils/ring_buffer.py +40 -0
  71. aprsd/utils/trace.py +180 -0
  72. aprsd/web/__init__.py +0 -0
  73. aprsd/web/admin/__init__.py +0 -0
  74. aprsd/web/admin/static/css/index.css +84 -0
  75. aprsd/web/admin/static/css/prism.css +4 -0
  76. aprsd/web/admin/static/css/tabs.css +35 -0
  77. aprsd/web/admin/static/images/Untitled.png +0 -0
  78. aprsd/web/admin/static/images/aprs-symbols-16-0.png +0 -0
  79. aprsd/web/admin/static/images/aprs-symbols-16-1.png +0 -0
  80. aprsd/web/admin/static/images/aprs-symbols-64-0.png +0 -0
  81. aprsd/web/admin/static/images/aprs-symbols-64-1.png +0 -0
  82. aprsd/web/admin/static/images/aprs-symbols-64-2.png +0 -0
  83. aprsd/web/admin/static/js/charts.js +235 -0
  84. aprsd/web/admin/static/js/echarts.js +465 -0
  85. aprsd/web/admin/static/js/logs.js +26 -0
  86. aprsd/web/admin/static/js/main.js +231 -0
  87. aprsd/web/admin/static/js/prism.js +12 -0
  88. aprsd/web/admin/static/js/send-message.js +114 -0
  89. aprsd/web/admin/static/js/tabs.js +28 -0
  90. aprsd/web/admin/templates/index.html +196 -0
  91. aprsd/web/chat/static/css/chat.css +115 -0
  92. aprsd/web/chat/static/css/index.css +66 -0
  93. aprsd/web/chat/static/css/style.css.map +1 -0
  94. aprsd/web/chat/static/css/tabs.css +41 -0
  95. aprsd/web/chat/static/css/upstream/bootstrap.min.css +6 -0
  96. aprsd/web/chat/static/css/upstream/font.woff2 +0 -0
  97. aprsd/web/chat/static/css/upstream/google-fonts.css +23 -0
  98. aprsd/web/chat/static/css/upstream/jquery-ui.css +1311 -0
  99. aprsd/web/chat/static/css/upstream/jquery.toast.css +28 -0
  100. aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/LatoLatin-Bold.woff +0 -0
  101. aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  102. aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/LatoLatin-Regular.woff +0 -0
  103. aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  104. aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/icons.woff +0 -0
  105. aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/icons.woff2 +0 -0
  106. aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/outline-icons.woff +0 -0
  107. aprsd/web/chat/static/css/upstream/themes/default/assets/fonts/outline-icons.woff2 +0 -0
  108. aprsd/web/chat/static/images/Untitled.png +0 -0
  109. aprsd/web/chat/static/images/aprs-symbols-16-0.png +0 -0
  110. aprsd/web/chat/static/images/aprs-symbols-16-1.png +0 -0
  111. aprsd/web/chat/static/images/aprs-symbols-64-0.png +0 -0
  112. aprsd/web/chat/static/images/aprs-symbols-64-1.png +0 -0
  113. aprsd/web/chat/static/images/aprs-symbols-64-2.png +0 -0
  114. aprsd/web/chat/static/images/globe.svg +3 -0
  115. aprsd/web/chat/static/js/gps.js +84 -0
  116. aprsd/web/chat/static/js/main.js +45 -0
  117. aprsd/web/chat/static/js/send-message.js +585 -0
  118. aprsd/web/chat/static/js/tabs.js +28 -0
  119. aprsd/web/chat/static/js/upstream/bootstrap.bundle.min.js +7 -0
  120. aprsd/web/chat/static/js/upstream/jquery-3.7.1.min.js +2 -0
  121. aprsd/web/chat/static/js/upstream/jquery-ui.min.js +13 -0
  122. aprsd/web/chat/static/js/upstream/jquery.toast.js +374 -0
  123. aprsd/web/chat/static/js/upstream/semantic.min.js +11 -0
  124. aprsd/web/chat/static/js/upstream/socket.io.min.js +7 -0
  125. aprsd/web/chat/templates/index.html +139 -0
  126. aprsd/wsgi.py +315 -0
  127. aprsd-3.4.1.dist-info/AUTHORS +13 -0
  128. aprsd-3.4.1.dist-info/LICENSE +175 -0
  129. aprsd-3.4.1.dist-info/METADATA +799 -0
  130. aprsd-3.4.1.dist-info/RECORD +134 -0
  131. {aprsd-1.0.0.dist-info → aprsd-3.4.1.dist-info}/WHEEL +1 -1
  132. aprsd-3.4.1.dist-info/entry_points.txt +8 -0
  133. aprsd/fake_aprs.py +0 -83
  134. aprsd/utils.py +0 -166
  135. aprsd-1.0.0.dist-info/AUTHORS +0 -6
  136. aprsd-1.0.0.dist-info/METADATA +0 -181
  137. aprsd-1.0.0.dist-info/RECORD +0 -13
  138. aprsd-1.0.0.dist-info/entry_points.txt +0 -4
  139. aprsd-1.0.0.dist-info/pbr.json +0 -1
  140. /aprsd/{fuzzyclock.py → utils/fuzzyclock.py} +0 -0
  141. {aprsd-1.0.0.dist-info → aprsd-3.4.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,115 @@
1
+ input[type=search]::-webkit-search-cancel-button {
2
+ -webkit-appearance: searchfield-cancel-button;
3
+ }
4
+
5
+ .speech-wrapper {
6
+ padding-top: 0px;
7
+ padding: 5px 30px;
8
+ background-color: #CCCCCC;
9
+ }
10
+
11
+ .bubble-row {
12
+ display: flex;
13
+ width: 100%;
14
+ justify-content: flex-start;
15
+ }
16
+
17
+ .bubble-row.alt {
18
+ justify-content: flex-end;
19
+ }
20
+
21
+ .bubble {
22
+ /*width: 350px; */
23
+ height: auto;
24
+ display: block;
25
+ background: #f5f5f5;
26
+ border-radius: 4px;
27
+ box-shadow: 2px 8px 5px #555;
28
+ position: relative;
29
+ margin: 0 0 15px;
30
+ }
31
+
32
+ .bubble.alt {
33
+ margin: 0 0 15px;
34
+ }
35
+
36
+ .bubble-text {
37
+ padding: 5px 5px 0px 8px;
38
+ }
39
+
40
+ .bubble-name {
41
+ width: 280px;
42
+ font-weight: 600;
43
+ font-size: 12px;
44
+ margin: 0 0 0px;
45
+ color: #3498db;
46
+ display: flex;
47
+ align-items: center;
48
+ .material-symbols-rounded {
49
+ margin-left: auto;
50
+ font-weight: normal;
51
+ color: #808080;
52
+ }
53
+ }
54
+ .bubble-name.alt {
55
+ color: #2ecc71;
56
+ }
57
+
58
+ .bubble-timestamp {
59
+ margin-right: auto;
60
+ font-size: 11px;
61
+ text-transform: uppercase;
62
+ color: #bbb
63
+ }
64
+
65
+ .bubble-message {
66
+ font-size: 16px;
67
+ margin: 0px;
68
+ padding: 0px 0px 0px 0px;
69
+ color: #2b2b2b;
70
+ text-align: left;
71
+ }
72
+
73
+ .bubble-arrow {
74
+ position: absolute;
75
+ width: 0;
76
+ bottom:30px;
77
+ left: -16px;
78
+ height: 0px;
79
+ }
80
+
81
+ .bubble-arrow.alt {
82
+ right: -2px;
83
+ bottom: 30px;
84
+ left: auto;
85
+ }
86
+
87
+ .bubble-arrow:after {
88
+ content: "";
89
+ position: absolute;
90
+ border: 0 solid transparent;
91
+ border-top: 9px solid #f5f5f5;
92
+ border-radius: 0 20px 0;
93
+ width: 15px;
94
+ height: 30px;
95
+ transform: rotate(145deg);
96
+ }
97
+ .bubble-arrow.alt:after {
98
+ transform: rotate(45deg) scaleY(-1);
99
+ }
100
+
101
+ .popover {
102
+ max-width: 400px;
103
+ }
104
+ .popover-header {
105
+ font-size: 8pt;
106
+ max-width: 400px;
107
+ padding: 5px;
108
+ background-color: #ee;
109
+ }
110
+
111
+ .popover-body {
112
+ white-space: pre-line;
113
+ max-width: 400px;
114
+ padding: 5px;
115
+ }
@@ -0,0 +1,66 @@
1
+ body {
2
+ background: #eeeeee;
3
+ /*margin: 1em;*/
4
+ text-align: center;
5
+ font-family: system-ui, sans-serif;
6
+ height: 100%;
7
+ }
8
+
9
+ #title {
10
+ font-size: 4em;
11
+ }
12
+ #version{
13
+ font-size: .5em;
14
+ }
15
+
16
+ #uptime, #aprsis {
17
+ font-size: 1em;
18
+ }
19
+ #callsign {
20
+ font-size: 1.4em;
21
+ color: #00F;
22
+ padding-top: 8px;
23
+ margin:10px;
24
+ }
25
+
26
+ #title_rx {
27
+ background-color: darkseagreen;
28
+ text-align: left;
29
+ }
30
+
31
+ #title_tx {
32
+ background-color: lightcoral;
33
+ text-align: left;
34
+ }
35
+
36
+ .aprsd_1 {
37
+ background-image: url(/static/images/aprs-symbols-16-0.png);
38
+ background-repeat: no-repeat;
39
+ background-position: -160px -48px;
40
+ width: 16px;
41
+ height: 16px;
42
+ }
43
+
44
+ .wc-container {
45
+ display: flex;
46
+ flex-flow: column;
47
+ height: 100%;
48
+ }
49
+ .wc-container .wc-row {
50
+ /*border: 1px dotted #0313fc;*/
51
+ padding: 2px;
52
+ }
53
+ .wc-container .wc-row.header {
54
+ flex: 0 1 auto;
55
+ }
56
+ .wc-container .wc-row.content {
57
+ flex: 1 1 auto;
58
+ overflow-y: auto;
59
+ }
60
+ .wc-container .wc-row.footer {
61
+ flex: 0 1 0px;
62
+ }
63
+
64
+ .material-symbols-rounded.md-10 {
65
+ font-size: 18px !important;
66
+ }