Merge branch 'main' of ssh://code.freedombone.net:2222/bashrc/epicyon

main
Bob Mottram 2021-06-18 13:01:33 +01:00
commit 60c9f93f34
75 changed files with 329 additions and 255 deletions

View File

@ -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

View File

@ -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

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "Security"
import base64
import hashlib

View File

@ -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

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "ActivityPub"
import os
import json

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "ActivityPub"
import os
import datetime

View File

@ -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

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "Spoofing"
import os
import datetime

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "Security"
validContexts = (

View File

@ -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

View File

@ -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. ' + \

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "Profile Metadata"
def _getDonationTypes() -> str:

View File

@ -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:

View File

@ -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:

View File

@ -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

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "Calendar"
import os

1
git.py
View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "ActivityPub"
import os
import html

View File

@ -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

View File

@ -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
#

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "Timeline"
import json
import os

View File

@ -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:

View File

@ -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

View File

@ -7,6 +7,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "Security"
import base64
import hashlib

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "Timeline"
import os
import datetime

View File

@ -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

View File

@ -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

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "RSS Feeds"
# Example hashtag logic:
#

View File

@ -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

View File

@ -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

View File

@ -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)

17
pgp.py
View File

@ -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)

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "ActivityPub"
import json
import html

View File

@ -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

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "Calendar"
import os
import time

7
scripts/blocked 100755
View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "Timeline"
import os
import time

1
ssb.py
View File

@ -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:

View File

@ -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)

1
tox.py
View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "Web Interface"
import os

View File

@ -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

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "Web Interface"
import os

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -5,6 +5,7 @@ __version__ = "1.2.0"
__maintainer__ = "Bob Mottram"
__email__ = "bob@freedombone.net"
__status__ = "Production"
__module_group__ = "Timeline"
import os
import time

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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: