diff --git a/acceptreject.py b/acceptreject.py index d3f4c50cd..9ce38ca9f 100644 --- a/acceptreject.py +++ b/acceptreject.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "ActivityPub" import os from utils import hasUsersPath diff --git a/announce.py b/announce.py index dccfb20ea..098cb8820 100644 --- a/announce.py +++ b/announce.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "ActivityPub" from utils import removeIdEnding from utils import hasUsersPath diff --git a/auth.py b/auth.py index c6828ccc1..87b94e5e2 100644 --- a/auth.py +++ b/auth.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Security" import base64 import hashlib diff --git a/availability.py b/availability.py index 7b8196448..441b01264 100644 --- a/availability.py +++ b/availability.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Core" import os from webfinger import webfingerHandle diff --git a/blocking.py b/blocking.py index d2361a584..206682efc 100644 --- a/blocking.py +++ b/blocking.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "ActivityPub" import os import json diff --git a/blog.py b/blog.py index d331bca15..0822aa64a 100644 --- a/blog.py +++ b/blog.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "ActivityPub" import os from datetime import datetime diff --git a/bookmarks.py b/bookmarks.py index f4e292c3a..04a68052b 100644 --- a/bookmarks.py +++ b/bookmarks.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Timeline" import os from pprint import pprint diff --git a/briar.py b/briar.py index 63a3123b1..6e3f1e1d0 100644 --- a/briar.py +++ b/briar.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Profile Metadata" def getBriarAddress(actorJson: {}) -> str: diff --git a/cache.py b/cache.py index 19cda4084..e00156703 100644 --- a/cache.py +++ b/cache.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "ActivityPub" import os import datetime diff --git a/categories.py b/categories.py index a99241b73..40a31c51f 100644 --- a/categories.py +++ b/categories.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "RSS Feeds" import os import datetime diff --git a/city.py b/city.py index 6e228ec47..8edf14e1b 100644 --- a/city.py +++ b/city.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Spoofing" import os import datetime diff --git a/context.py b/context.py index 11d9b727d..9afa78d79 100644 --- a/context.py +++ b/context.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Security" validContexts = ( diff --git a/delete.py b/delete.py index 7f9380a4d..0566015d6 100644 --- a/delete.py +++ b/delete.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "ActivityPub" import os from datetime import datetime diff --git a/desktop_client.py b/desktop_client.py index caa39516d..69da9f906 100644 --- a/desktop_client.py +++ b/desktop_client.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Client" import os import html @@ -725,7 +726,7 @@ def _readLocalBoxPost(session, nickname: str, domain: str, if isPGPEncrypted(content): sayStr = 'Encrypted message. Please enter your passphrase.' _sayCommand(sayStr, sayStr, screenreader, systemLanguage, espeak) - content = pgpDecrypt(content, actor) + content = pgpDecrypt(domain, content, actor) if isPGPEncrypted(content): sayStr = 'Message could not be decrypted' _sayCommand(sayStr, sayStr, screenreader, systemLanguage, espeak) @@ -836,7 +837,8 @@ def _desktopShowProfile(session, nickname: str, domain: str, isHttp = False if 'http://' in actor: isHttp = True - actorJson, asHeader = getActorJson(actor, isHttp, False, False, True) + actorJson, asHeader = \ + getActorJson(domain, actor, isHttp, False, False, True) _desktopShowActor(baseDir, actorJson, translate, systemLanguage, screenreader, espeak) @@ -854,7 +856,8 @@ def _desktopShowProfileFromHandle(session, nickname: str, domain: str, """Shows the profile for a handle Returns the actor json """ - actorJson, asHeader = getActorJson(handle, False, False, False, True) + actorJson, asHeader = \ + getActorJson(domain, handle, False, False, False, True) _desktopShowActor(baseDir, actorJson, translate, systemLanguage, screenreader, espeak) @@ -1182,7 +1185,7 @@ def _desktopNewDMbase(session, toHandle: str, for after in range(randint(1, 16)): paddedMessage += ' ' cipherText = \ - pgpEncryptToActor(paddedMessage, toHandle) + pgpEncryptToActor(domain, paddedMessage, toHandle) if not cipherText: sayStr = \ toHandle + ' has no PGP public key. ' + \ diff --git a/donate.py b/donate.py index 0ccdebf99..f0942e502 100644 --- a/donate.py +++ b/donate.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Profile Metadata" def _getDonationTypes() -> str: diff --git a/epicyon.py b/epicyon.py index f69eb9360..1888d894c 100644 --- a/epicyon.py +++ b/epicyon.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Commandline Interface" import os import shutil @@ -1631,7 +1632,7 @@ if args.migrations: sys.exit() if args.actor: - getActorJson(args.actor, args.http, args.gnunet, debug) + getActorJson(args.domain, args.actor, args.http, args.gnunet, debug) sys.exit() if args.followers: diff --git a/feeds.py b/feeds.py index a1671d5cd..5a5eba61a 100644 --- a/feeds.py +++ b/feeds.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "RSS Feeds" def rss2TagHeader(hashtag: str, httpPrefix: str, domainFull: str) -> str: diff --git a/follow.py b/follow.py index 9cc72617c..acabd00fc 100644 --- a/follow.py +++ b/follow.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "ActivityPub" from pprint import pprint import os diff --git a/followingCalendar.py b/followingCalendar.py index 64e795090..650687e14 100644 --- a/followingCalendar.py +++ b/followingCalendar.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Calendar" import os diff --git a/git.py b/git.py index c7dee20df..86da50508 100644 --- a/git.py +++ b/git.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "ActivityPub" import os import html diff --git a/happening.py b/happening.py index 225495e98..1a94873fb 100644 --- a/happening.py +++ b/happening.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Calendar" import os from uuid import UUID diff --git a/httpsig.py b/httpsig.py index f11e07203..03cdc93fd 100644 --- a/httpsig.py +++ b/httpsig.py @@ -6,6 +6,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Security" # see https://tools.ietf.org/html/draft-cavage-http-signatures-06 # diff --git a/inbox.py b/inbox.py index 82061bc45..f73a9eae1 100644 --- a/inbox.py +++ b/inbox.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Timeline" import json import os diff --git a/jami.py b/jami.py index ee89d68c2..d0a20008b 100644 --- a/jami.py +++ b/jami.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Profile Metadata" def getJamiAddress(actorJson: {}) -> str: diff --git a/like.py b/like.py index 5c7f3d9df..646913043 100644 --- a/like.py +++ b/like.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "ActivityPub" from utils import hasUsersPath from utils import getFullDomain diff --git a/linked_data_sig.py b/linked_data_sig.py index 5a1c5dbdd..b1acbc7da 100644 --- a/linked_data_sig.py +++ b/linked_data_sig.py @@ -7,6 +7,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Security" import base64 import hashlib diff --git a/locations.txt b/locations.txt index 864ca25b0..acf611597 100644 --- a/locations.txt +++ b/locations.txt @@ -178,279 +178,224 @@ AZENTKILYSZABADJA, HUNGARY:47.0778:17.9683:22 BABELTHUAP, PALAU ISLAND:7.3675:134.544:370 BACAU, ROMANIA:46.5219:26.9103:43 BACOLOD, PHILIPPINES:10.6425:122.929:162 -BADAJOZ, SPAIN:38.8911:W6.82111 +BADAJOZ, SPAIN:38.8911:W6.82111:1440 BADEN-BADEN, GERMANY:48.7911:8.18694:140 -BAFOUSSAM, CAMEROON:5.53694:10.3542 -BAGABAG, PHILIPPINES:16.6189:121.252 -BAGAN, MYANMAR:21.1819:94.9292 -BAGE, BRAZIL:-31.3903:W54.1122 -BAGHDAD, IRAQ:33.2619:44.2339 -BAGHDOGRA, INDIA:26.6814:88.3281 -BAGNOLE-DE-L'ORNE, FRANCE:48.5458:W0.387222 -BAGOTVILLE, CANADA:48.3306:W70.9964 -BAGUIO, PHILIPPINES:16.375:120.619 -BAHAR DAR, ETHIOPIA:11.6081:37.3214 -BAHAWALPURE, PAKISTAN:29.3469:71.7114 -BAHIA BLANCA, ARGENTINA:-38.7247:W62.1692 -BAHIAS DEHUATULCO, MEXICO:15.7747:W96.2608 -BAHIA SOLANO, COLOMBIA:6.20278:W77.3944 -BAHRAIN, BAHRAIN:25.9183:50.5906 -BAIA MARE, ROMANIA:47.6583:23.47 -BAIDOA, SOMALIA:3.09861:43.6242 -BAIE COMEAU, CANADA:49.1322:W68.2072 -BAKEL, SENEGAL:14.8472:W12.4681 -BAKER LAKE, CANADA:64.2989:W96.0778 -BAKERSFIELD, USA:35.4333:W119.057 -BAKHTARAN, IRAN:34.3464:47.1564 -BAKSHI KA TALAB, INDIA:26.9883:80.8931 +BAFOUSSAM, CAMEROON:5.53694:10.3542:402 +BAGABAG, PHILIPPINES:16.6189:121.252:183 +BAGAN, MYANMAR:21.1819:94.9292:104 +BAGE, BRAZIL:-31.3903:W54.1122:50 +BAGHDAD, IRAQ:33.2619:44.2339:204 +BAGHDOGRA, INDIA:26.6814:88.3281:10 +BAGNOLE-DE-L'ORNE, FRANCE:48.5458:W0.387222:9 +BAGUIO, PHILIPPINES:16.375:120.619:57 +BAHAR DAR, ETHIOPIA:11.6081:37.3214:28 +BAHAWALPURE, PAKISTAN:29.3469:71.7114:246 +BAHIA BLANCA, ARGENTINA:-38.7247:W62.1692:1000 +BAHIA SOLANO, COLOMBIA:6.20278:W77.3944:1667 +BAHRAIN, BAHRAIN:25.9183:50.5906:765 +BAIA MARE, ROMANIA:47.6583:23.47:233 +BAIDOA, SOMALIA:3.09861:43.6242,1000 +BAIE COMEAU, CANADA:49.1322:W68.2072:432 +BAKER LAKE, CANADA:64.2989:W96.0778:182 +BAKERSFIELD, USA:35.4333:W119.057:391 +BAKHTARAN, IRAN:34.3464:47.1564:500 +BAKSHI KA TALAB, INDIA:26.9883:80.8931:41 BAKU, RUSSIA:40.4675:50.0467:2140 -BALIKPAPAN, INDONESIA:-1.26806:116.894 -BALKHASH, RUSSIA:46.8942:75.0047 -BALMACEDA, CHILE:-45.9158:W71.6892 -BALTIMORE, USA:39.1753:W76.6683 -BALURGHAT, INDIA:25.2608:88.7956 -BAMAKO, MALI:12.5333:W7.94972 -BAMBARI, CENTRAL AFRICAN REP.:5.84694:20.6494 -BAMBERG, GERMANY:49.9203:10.9142 -BAMENDA, CAMEROON:6.03917:10.1225 -BAM, IRAN:29.0839:58.4503 -BANAK, NORWAY:70.0686:24.9733 -BANANERA, GUATEMALA:15.4733:W88.8372 -BANDA ACEH, INDONESIA:5.52333:95.4203 -BANDAR ABBAS, IRAN:27.1581:56.1722 -BANDAR LENGEH, IRAN:26.5317:54.8217 -BANDAR MAHSHAHR, IRAN:30.5561:49.1517 +BALIKPAPAN, INDONESIA:-1.26806:116.894:503 +BALTIMORE, USA:39.1753:W76.6683:239 +BALURGHAT, INDIA:25.2608:88.7956:10 +BAMAKO, MALI:12.5333:W7.94972:245 +BAMBERG, GERMANY:49.9203:10.9142:54 +BAMENDA, CAMEROON:6.03917:10.1225:50 +BAM, IRAN:29.0839:58.4503:50 +BANDA ACEH, INDONESIA:5.52333:95.4203:61 +BANDAR ABBAS, IRAN:27.1581:56.1722:50 +BANDAR LENGEH, IRAN:26.5317:54.8217:2 +BANDAR MAHSHAHR, IRAN:30.5561:49.1517:20 BANDIRMA, TURKEY:40.3178:27.9775:713 -BANDOUNDU, ZAIRE:-3.31111:17.3817 -BANDUNG, INDONESIA:-6.90056:107.576 -BANE HOUEI SAY, LAOS:20.2572:100.437 -BANGALORE, INDIA:12.9497:77.6681 -BANGASSOU, CENTRAL AFRICAN REP.:4.78444:22.7814 -BANGKOK, THAILAND:13.9125:100.607 -BANGOR, USA:44.8072:W68.8281 -BANGUI, CENTRAL AFRICAN REP.:4.39833:18.5186 -BANJA LUKA, BOSNIA-HERCEGOVINA:44.9414:17.2975 -BANJARMASIN, INDONESIA:-3.44194:114.761 -BANJUL, GAMBIA:13.3378:W16.6519 -BANMAW, MYANMAR:24.2689:97.2461 -BANNU, PAKISTAN:32.9719:70.5247 -BARACOA PLAYA, CUBA:20.3656:W74.5064 -BARAHONA, DOMINICAN REPUBLIC:18.2514:W71.1203 -BARBACENA, BRAZIL:-21.2669:W43.7608 -BARCELONA, SPAIN:41.40016140348051:2.159836908862287 -BARCELONA, VENEZUELA:10.1069:W64.6889 -BARDUFOSS, NORWAY:69.0556:18.5403 -BAREILLY, INDIA:28.4222:79.4497 +BANDOUNDU, ZAIRE:-3.31111:17.3817:222 +BANDUNG, INDONESIA:-6.90056:107.576:167 +BANGALORE, INDIA:12.9497:77.6681:741 +BANGKOK, THAILAND:13.9125:100.607:1569 +BANGOR, USA:44.8072:W68.8281:89 +BANGUI, CENTRAL AFRICAN REP.:4.39833:18.5186:67 +BANJA LUKA, BOSNIA-HERCEGOVINA:44.9414:17.2975:1239 +BANJARMASIN, INDONESIA:-3.44194:114.761:98 +BANJUL, GAMBIA:13.3378:W16.6519:12 +BANNU, PAKISTAN:32.9719:70.5247:100 +BARACOA PLAYA, CUBA:20.3656:W74.5064:977 +BARAHONA, DOMINICAN REPUBLIC:18.2514:W71.1203:163 +BARBACENA, BRAZIL:-21.2669:W43.7608:759 +BARCELONA, SPAIN:41.40016140348051:2.159836908862287:101 +BARCELONA, VENEZUELA:10.1069:W64.6889:135 +BARDUFOSS, NORWAY:69.0556:18.5403:2 +BAREILLY, INDIA:28.4222:79.4497:106 BARI, ITALY:41.1383:16.7606:117 -BARINAS, VENEZUELA:8.61944:W70.2206 -BARKING SANDS, USA:22.0217:W159.787 +BARINAS, VENEZUELA:8.61944:W70.2206:322 BARNAUL, RUSSIA:53.3639:83.5419:321 -BARODA, INDIA:22.3361:73.2261 -BARQUISIMETO, VENEZUELA:10.0425:W69.3583 -BARRA DEL COLORADO, COSTA RICA:10.7686:W83.5858 -BARRA DO GARCAS, BRAZIL:-15.8611:W52.3889 -BARRANCABERMEJA, COLOMBIA:7.02417:W73.8067 -BARRANQUILLA, COLOMBIA:10.8894:W74.7806 -BARROW ISLAND, ENGLAND:54.1297:W3.25611 -BARROW, USA:71.2853:W156.766 -BARTER ISLAND, USA:70.1339:W143.577 +BARODA, INDIA:22.3361:73.2261:220 +BARQUISIMETO, VENEZUELA:10.0425:W69.3583:353 +BARRA DEL COLORADO, COSTA RICA:10.7686:W83.5858:811 +BARRANCABERMEJA, COLOMBIA:7.02417:W73.8067:1154 +BARRANQUILLA, COLOMBIA:10.8894:W74.7806:154 +BARROW, USA:71.2853:W156.766:55 BARTH, GERMANY:54.3381:12.71:40 -BASCO, PHILIPPINES:20.4517:121.98 -BASRAH, IRAQ:30.5486:47.6622 -BASSE TERRE, ST. KITTS & NEVIS:17.3111:W62.7186 -BASTAK, IRAN:27.2125:54.3183 -BASTIA, CORSE ISL.:42.5539:9.48333 -BATA, EQUATORIAL GUINEA:1.90528:9.80556 -BATAM, INDONESIA:1.12083:104.119 +BASRAH, IRAQ:30.5486:47.6622:181 +BASSE TERRE, ST. KITTS & NEVIS:17.3111:W62.7186:6 +BASTIA, CORSE ISL.:42.5539:9.48333:19 +BATA, EQUATORIAL GUINEA:1.90528:9.80556:50 +BATAM, INDONESIA:1.12083:104.119:1595 BATMAN, TURKEY:37.9289:41.1161:563 BATON ROUGE, USA:30.5331:W91.1494:199 -BATOURI, CAMEROON:4.47306:14.3636 -BATSFJORD, NORWAY:70.6:29.6925 -BATTAMBANG, CAMBODIA:13.0956:103.224 -BATTICALOA, SRI LANKA:7.70556:81.6778 -BATU LICIN, INDONESIA:-3.4125:115.996 -BAUCAU, WEST TIMOR:-8.48528:126.399 -BAUDETTE, USA:48.7283:W94.6122 -BAUMHOLDER, GERMANY:49.65:7.3 -BAURU, BRAZIL:-22.345:W49.0536 +BATSFJORD, NORWAY:70.6:29.6925:1435 +BATTAMBANG, CAMBODIA:13.0956:103.224:293 +BATTICALOA, SRI LANKA:7.70556:81.6778:50 +BAUDETTE, USA:48.7283:W94.6122:12 +BAUMHOLDER, GERMANY:49.65:7.3:69 +BAURU, BRAZIL:-22.345:W49.0536:667 BAUTZEN, GERMANY:51.1933:14.5197:66 -BAYAMO, CUBA:20.3964:W76.6214 +BAYAMO, CUBA:20.3964:W76.6214:918 BAYREUTH, GERMANY:49.9842:11.6383:66 -BEAUFORT, USA:32.4772:W80.7231 -BEAUMONT, USA:29.9508:W94.0206 -BEAUNE, FRANCE:47.0058:4.89333 -BEAUVAIS, FRANCE:49.4544:2.11278 -BEAUVECHAIN, BELGIUM:50.7586:4.76833 -BEDFORD, USA:42.4697:W71.2889 -BEER-SHEBA, ISRAEL:31.2869:34.7228 -BEIJING, CHINA:40.08:116.584:16808 -BEIRA, MOZAMBIQUE:-19.7964:34.9075 -BEIRUT, LEBANON:33.8133:35.4886 -BEJAJA, ALGERIA:36.7119:5.06972 -BEJA (MADEIRA), ACORES:38.0789:W7.93222 -BELEM, BRAZIL:-1.37917:W48.4761 +BEAUFORT, USA:32.4772:W80.7231:65 +BEAUMONT, USA:29.9508:W94.0206:220 +BEAUNE, FRANCE:47.0058:4.89333:31 +BEAUVAIS, FRANCE:49.4544:2.11278:33 +BEDFORD, USA:42.4697:W71.2889:36 +BEER-SHEBA, ISRAEL:31.2869:34.7228:117 +BEIJING, CHINA:40.08:116.584:16808:4144 +BEIRA, MOZAMBIQUE:-19.7964:34.9075:633 +BEIRUT, LEBANON:33.8133:35.4886:19 +BEJAJA, ALGERIA:36.7119:5.06972:120 +BELEM, BRAZIL:-1.37917:W48.4761:1059 BELFAST, NORTH IRELAND:54.57925:W5.93892:115 -BELGAUM, INDIA:15.8592:74.6181 -BELIZE CITY, BELIZE:17.5389:W88.3081 -BELLEVILLE, USA:38.545:W89.835 -BELLINGHAM, USA:48.7925:W122.537 -BELO HORIZONTE, BRAZIL:-19.6336:W43.9686 -BENGHAZI, LIBYA:32.0967:20.2694 -BENGKULU, INDONESIA:-3.86389:102.341 -BENGUELA, ANGOLA:-12.6089:13.4036 -BENIN, NIGERIA:6.31722:5.59944 +BELGAUM, INDIA:15.8592:74.6181:94 +BELIZE CITY, BELIZE:17.5389:W88.3081:35 +BELLEVILLE, USA:38.545:W89.835:60 +BELLINGHAM, USA:48.7925:W122.537:79 +BELO HORIZONTE, BRAZIL:-19.6336:W43.9686:330 +BENGHAZI, LIBYA:32.0967:20.2694:314 +BENGKULU, INDONESIA:-3.86389:102.341:151 +BENGUELA, ANGOLA:-12.6089:13.4036:2100 +BENIN, NIGERIA:6.31722:5.59944:1204 BENSON, ENGLAND:51.6161:W1.09556:9 -BEOGRAD, YUGOSLAVIA:44.8183:20.3089 -BEQUIA, ST.VINCENT/GRENADINES:12.9883:W61.2619 -BERBERA, SOMALIA:10.3892:44.9408 -BERBERATI, CENTRAL AFRICAN REP.:4.22139:15.7861 +BEOGRAD, YUGOSLAVIA:44.8183:20.3089:360 +BEQUIA, ST.VINCENT/GRENADINES:12.9883:W61.2619:367 +BERBERATI, CENTRAL AFRICAN REP.:4.22139:15.7861:67 BERGAMO, ITALY:45.6739:9.70417:40 -BERGEN, NORWAY:60.2933:5.21806 -BERGERAC, FRANCE:44.8534568:0.487531 +BERGEN, NORWAY:60.2933:5.21806:445 +BERGERAC, FRANCE:44.8534568:0.487531:56 BERLIN, GERMANY:52.5170365:13.3888599:891 -BERMEJO, BOLIVIA:-22.7694:W64.315 -BERN, SWITZERLAND:46.9139:7.49694 -BERTRIX, BELGIUM:49.8872:5.22861 -BESALAMPY, MADAGASCAR:-16.7419:44.4814 +BERMEJO, BOLIVIA:-22.7694:W64.315:5 +BERN, SWITZERLAND:46.9139:7.49694:51 +BERTRIX, BELGIUM:49.8872:5.22861:137 BESANCON-LA-VEZE, FRANCE:47.2083:6.08306:5 -BETHEL, USA:60.7797:W161.838 -BETHLEHEM, SOUTH AFRICA:-28.2483:28.3361 -BETTLES, USA:66.9153:W151.528 -BEZIERS, FRANCE:43.3239:3.35556 -BHAIRAWA, NEPAL:27.5056:83.4161 -BHATINDA, INDIA:30.27:74.7556 -BHAUNAGAR, INDIA:21.7519:72.185 -BHIWANI, INDIA:28.8375:76.1775 -BHOPAL, INDIA:23.285:77.3372 -BHUBANESWAR, INDIA:20.2442:85.8178 -BHUJ, INDIA:23.2878:69.67 -BIAK, INDONESIA:-1.19:136.108 -BIARRITZ-BAYONNE, FRANCE:43.4683:W1.52306 +BETHEL, USA:60.7797:W161.838:129 +BETHLEHEM, SOUTH AFRICA:-28.2483:28.3361:27 +BETTLES, USA:66.9153:W151.528:4 +BEZIERS, FRANCE:43.3239:3.35556:95 +BHAIRAWA, NEPAL:27.5056:83.4161:36 +BHAUNAGAR, INDIA:21.7519:72.185:108 +BHOPAL, INDIA:23.285:77.3372:285 +BHUBANESWAR, INDIA:20.2442:85.8178:422 +BHUJ, INDIA:23.2878:69.67:56 +BIAK, INDONESIA:-1.19:136.108:1746 +BIARRITZ-BAYONNE, FRANCE:43.4683:W1.52306:11 BIBERACH, GERMANY:48.1108:9.76278:72 -BIDAR, INDIA:17.9078:77.4858 -BIG MOUNTAIN, USA:59.3617:W155.257 -BIKANER, INDIA:28.0725:73.2067 -BILASPUR, INDIA:21.9886:82.1111 -BILBAO, SPAIN:43.3008:W2.91056 -BILOXI, USA:30.4108:W88.9236 -BIMA, INDONESIA:-8.53944:118.687 -BINTULU, MALAYSIA:3.17222:113.044 -BIRAO, CENTRAL AFRICAN REP.:10.2361:22.7172 -BIRATNAGAR, NEPAL:26.4833:87.2636 -BIRJAND, IRAN:32.8956:59.2756 +BIDAR, INDIA:17.9078:77.4858:43 +BIKANER, INDIA:28.0725:73.2067:155 +BILASPUR, INDIA:21.9886:82.1111:205 +BILBAO, SPAIN:43.3008:W2.91056:41 +BILOXI, USA:30.4108:W88.9236:175 +BIMA, INDONESIA:-8.53944:118.687:222 +BIRATNAGAR, NEPAL:26.4833:87.2636:58 +BIRJAND, IRAN:32.8956:59.2756:50 BIRMINGHAM, ENGLAND:52.4796992:W1.9026911:267 -BIRMINGHAM, USA:33.5628:W86.7533 -BIR MOGHREIN, MAURITANIA:25.2367:W11.5886 -BISHA, SAUDI ARABIA:19.9839:42.6228 +BIRMINGHAM, USA:33.5628:W86.7533:383 BISHKEK, RUSSIA:43.0617:74.4783:169 -BISHO, SOUTH AFRICA:-32.8969:27.2789 -BISKRA, ALGERIA:34.7931:5.73806 -BISSAU, GUINEA BISSAU:11.8947:W15.6536 -BITAM, GABON:2.07556:11.4931 -BIZERTE, TUNISIA:37.2453:9.79139 -BJORKVIK, SWEDEN:58.7908:16.5708 -BLACKBUSHE, ENGLAND:51.3239:W0.8475 +BISHO, SOUTH AFRICA:-32.8969:27.2789:8 +BISKRA, ALGERIA:34.7931:5.73806:127 +BISSAU, GUINEA BISSAU:11.8947:W15.6536:77 BLACKPOOL, ENGLAND:53.7717:W3.02861:34 BLAGOVESCHENSK, RUSSIA:50.4217:127.41:321 -BLANTYRE, MALAWI:-15.6789:34.9739 -BLIDA, ALGERIA:36.5036:2.81417 -BLOEMFONTEIN, SOUTH AFRICA:-29.0328:26.1575 -BLUEFIELDS, NICARAGUA:11.9889:W83.7742 -BLYTHEVILLE, USA:35.9642:W89.9433 -BOA VISTA, BRAZIL:2.84611:W60.69 -BOA VISTA, CAPE VERDE ISLANDS:16.1367:W22.8889 -BOBO-DIOULASSO, BURKINA FASO:11.16:W4.33083 -BOCA RATON, USA:26.3783:W80.1075 -BOCAS DEL TORO, PANAMA:9.34083:W82.2508 -BODOE, NORWAY:67.2689:14.3633 -BOGOTA, COLOMBIA:4.6533326:W74.083652 +BLANTYRE, MALAWI:-15.6789:34.9739:240 +BLIDA, ALGERIA:36.5036:2.81417:53 +BLOEMFONTEIN, SOUTH AFRICA:-29.0328:26.1575:236 +BLYTHEVILLE, USA:35.9642:W89.9433:53 +BOA VISTA, CAPE VERDE ISLANDS:16.1367:W22.8889:631 +BOBO-DIOULASSO, BURKINA FASO:11.16:W4.33083:136 +BOCA RATON, USA:26.3783:W80.1075:81 +BODOE, NORWAY:67.2689:14.3633:1395 +BOGOTA, COLOMBIA:4.6533326:W74.083652:1775 BOISE, USA:43.5642:W116.223:206 -BOJNORD, IRAN:37.4931:57.3006 -BOKARO, INDIA:23.6433:86.1486 -BOLIVAR, ARGENTINA:-36.1869:W61.0761 +BOJNORD, IRAN:37.4931:57.3006:36 +BOKARO, INDIA:23.6433:86.1486:183 BOLOGNA, ITALY:44.5342:11.2903:140 BOLZANO, ITALY:46.4606:11.3261:52 -BOMBAY, INDIA:19.0886:72.8678 -BOM JESUS DA LAPA, BRAZIL:-13.2619:W43.4081 -BOMOEN, NORWAY:60.6386:6.50139 -BORA BORA, FRENCH POLYNESIA:-16.4442:W151.751 -BORDEAUX, FRANCE:44.841225:W0.5800364 -BORDJ EL AMRI, TUNISIA:36.7211:9.94306 +BOMBAY, INDIA:19.0886:72.8678:603 +BOM JESUS DA LAPA, BRAZIL:-13.2619:W43.4081:4116 +BORA BORA, FRENCH POLYNESIA:-16.4442:W151.751:30 +BORDEAUX, FRANCE:44.841225:W0.5800364:49 BORKUM, GERMANY:53.5953:6.70917:30 -BORLANGE, SWEDEN:60.4219:15.515 -BOSCOMBE DOWN, ENGLAND:51.1519:W1.74722 +BORLANGE, SWEDEN:60.4219:15.515:34 BOSTON, USA:42.3642:W71.005:232 -BOTHAVILLE, SOUTH AFRICA:-27.3667:26.6292 -BOUAKE, IVORY COAST:7.73861:W5.07361 -BOUAR, CENTRAL AFRICAN REP.:5.95806:15.6375 -BOUFARIK, ALGERIA:36.5458:2.87611 -BOURGAS, BULGARIA:42.5689:27.5139 -BOURGES, FRANCE:47.0581:2.37028 -BOURG, FRANCE:46.2008:5.29194 +BOTHAVILLE, SOUTH AFRICA:-27.3667:26.6292:43 +BOUAKE, IVORY COAST:7.73861:W5.07361:71 +BOUFARIK, ALGERIA:36.5458:2.87611:50 +BOURGAS, BULGARIA:42.5689:27.5139:253 +BOURGES, FRANCE:47.0581:2.37028:68 +BOURG, FRANCE:46.2008:5.29194:10 BOURNEMOUTH, ENGLAND:50.7423141383493:W1.8999454858886722:46 -BOU SAADA, ALGERIA:35.3325:4.20639 -BOU SFER, ALGERIA:35.7353:W0.805278 -BRADSHAW FIELD, USA:19.76:W155.554 +BOU SAADA, ALGERIA:35.3325:4.20639:249 +BOU SFER, ALGERIA:35.7353:W0.805278:46 BRAGA, ACORES:41.5869:W8.445 -BRAGANCA, ACORES:41.8683:W6.71194 -BRAKPAN, SOUTH AFRICA:-26.2386:28.3017 -BRANDON, CANADA:49.91:W99.9519 -BRASILIA, BRAZIL:-15.8625:W47.9125 -BRASSCHAAT, BELGIUM:51.3333:4.5 -BRATISLAVA, SLOVAKIA:48.17:17.2125 +BRAKPAN, SOUTH AFRICA:-26.2386:28.3017:182 +BRANDON, CANADA:49.91:W99.9519:77 +BRASILIA, BRAZIL:-15.8625:W47.9125:5802 +BRASSCHAAT, BELGIUM:51.3333:4.5:38 +BRATISLAVA, SLOVAKIA:48.17:17.2125:367 BRATSK, RUSSIA:56.3708:101.699:262 BRAUNSCHWEIG, GERMANY:52.3192:10.5561:192 -BRAZZAVILLE, CONGO:-4.25167:15.2528 +BRAZZAVILLE, CONGO:-4.25167:15.2528:263 BREMEN, GERMANY:53.0758196:8.8071646:326 BREMERHAVEN, GERMANY:53.5033:8.57333:93 BREST, FRANCE:48.4478:W4.41833:49 -BRIA, CENTRAL AFRICAN REP.:6.52806:21.9889 -BRIDGETOWN, BARBADOS:13.0744:W59.4922 -BRIENNE-LE CHATEAU, FRANCE:48.4297:4.48111 +BRIA, CENTRAL AFRICAN REP.:6.52806:21.9889:2 +BRIDGETOWN, BARBADOS:13.0744:W59.4922:38 +BRIENNE-LE CHATEAU, FRANCE:48.4297:4.48111:21 BRINDISI, ITALY:40.6575:17.9469:333 BRISBANE, AUSTRALIA:-27.467778:153.028056:1000 BRISTOL, ENGLAND:51.4538022:W2.5972985:110 -BRIVE, FRANCE:45.1508:1.46917 -BRONNOYSUND, NORWAY:65.4592:12.2136 -BROUGH, ENGLAND:53.7194:W0.566111 -BROUGHTON ISLAND, CANADA:67.5458:W64.0314 -BROWNSVILLE, USA:25.9067:W97.4258 +BRIVE, FRANCE:45.1508:1.46917:48 +BRONNOYSUND, NORWAY:65.4592:12.2136:4 +BROWNSVILLE, USA:25.9067:W97.4258:376 BROYE-LES-PESMES, FRANCE:47.335:5.51361:25 -BRUECKEBURG, GERMANY:52.2783:9.08194 -BRUEGGEN, GERMANY:51.1997:6.13194 -BRUNEI, BRUNEI:4.94556:114.928 -BRUSSELS, BELGIUM:50.9022:4.49861 +BRUECKEBURG, GERMANY:52.2783:9.08194:68 +BRUEGGEN, GERMANY:51.1997:6.13194:61 +BRUSSELS, BELGIUM:50.9022:4.49861:32 BRYANSK, RUSSIA:53.2142:34.1764:186 -BRYAN, USA:30.7156:W96.3311 -BUATTIFEL, LIBYA:28.7953:22.0808 -BUCARAMANGA, COLOMBIA:7.12639:W73.1847 -BUCHAREST, ROMANIA:44.5031:26.1019 -BUCKLEY, USA:39.7017:W104.751 +BRYAN, USA:30.7156:W96.3311:140 +BUCARAMANGA, COLOMBIA:7.12639:W73.1847:162 +BUCHAREST, ROMANIA:44.5031:26.1019:228 +BUCKLEY, USA:39.7017:W104.751:10 BUDAPEST, HUNGARY:47.4367:19.2556:525 -BUECHEL, GERMANY:50.1736:7.06333 -BUENAVENTURA, COLOMBIA:3.81944:W76.9897 -BUENOS AIRES, ARGENTINA:-34.5006:W58.6042 -BUENOS AIRES, COSTA RICA:9.16694:W83.3325 -BUFFALO NARROWS, CANADA:55.8419:W108.418 -BUFFALO, USA:42.9403:W78.7319 -BUJUMBURA, BURUNDI:-3.32389:29.3183 -BUKAVU/KAVUMU, ZAIRE:-2.30889:28.8086 +BUECHEL, GERMANY:50.1736:7.06333:12 +BUENAVENTURA, COLOMBIA:3.81944:W76.9897:50 +BUENOS AIRES, ARGENTINA:-34.5006:W58.6042:203 +BUENOS AIRES, COSTA RICA:9.16694:W83.3325:555 +BUFFALO NARROWS, CANADA:55.8419:W108.418:68 +BUFFALO, USA:42.9403:W78.7319:136 +BUJUMBURA, BURUNDI:-3.32389:29.3183:86 +BUKAVU/KAVUMU, ZAIRE:-2.30889:28.8086:45 BUKHARA, RUSSIA:39.775:64.48:143 -BULAWAYO, ZIMBABWE:-20.0172:28.6178 -BULLOCKS HARBOUR, BAHAMAS:25.7381:W77.84 -BUNIA, ZAIRE:1.56556:30.2208 -BUOCHS, SWITZERLAND:46.9747:8.39889 -BURBANK, USA:34.2006:W118.359 -BURGOS, SPAIN:42.3575:W3.62056 -BURLINGTON, USA:44.4717:W73.1531 +BULAWAYO, ZIMBABWE:-20.0172:28.6178:1707 +BUNIA, ZAIRE:1.56556:30.2208:576 +BURBANK, USA:34.2006:W118.359:44 +BURGOS, SPAIN:42.3575:W3.62056:107 +BURLINGTON, USA:44.4717:W73.1531:40 BURSA, TURKEY:40.2317:29.0092:1036 -BURWASH, CANADA:61.3711:W139.041 -BUSAN, KOREA:35.1708:129.129 -BUSHEHR, IRAN:28.9447:50.8344 -BUSH FIELD, USA:33.3697:W81.9644 -BUTA ZEGA, ZAIRE:2.81778:24.7939 -BUTTERWORTH, MALAYSIA:5.46583:100.391 -BYHOLMA, SWEDEN:56.785:13.6017 +BURWASH, CANADA:61.3711:W139.041:30 +BUSAN, KOREA:35.1708:129.129:770 +BUSHEHR, IRAN:28.9447:50.8344:50 CABALLOCOCHA, PERU:-3.91667:W70.5081 CABINDA, ANGOLA:-5.59694:12.1883 CABO ROJO, DOMINICAN REPUBLIC:17.9289:W71.6447 diff --git a/manualapprove.py b/manualapprove.py index 9d2944d8d..d89f23a79 100644 --- a/manualapprove.py +++ b/manualapprove.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "ActivityPub" import os from follow import followedAccountAccepts diff --git a/mastoapiv1.py b/mastoapiv1.py index 8a1b03a8b..0a0e48ac0 100644 --- a/mastoapiv1.py +++ b/mastoapiv1.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Metadata" import os from utils import loadJson diff --git a/matrix.py b/matrix.py index 958b36618..0d493b0dc 100644 --- a/matrix.py +++ b/matrix.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Profile Metadata" def getMatrixAddress(actorJson: {}) -> str: diff --git a/media.py b/media.py index 14dd997d3..8b83d4f0d 100644 --- a/media.py +++ b/media.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Timeline" import os import datetime diff --git a/metadata.py b/metadata.py index 7add87590..4f55f1cc7 100644 --- a/metadata.py +++ b/metadata.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Metadata" import os from utils import isAccountDir diff --git a/migrate.py b/migrate.py index 73d7f07a8..4cca4b0e8 100644 --- a/migrate.py +++ b/migrate.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Core" import os from utils import getNicknameFromActor diff --git a/newsdaemon.py b/newsdaemon.py index 93afeca3f..bc8e4f5f0 100644 --- a/newsdaemon.py +++ b/newsdaemon.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "RSS Feeds" # Example hashtag logic: # diff --git a/newswire.py b/newswire.py index fdbc075f8..24297bc05 100644 --- a/newswire.py +++ b/newswire.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "RSS Feeds" import os import json diff --git a/outbox.py b/outbox.py index 8f5562d62..84d3a873c 100644 --- a/outbox.py +++ b/outbox.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Timeline" import os from shutil import copyfile diff --git a/person.py b/person.py index 69f639d70..164662c4b 100644 --- a/person.py +++ b/person.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "ActivityPub" import time import os @@ -1208,7 +1209,7 @@ def setPersonNotes(baseDir: str, nickname: str, domain: str, return True -def getActorJson(handle: str, http: bool, gnunet: bool, +def getActorJson(hostDomain: str, handle: str, http: bool, gnunet: bool, debug: bool, quiet=False) -> ({}, {}): """Returns the actor json """ @@ -1353,7 +1354,7 @@ def getActorJson(handle: str, http: bool, gnunet: bool, } personJson = \ getJson(session, personUrl, asHeader, None, - debug, __version__, httpPrefix, None, 20, quiet) + debug, __version__, httpPrefix, hostDomain, 20, quiet) if personJson: if not quiet: pprint(personJson) diff --git a/pgp.py b/pgp.py index 722adb707..f8cb96970 100644 --- a/pgp.py +++ b/pgp.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Profile Metadata" import os import subprocess @@ -331,12 +332,13 @@ def _pgpEncrypt(content: str, recipientPubKey: str) -> str: return encryptResult -def _getPGPPublicKeyFromActor(handle: str, actorJson=None) -> str: +def _getPGPPublicKeyFromActor(domain: str, handle: str, actorJson=None) -> str: """Searches tags on the actor to see if there is any PGP public key specified """ if not actorJson: - actorJson, asHeader = getActorJson(handle, False, False, False, True) + actorJson, asHeader = \ + getActorJson(domain, handle, False, False, False, True) if not actorJson: return None if not actorJson.get('attachment'): @@ -368,18 +370,18 @@ def hasLocalPGPkey() -> bool: return False -def pgpEncryptToActor(content: str, toHandle: str) -> str: +def pgpEncryptToActor(domain: str, content: str, toHandle: str) -> str: """PGP encrypt a message to the given actor or handle """ # get the actor and extract the pgp public key from it - recipientPubKey = _getPGPPublicKeyFromActor(toHandle) + recipientPubKey = _getPGPPublicKeyFromActor(domain, toHandle) if not recipientPubKey: return None # encrypt using the recipient public key return _pgpEncrypt(content, recipientPubKey) -def pgpDecrypt(content: str, fromHandle: str) -> str: +def pgpDecrypt(domain: str, content: str, fromHandle: str) -> str: """ Encrypt using your default pgp key to the given recipient fromHandle can be a handle or actor url """ @@ -390,7 +392,7 @@ def pgpDecrypt(content: str, fromHandle: str) -> str: if containsPGPPublicKey(content): pubKey = extractPGPPublicKey(content) else: - pubKey = _getPGPPublicKeyFromActor(content, fromHandle) + pubKey = _getPGPPublicKeyFromActor(domain, content, fromHandle) if pubKey: _pgpImportPubKey(pubKey) @@ -476,7 +478,8 @@ def pgpPublicKeyUpload(baseDir: str, session, if debug: print('Getting actor for ' + handle) - actorJson, asHeader = getActorJson(handle, False, False, debug, True) + actorJson, asHeader = \ + getActorJson(domain, handle, False, False, debug, True) if not actorJson: if debug: print('No actor returned for ' + handle) diff --git a/posts.py b/posts.py index 726357b59..6c26b3d04 100644 --- a/posts.py +++ b/posts.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "ActivityPub" import json import html diff --git a/question.py b/question.py index 4655e9bc8..7b7328f44 100644 --- a/question.py +++ b/question.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "ActivityPub" import os from utils import locatePost diff --git a/schedule.py b/schedule.py index 25cdc2868..de9a0b244 100644 --- a/schedule.py +++ b/schedule.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Calendar" import os import time diff --git a/scripts/blocked b/scripts/blocked new file mode 100755 index 000000000..7dffe76b0 --- /dev/null +++ b/scripts/blocked @@ -0,0 +1,7 @@ +#!/bin/bash +journalctl -u epicyon | grep 'getJson Forbidden ' > .blocked_events.txt +if [ ! -f .blocked_events.txt ]; then + echo 'No blocking events' +else + cat .blocked_events.txt +fi diff --git a/scripts/unauthorized b/scripts/unauthorized new file mode 100755 index 000000000..1c6df0eb0 --- /dev/null +++ b/scripts/unauthorized @@ -0,0 +1,7 @@ +#!/bin/bash +journalctl -u epicyon | grep 'getJson Unauthorized ' > .unauthorized.txt +if [ ! -f .unauthorized.txt ]; then + echo 'No unauthorized events' +else + cat .unauthorized.txt +fi diff --git a/session.py b/session.py index c2c02a128..c1ad5087e 100644 --- a/session.py +++ b/session.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Core" import os import requests @@ -12,6 +13,7 @@ from utils import urlPermitted import json from socket import error as SocketError import errno +from http.client import HTTPConnection baseDirectory = None @@ -103,27 +105,41 @@ def getJson(session, url: str, headers: {}, params: {}, debug: bool, if not quiet: print('WARN: getJson failed, no session specified for getJson') return None + + if debug: + HTTPConnection.debuglevel = 1 + try: result = session.get(url, headers=sessionHeaders, params=sessionParams, timeout=timeoutSec) + if result.status_code != 200: + if result.status_code == 401: + print('WARN: getJson Unauthorized url: ' + url) + elif result.status_code == 403: + print('WARN: getJson Forbidden url: ' + url) + elif result.status_code == 404: + print('WARN: getJson Not Found url: ' + url) + else: + print('WARN: getJson url: ' + url + + ' failed with error code ' + + str(result.status_code)) return result.json() except requests.exceptions.RequestException as e: sessionHeaders2 = sessionHeaders.copy() if sessionHeaders2.get('Authorization'): sessionHeaders2['Authorization'] = 'REDACTED' if debug and not quiet: - print('ERROR: getJson failed\nurl: ' + str(url) + ' ' + - 'headers: ' + str(sessionHeaders2) + ' ' + - 'params: ' + str(sessionParams)) - print(e) + print('ERROR: getJson failed, url: ' + str(url) + ', ' + + 'headers: ' + str(sessionHeaders2) + ', ' + + 'params: ' + str(sessionParams) + ', ' + str(e)) except ValueError as e: sessionHeaders2 = sessionHeaders.copy() if sessionHeaders2.get('Authorization'): sessionHeaders2['Authorization'] = 'REDACTED' if debug and not quiet: - print('ERROR: getJson failed\nurl: ' + str(url) + ' ' + - 'headers: ' + str(sessionHeaders2) + ' ' + - 'params: ' + str(sessionParams) + ' ' + str(e)) + print('ERROR: getJson failed, url: ' + str(url) + ', ' + + 'headers: ' + str(sessionHeaders2) + ', ' + + 'params: ' + str(sessionParams) + ', ' + str(e)) except SocketError as e: if not quiet: if e.errno == errno.ECONNRESET: diff --git a/shares.py b/shares.py index 7e21ae8d8..467209750 100644 --- a/shares.py +++ b/shares.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Timeline" import os import time diff --git a/ssb.py b/ssb.py index 0996a1438..2c2a3af7a 100644 --- a/ssb.py +++ b/ssb.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Profile Metadata" def getSSBAddress(actorJson: {}) -> str: diff --git a/tests.py b/tests.py index 91043e0af..02793351c 100644 --- a/tests.py +++ b/tests.py @@ -2877,6 +2877,7 @@ def testFunctions(): function = {} functionProperties = {} modules = {} + modGroups = {} for subdir, dirs, files in os.walk('.'): for sourceFile in files: @@ -2894,6 +2895,17 @@ def testFunctions(): lines = f.readlines() modules[modName]['lines'] = lines for line in lines: + if '__module_group__' in line: + if '=' in line: + groupName = line.split('=')[1].strip() + groupName = groupName.replace('"', '') + groupName = groupName.replace("'", '') + modules[modName]['group'] = groupName + if not modGroups.get(groupName): + modGroups[groupName] = [modName] + else: + if modName not in modGroups[groupName]: + modGroups[groupName].append(modName) if not line.strip().startswith('def '): continue methodName = line.split('def ', 1)[1].split('(')[0] @@ -3134,6 +3146,19 @@ def testFunctions(): continue for modCall in modProperties['calls']: callGraphStr += ' "' + modName + '" -> "' + modCall + '";\n' + # module groups/clusters + clusterCtr = 1 + for groupName, groupModules in modGroups.items(): + callGraphStr += '\n' + callGraphStr += \ + ' subgraph cluster_' + str(clusterCtr) + ' {\n' + callGraphStr += ' node [style=filled];\n' + for modName in groupModules: + callGraphStr += ' ' + modName + ';\n' + callGraphStr += ' label = "' + groupName + '";\n' + callGraphStr += ' color = blue;\n' + callGraphStr += ' }\n' + clusterCtr += 1 callGraphStr += '\n}\n' with open('epicyon_modules.dot', 'w+') as fp: fp.write(callGraphStr) diff --git a/tox.py b/tox.py index 502e64ec2..ecb058673 100644 --- a/tox.py +++ b/tox.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Profile Metadata" def getToxAddress(actorJson: {}) -> str: diff --git a/webapp_about.py b/webapp_about.py index 3a617232a..233d052f7 100644 --- a/webapp_about.py +++ b/webapp_about.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from shutil import copyfile diff --git a/webapp_accesskeys.py b/webapp_accesskeys.py index 7a88b4e60..9813a5d46 100644 --- a/webapp_accesskeys.py +++ b/webapp_accesskeys.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from utils import isAccountDir diff --git a/webapp_calendar.py b/webapp_calendar.py index 09a9c3ad6..486f8c061 100644 --- a/webapp_calendar.py +++ b/webapp_calendar.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Calendar" import os from datetime import datetime diff --git a/webapp_column_left.py b/webapp_column_left.py index 298fb87e7..5428650f0 100644 --- a/webapp_column_left.py +++ b/webapp_column_left.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from utils import getConfigParam diff --git a/webapp_column_right.py b/webapp_column_right.py index a430fece8..0d194c1b0 100644 --- a/webapp_column_right.py +++ b/webapp_column_right.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from datetime import datetime diff --git a/webapp_confirm.py b/webapp_confirm.py index 346d94893..9d9847dfb 100644 --- a/webapp_confirm.py +++ b/webapp_confirm.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from shutil import copyfile diff --git a/webapp_create_post.py b/webapp_create_post.py index 19f2e0e05..39dcd2da6 100644 --- a/webapp_create_post.py +++ b/webapp_create_post.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from utils import isPublicPostFromUrl diff --git a/webapp_frontscreen.py b/webapp_frontscreen.py index 01ab2b3bd..e8dd68233 100644 --- a/webapp_frontscreen.py +++ b/webapp_frontscreen.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from utils import isSystemAccount diff --git a/webapp_hashtagswarm.py b/webapp_hashtagswarm.py index d26374eb5..1fbe2713e 100644 --- a/webapp_hashtagswarm.py +++ b/webapp_hashtagswarm.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from shutil import copyfile diff --git a/webapp_headerbuttons.py b/webapp_headerbuttons.py index 139691607..61c239c1c 100644 --- a/webapp_headerbuttons.py +++ b/webapp_headerbuttons.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os diff --git a/webapp_login.py b/webapp_login.py index c549d75f4..c339c4ebf 100644 --- a/webapp_login.py +++ b/webapp_login.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os import time diff --git a/webapp_media.py b/webapp_media.py index 576c3c9fd..fe6217041 100644 --- a/webapp_media.py +++ b/webapp_media.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os diff --git a/webapp_moderation.py b/webapp_moderation.py index 07d64bbdd..4e79f9f4d 100644 --- a/webapp_moderation.py +++ b/webapp_moderation.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from utils import getFullDomain diff --git a/webapp_person_options.py b/webapp_person_options.py index 5bd87de76..026182d8f 100644 --- a/webapp_person_options.py +++ b/webapp_person_options.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from shutil import copyfile diff --git a/webapp_post.py b/webapp_post.py index 67670826e..61139fb8c 100644 --- a/webapp_post.py +++ b/webapp_post.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os import time diff --git a/webapp_profile.py b/webapp_profile.py index 17dd6930e..59e21e653 100644 --- a/webapp_profile.py +++ b/webapp_profile.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from pprint import pprint @@ -79,7 +80,7 @@ def htmlProfileAfterSearch(cssCache: {}, elif httpPrefix == 'gnunet': gnunet = True profileJson, asHeader = \ - getActorJson(profileHandle, http, gnunet, debug, False) + getActorJson(domain, profileHandle, http, gnunet, debug, False) if not profileJson: return None diff --git a/webapp_question.py b/webapp_question.py index bf09c69e5..ba04dae62 100644 --- a/webapp_question.py +++ b/webapp_question.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from question import isQuestion diff --git a/webapp_search.py b/webapp_search.py index 33e9b6de5..e6beb6c18 100644 --- a/webapp_search.py +++ b/webapp_search.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from shutil import copyfile diff --git a/webapp_suspended.py b/webapp_suspended.py index 074cff7ca..4f9d60953 100644 --- a/webapp_suspended.py +++ b/webapp_suspended.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from utils import getConfigParam diff --git a/webapp_timeline.py b/webapp_timeline.py index 50ec00fbc..8f4cb9d8e 100644 --- a/webapp_timeline.py +++ b/webapp_timeline.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Timeline" import os import time diff --git a/webapp_tos.py b/webapp_tos.py index 24d8badb0..3fe7c7f3d 100644 --- a/webapp_tos.py +++ b/webapp_tos.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from shutil import copyfile diff --git a/webapp_utils.py b/webapp_utils.py index 10c006106..4f077bd90 100644 --- a/webapp_utils.py +++ b/webapp_utils.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from collections import OrderedDict diff --git a/webapp_welcome.py b/webapp_welcome.py index 60d69612b..78e1cf441 100644 --- a/webapp_welcome.py +++ b/webapp_welcome.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from shutil import copyfile diff --git a/webapp_welcome_final.py b/webapp_welcome_final.py index b1635cd29..e3586aa72 100644 --- a/webapp_welcome_final.py +++ b/webapp_welcome_final.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from shutil import copyfile diff --git a/webapp_welcome_profile.py b/webapp_welcome_profile.py index e3d164d9f..d734587c8 100644 --- a/webapp_welcome_profile.py +++ b/webapp_welcome_profile.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Web Interface" import os from shutil import copyfile diff --git a/webfinger.py b/webfinger.py index 1f4bacdf2..6235eb429 100644 --- a/webfinger.py +++ b/webfinger.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "ActivityPub" import os import urllib.parse diff --git a/xmpp.py b/xmpp.py index 1fd0a6b22..707767a79 100644 --- a/xmpp.py +++ b/xmpp.py @@ -5,6 +5,7 @@ __version__ = "1.2.0" __maintainer__ = "Bob Mottram" __email__ = "bob@freedombone.net" __status__ = "Production" +__module_group__ = "Profile Metadata" def getXmppAddress(actorJson: {}) -> str: