mirror of https://gitlab.com/bashrc2/epicyon
				
				
				
			Apply cw from lists
							parent
							
								
									d16942976b
								
							
						
					
					
						commit
						18d1c54fea
					
				
							
								
								
									
										69
									
								
								blocking.py
								
								
								
								
							
							
						
						
									
										69
									
								
								blocking.py
								
								
								
								
							|  | @ -876,26 +876,81 @@ def brochModeLapses(baseDir: str, lapseDays: int = 7) -> bool: | ||||||
|     return False |     return False | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def loadLists(baseDir: str, verbose: bool) -> {}: | def loadCWLists(baseDir: str, verbose: bool) -> {}: | ||||||
|     """Load lists used for blocking or warnings |     """Load lists used for content warnings | ||||||
|     """ |     """ | ||||||
|     if not os.path.isdir(baseDir + '/lists'): |     if not os.path.isdir(baseDir + '/cwlists'): | ||||||
|         return {} |         return {} | ||||||
|     result = {} |     result = {} | ||||||
|     for subdir, dirs, files in os.walk(baseDir + '/lists'): |     for subdir, dirs, files in os.walk(baseDir + '/cwlists'): | ||||||
|         for f in files: |         for f in files: | ||||||
|             if not f.endswith('.json'): |             if not f.endswith('.json'): | ||||||
|                 continue |                 continue | ||||||
|             listFilename = os.path.join(baseDir + '/lists', f) |             listFilename = os.path.join(baseDir + '/cwlists', f) | ||||||
|             listJson = loadJson(listFilename) |             print('listFilename: ' + listFilename) | ||||||
|  |             listJson = loadJson(listFilename, 0, 1) | ||||||
|             if not listJson: |             if not listJson: | ||||||
|                 continue |                 continue | ||||||
|             if not listJson.get('name'): |             if not listJson.get('name'): | ||||||
|                 continue |                 continue | ||||||
|             if not listJson('words') and not listJson.get('domains'): |             if not listJson.get('words') and not listJson.get('domains'): | ||||||
|                 continue |                 continue | ||||||
|             name = listJson['name'] |             name = listJson['name'] | ||||||
|             if verbose: |             if verbose: | ||||||
|                 print('List: ' + name) |                 print('List: ' + name) | ||||||
|             result[name] = listJson |             result[name] = listJson | ||||||
|     return result |     return result | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def addCWfromLists(postJsonObject: {}, CWlists: {}, translate: {}) -> None: | ||||||
|  |     """Adds content warnings by matching the post content | ||||||
|  |     against domains or keywords | ||||||
|  |     """ | ||||||
|  |     if not postJsonObject['object'].get('content'): | ||||||
|  |         return | ||||||
|  |     cw = '' | ||||||
|  |     if postJsonObject['object'].get('summary'): | ||||||
|  |         cw = postJsonObject['object']['summary'] | ||||||
|  | 
 | ||||||
|  |     content = postJsonObject['object']['content'] | ||||||
|  |     for name, item in CWlists.items(): | ||||||
|  |         if not item.get('warning'): | ||||||
|  |             continue | ||||||
|  |         warning = item['warning'] | ||||||
|  | 
 | ||||||
|  |         # is there a translated version of the warning? | ||||||
|  |         if translate.get(warning): | ||||||
|  |             warning = translate[warning] | ||||||
|  | 
 | ||||||
|  |         # is the warning already in the CW? | ||||||
|  |         if warning in cw: | ||||||
|  |             continue | ||||||
|  | 
 | ||||||
|  |         matched = False | ||||||
|  | 
 | ||||||
|  |         # match domains within the content | ||||||
|  |         if item.get('domains'): | ||||||
|  |             for domain in item['domains']: | ||||||
|  |                 if domain in content: | ||||||
|  |                     if cw: | ||||||
|  |                         cw = warning + ' / ' + cw | ||||||
|  |                     else: | ||||||
|  |                         cw = warning | ||||||
|  |                     matched = True | ||||||
|  |                     break | ||||||
|  | 
 | ||||||
|  |         if matched: | ||||||
|  |             continue | ||||||
|  | 
 | ||||||
|  |         # match words within the content | ||||||
|  |         if item.get('words'): | ||||||
|  |             for wordStr in item['words']: | ||||||
|  |                 if wordStr in content: | ||||||
|  |                     if cw: | ||||||
|  |                         cw = warning + ' / ' + cw | ||||||
|  |                     else: | ||||||
|  |                         cw = warning | ||||||
|  |                     break | ||||||
|  |     if cw: | ||||||
|  |         postJsonObject['object']['summary'] = cw | ||||||
|  |         postJsonObject['object']['sensitive'] = True | ||||||
|  |  | ||||||
|  | @ -0,0 +1,171 @@ | ||||||
|  | { | ||||||
|  |     "name": "Murdoch press", | ||||||
|  |     "warning": "Murdoch Press", | ||||||
|  |     "words": [], | ||||||
|  |     "domains": [ | ||||||
|  | 	"api.news", | ||||||
|  | 	"content.api.news", | ||||||
|  | 	"newscdn.com.au", | ||||||
|  | 	"resourcesssl.newscdn.com.au", | ||||||
|  | 	"thesun.co.uk", | ||||||
|  | 	"ads.thesun.co.uk", | ||||||
|  | 	"cdn.thesun.co.uk", | ||||||
|  | 	"cmp.cdn.thesun.co.uk", | ||||||
|  | 	"www.thesun.co.uk", | ||||||
|  | 	"thetimes.co.uk", | ||||||
|  | 	"ads.thetimes.co.uk", | ||||||
|  | 	"www.thetimes.co.uk", | ||||||
|  | 	"thesundaytimes.co.uk", | ||||||
|  | 	"pressassociation.com", | ||||||
|  | 	"news.co.uk", | ||||||
|  | 	"www.news.co.uk", | ||||||
|  | 	"newscorpaustralia.com", | ||||||
|  | 	"www.newscorpaustralia.com", | ||||||
|  | 	"logflume.newscorpaustralia.com", | ||||||
|  | 	"theaustralian.com.au", | ||||||
|  | 	"media.theaustralian.com.au", | ||||||
|  | 	"www.theaustralian.com.au", | ||||||
|  | 	"aap.com.au", | ||||||
|  | 	"www.aap.com.au", | ||||||
|  | 	"news.com.au", | ||||||
|  | 	"tags.news.com.au", | ||||||
|  | 	"go.news.com.au", | ||||||
|  | 	"origin.go.news.com.au", | ||||||
|  | 	"www.news.com.au", | ||||||
|  | 	"skynews.com.au", | ||||||
|  | 	"www.skynews.com.au", | ||||||
|  | 	"www.skyweather.com.au", | ||||||
|  | 	"skyweather.com.au", | ||||||
|  | 	"australiannewschannel.com.au", | ||||||
|  | 	"weeklytimesnow.com.au", | ||||||
|  | 	"www.weeklytimesnow.com.au", | ||||||
|  | 	"dailytelegraph.com.au", | ||||||
|  | 	"www.dailytelegraph.com.au", | ||||||
|  | 	"heraldsun.com.au", | ||||||
|  | 	"www.heraldsun.com.au", | ||||||
|  | 	"geelongadvertiser.com.au", | ||||||
|  | 	"www.geelongadvertiser.com.au", | ||||||
|  | 	"couriermail.com.au", | ||||||
|  | 	"www.couriermail.com.au", | ||||||
|  | 	"thesundaymail.com.au", | ||||||
|  | 	"goldcoastbulletin.com.au", | ||||||
|  | 	"www.goldcoastbulletin.com.au", | ||||||
|  | 	"cairnspost.com.au", | ||||||
|  | 	"www.cairnspost.com.au", | ||||||
|  | 	"townsvillebulletin.com.au", | ||||||
|  | 	"www.townsvillebulletin.com.au", | ||||||
|  | 	"adelaidenow.com.au", | ||||||
|  | 	"www.adelaidenow.com.au", | ||||||
|  | 	"themercury.com.au", | ||||||
|  | 	"www.themercury.com.au", | ||||||
|  | 	"ntnews.com.au", | ||||||
|  | 	"www.ntnews.com.au", | ||||||
|  | 	"postcourier.com.pg", | ||||||
|  | 	"nypost.com", | ||||||
|  | 	"embeds.nypost.com", | ||||||
|  | 	"pagesix.com", | ||||||
|  | 	"realtor.com", | ||||||
|  | 	"wsj.com", | ||||||
|  | 	"www.wsj.com", | ||||||
|  | 	"accounts.wsj.com", | ||||||
|  | 	"video-api.wsj.com", | ||||||
|  | 	"wsj.net", | ||||||
|  | 	"images.wsj.net", | ||||||
|  | 	"m4.wsj.net", | ||||||
|  | 	"m.wsj.net", | ||||||
|  | 	"s.wsj.net", | ||||||
|  | 	"si.wsj.net", | ||||||
|  | 	"sts3.wsj.net", | ||||||
|  | 	"vir.wsj.net", | ||||||
|  | 	"foxnews.com", | ||||||
|  | 	"www.foxnews.com", | ||||||
|  | 	"a57.foxnews.com", | ||||||
|  | 	"static.foxnews.com", | ||||||
|  | 	"fncstatic.com", | ||||||
|  | 	"global.fncstatic.com", | ||||||
|  | 	"foxnewsgo.com", | ||||||
|  | 	"www.foxbusiness.com", | ||||||
|  | 	"fox.com", | ||||||
|  | 	"strike.fox.com", | ||||||
|  | 	"foxbusiness.com", | ||||||
|  | 	"www.foxbusiness.com", | ||||||
|  | 	"foxsports.com", | ||||||
|  | 	"fssta.com", | ||||||
|  | 	"b.fssta.com", | ||||||
|  | 	"foxsports.com.au", | ||||||
|  | 	"dowjones.com", | ||||||
|  | 	"www.dowjones.com", | ||||||
|  | 	"images.dowjones.com", | ||||||
|  | 	"factiva.com", | ||||||
|  | 	"barrons.com", | ||||||
|  | 	"accounts.barrons.com", | ||||||
|  | 	"asset.barrons.com", | ||||||
|  | 	"images.barrons.com", | ||||||
|  | 	"video-api.barrons.com", | ||||||
|  | 	"www.barrons.com", | ||||||
|  | 	"marketwatch.com", | ||||||
|  | 	"www.marketwatch.com", | ||||||
|  | 	"heatst.com", | ||||||
|  | 	"fnlondon.com", | ||||||
|  | 	"www.fnlondon.com", | ||||||
|  | 	"assets.fnlondon.com", | ||||||
|  | 	"images.fnlondon.com", | ||||||
|  | 	"mansionglobal.com", | ||||||
|  | 	"images.mansionglobal.com", | ||||||
|  | 	"www.mansionglobal.com", | ||||||
|  | 	"spindices.com", | ||||||
|  | 	"spglobal.com", | ||||||
|  | 	"www.spglobal.com", | ||||||
|  | 	"talksport.com", | ||||||
|  | 	"ads.talksport.com", | ||||||
|  | 	"cdn259.talksport.com", | ||||||
|  | 	"harpercollins.com", | ||||||
|  | 	"www.harpercollins.com", | ||||||
|  | 	"bestrecipes.com.au", | ||||||
|  | 	"img.bestrecipes.com.au", | ||||||
|  | 	"www.bestrecipes.com.au", | ||||||
|  | 	"hipages.com.au", | ||||||
|  | 	"img.hipages.com.au", | ||||||
|  | 	"homeimprovementpages.com.au", | ||||||
|  | 	"assets.homeimprovementpages.com.au", | ||||||
|  | 	"odds.com.au", | ||||||
|  | 	"www.odds.com.au", | ||||||
|  | 	"onebigswitch.com.au", | ||||||
|  | 	"suddenly.com.au", | ||||||
|  | 	"www.suddenly.com.au", | ||||||
|  | 	"supercoach.com.au", | ||||||
|  | 	"punters.com.au", | ||||||
|  | 	"www.punters.com.au", | ||||||
|  | 	"kayosports.com.au", | ||||||
|  | 	"foxtel.com.au", | ||||||
|  | 	"www.foxtel.com.au", | ||||||
|  | 	"newscorp.com", | ||||||
|  | 	"storyful.com", | ||||||
|  | 	"vogue.com.au", | ||||||
|  | 	"media.vogue.com.au", | ||||||
|  | 	"www.vogue.com.au", | ||||||
|  | 	"taste.com.au", | ||||||
|  | 	"img.taste.com.au", | ||||||
|  | 	"www.taste.com.au", | ||||||
|  | 	"kidspot.com.au", | ||||||
|  | 	"go.kidspot.com.au", | ||||||
|  | 	"origin.go.kidspot.com.au", | ||||||
|  | 	"img.kidspot.com.au", | ||||||
|  | 	"www.kidspot.com.au", | ||||||
|  | 	"bodyandsoul.com.au", | ||||||
|  | 	"go.bodyandsoul.com.au", | ||||||
|  | 	"origin.bodyandsoul.com.au", | ||||||
|  | 	"www.bodyandsoul.com.au", | ||||||
|  | 	"realcommercial.com.au", | ||||||
|  | 	"www.realcommercial.com.au", | ||||||
|  | 	"reastatic.net", | ||||||
|  | 	"au.reastatic.net", | ||||||
|  | 	"rui.au.reastatic.net", | ||||||
|  | 	"s1.rui.au.reastatic.net", | ||||||
|  | 	"realestate.com.au", | ||||||
|  | 	"www.realestate.com.au", | ||||||
|  | 	"whereilive.com.au", | ||||||
|  | 	"www.newsoftheworld.co.uk", | ||||||
|  | 	"newsoftheworld.co.uk" | ||||||
|  |     ] | ||||||
|  | } | ||||||
							
								
								
									
										111
									
								
								daemon.py
								
								
								
								
							
							
						
						
									
										111
									
								
								daemon.py
								
								
								
								
							|  | @ -125,7 +125,7 @@ from media import replaceTwitter | ||||||
| from media import attachMedia | from media import attachMedia | ||||||
| from media import pathIsVideo | from media import pathIsVideo | ||||||
| from media import pathIsAudio | from media import pathIsAudio | ||||||
| from blocking import loadLists | from blocking import loadCWLists | ||||||
| from blocking import updateBlockedCache | from blocking import updateBlockedCache | ||||||
| from blocking import mutePost | from blocking import mutePost | ||||||
| from blocking import unmutePost | from blocking import unmutePost | ||||||
|  | @ -1230,7 +1230,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                    self.server.peertubeInstances, |                                    self.server.peertubeInstances, | ||||||
|                                    self.server.themeName, |                                    self.server.themeName, | ||||||
|                                    self.server.maxLikeCount, |                                    self.server.maxLikeCount, | ||||||
|                                    self.server.maxRecentPosts) |                                    self.server.maxRecentPosts, | ||||||
|  |                                    self.server.CWlists) | ||||||
| 
 | 
 | ||||||
|     def _postToOutboxThread(self, messageJson: {}) -> bool: |     def _postToOutboxThread(self, messageJson: {}) -> bool: | ||||||
|         """Creates a thread to send a post |         """Creates a thread to send a post | ||||||
|  | @ -3008,7 +3009,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                       self.server.themeName, |                                       self.server.themeName, | ||||||
|                                       self.server.systemLanguage, |                                       self.server.systemLanguage, | ||||||
|                                       self.server.maxLikeCount, |                                       self.server.maxLikeCount, | ||||||
|                                       self.server.signingPrivateKeyPem) |                                       self.server.signingPrivateKeyPem, | ||||||
|  |                                       self.server.CWlists) | ||||||
|                 if hashtagStr: |                 if hashtagStr: | ||||||
|                     msg = hashtagStr.encode('utf-8') |                     msg = hashtagStr.encode('utf-8') | ||||||
|                     msglen = len(msg) |                     msglen = len(msg) | ||||||
|  | @ -3066,7 +3068,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                       self.server.themeName, 'outbox', |                                       self.server.themeName, 'outbox', | ||||||
|                                       self.server.systemLanguage, |                                       self.server.systemLanguage, | ||||||
|                                       self.server.maxLikeCount, |                                       self.server.maxLikeCount, | ||||||
|                                       self.server.signingPrivateKeyPem) |                                       self.server.signingPrivateKeyPem, | ||||||
|  |                                       self.server.CWlists) | ||||||
|                 if historyStr: |                 if historyStr: | ||||||
|                     msg = historyStr.encode('utf-8') |                     msg = historyStr.encode('utf-8') | ||||||
|                     msglen = len(msg) |                     msglen = len(msg) | ||||||
|  | @ -3104,7 +3107,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                       self.server.themeName, 'bookmarks', |                                       self.server.themeName, 'bookmarks', | ||||||
|                                       self.server.systemLanguage, |                                       self.server.systemLanguage, | ||||||
|                                       self.server.maxLikeCount, |                                       self.server.maxLikeCount, | ||||||
|                                       self.server.signingPrivateKeyPem) |                                       self.server.signingPrivateKeyPem, | ||||||
|  |                                       self.server.CWlists) | ||||||
|                 if bookmarksStr: |                 if bookmarksStr: | ||||||
|                     msg = bookmarksStr.encode('utf-8') |                     msg = bookmarksStr.encode('utf-8') | ||||||
|                     msglen = len(msg) |                     msglen = len(msg) | ||||||
|  | @ -3208,7 +3212,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                                accessKeys, |                                                accessKeys, | ||||||
|                                                self.server.systemLanguage, |                                                self.server.systemLanguage, | ||||||
|                                                self.server.maxLikeCount, |                                                self.server.maxLikeCount, | ||||||
|                                                signingPrivateKeyPem) |                                                signingPrivateKeyPem, | ||||||
|  |                                                self.server.CWlists) | ||||||
|                 if profileStr: |                 if profileStr: | ||||||
|                     msg = profileStr.encode('utf-8') |                     msg = profileStr.encode('utf-8') | ||||||
|                     msglen = len(msg) |                     msglen = len(msg) | ||||||
|  | @ -6728,7 +6733,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                               self.server.themeName, |                               self.server.themeName, | ||||||
|                               self.server.systemLanguage, |                               self.server.systemLanguage, | ||||||
|                               self.server.maxLikeCount, |                               self.server.maxLikeCount, | ||||||
|                               self.server.signingPrivateKeyPem) |                               self.server.signingPrivateKeyPem, | ||||||
|  |                               self.server.CWlists) | ||||||
|         if hashtagStr: |         if hashtagStr: | ||||||
|             msg = hashtagStr.encode('utf-8') |             msg = hashtagStr.encode('utf-8') | ||||||
|             msglen = len(msg) |             msglen = len(msg) | ||||||
|  | @ -6950,7 +6956,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                  showRepeats, |                                  showRepeats, | ||||||
|                                  showIndividualPostIcons, |                                  showIndividualPostIcons, | ||||||
|                                  manuallyApproveFollowers, |                                  manuallyApproveFollowers, | ||||||
|                                  False, True, False) |                                  False, True, False, | ||||||
|  |                                  self.server.CWlists) | ||||||
| 
 | 
 | ||||||
|         self.server.GETbusy = False |         self.server.GETbusy = False | ||||||
|         actorAbsolute = self._getInstanceUrl(callingDomain) + actor |         actorAbsolute = self._getInstanceUrl(callingDomain) + actor | ||||||
|  | @ -7431,7 +7438,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                      showRepeats, |                                      showRepeats, | ||||||
|                                      showIndividualPostIcons, |                                      showIndividualPostIcons, | ||||||
|                                      manuallyApproveFollowers, |                                      manuallyApproveFollowers, | ||||||
|                                      False, True, False) |                                      False, True, False, | ||||||
|  |                                      self.server.CWlists) | ||||||
|             else: |             else: | ||||||
|                 print('WARN: Liked post not found: ' + likedPostFilename) |                 print('WARN: Liked post not found: ' + likedPostFilename) | ||||||
|             # clear the icon from the cache so that it gets updated |             # clear the icon from the cache so that it gets updated | ||||||
|  | @ -7591,7 +7599,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                      showRepeats, |                                      showRepeats, | ||||||
|                                      showIndividualPostIcons, |                                      showIndividualPostIcons, | ||||||
|                                      manuallyApproveFollowers, |                                      manuallyApproveFollowers, | ||||||
|                                      False, True, False) |                                      False, True, False, | ||||||
|  |                                      self.server.CWlists) | ||||||
|             else: |             else: | ||||||
|                 print('WARN: Unliked post not found: ' + likedPostFilename) |                 print('WARN: Unliked post not found: ' + likedPostFilename) | ||||||
|             # clear the icon from the cache so that it gets updated |             # clear the icon from the cache so that it gets updated | ||||||
|  | @ -7726,7 +7735,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                      showRepeats, |                                      showRepeats, | ||||||
|                                      showIndividualPostIcons, |                                      showIndividualPostIcons, | ||||||
|                                      manuallyApproveFollowers, |                                      manuallyApproveFollowers, | ||||||
|                                      False, True, False) |                                      False, True, False, | ||||||
|  |                                      self.server.CWlists) | ||||||
|             else: |             else: | ||||||
|                 print('WARN: Bookmarked post not found: ' + bookmarkFilename) |                 print('WARN: Bookmarked post not found: ' + bookmarkFilename) | ||||||
|         # self._postToOutbox(bookmarkJson, self.server.projectVersion, None) |         # self._postToOutbox(bookmarkJson, self.server.projectVersion, None) | ||||||
|  | @ -7860,7 +7870,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                      showRepeats, |                                      showRepeats, | ||||||
|                                      showIndividualPostIcons, |                                      showIndividualPostIcons, | ||||||
|                                      manuallyApproveFollowers, |                                      manuallyApproveFollowers, | ||||||
|                                      False, True, False) |                                      False, True, False, | ||||||
|  |                                      self.server.CWlists) | ||||||
|             else: |             else: | ||||||
|                 print('WARN: Unbookmarked post not found: ' + bookmarkFilename) |                 print('WARN: Unbookmarked post not found: ' + bookmarkFilename) | ||||||
|         self.server.GETbusy = False |         self.server.GETbusy = False | ||||||
|  | @ -7962,7 +7973,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                   self.server.themeName, |                                   self.server.themeName, | ||||||
|                                   self.server.systemLanguage, |                                   self.server.systemLanguage, | ||||||
|                                   self.server.maxLikeCount, |                                   self.server.maxLikeCount, | ||||||
|                                   self.server.signingPrivateKeyPem) |                                   self.server.signingPrivateKeyPem, | ||||||
|  |                                   self.server.CWlists) | ||||||
|             if deleteStr: |             if deleteStr: | ||||||
|                 deleteStrLen = len(deleteStr) |                 deleteStrLen = len(deleteStr) | ||||||
|                 self._set_headers('text/html', deleteStrLen, |                 self._set_headers('text/html', deleteStrLen, | ||||||
|  | @ -8070,7 +8082,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                      showIndividualPostIcons, |                                      showIndividualPostIcons, | ||||||
|                                      manuallyApproveFollowers, |                                      manuallyApproveFollowers, | ||||||
|                                      showPublicOnly, storeToCache, |                                      showPublicOnly, storeToCache, | ||||||
|                                      useCacheOnly) |                                      useCacheOnly, | ||||||
|  |                                      self.server.CWlists) | ||||||
|             else: |             else: | ||||||
|                 print('WARN: Muted post not found: ' + muteFilename) |                 print('WARN: Muted post not found: ' + muteFilename) | ||||||
| 
 | 
 | ||||||
|  | @ -8179,7 +8192,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                      showIndividualPostIcons, |                                      showIndividualPostIcons, | ||||||
|                                      manuallyApproveFollowers, |                                      manuallyApproveFollowers, | ||||||
|                                      showPublicOnly, storeToCache, |                                      showPublicOnly, storeToCache, | ||||||
|                                      useCacheOnly) |                                      useCacheOnly, | ||||||
|  |                                      self.server.CWlists) | ||||||
|             else: |             else: | ||||||
|                 print('WARN: Unmuted post not found: ' + muteFilename) |                 print('WARN: Unmuted post not found: ' + muteFilename) | ||||||
|         self.server.GETbusy = False |         self.server.GETbusy = False | ||||||
|  | @ -8302,7 +8316,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                     self.server.themeName, |                                     self.server.themeName, | ||||||
|                                     self.server.systemLanguage, |                                     self.server.systemLanguage, | ||||||
|                                     self.server.maxLikeCount, |                                     self.server.maxLikeCount, | ||||||
|                                     self.server.signingPrivateKeyPem) |                                     self.server.signingPrivateKeyPem, | ||||||
|  |                                     self.server.CWlists) | ||||||
|                 msg = msg.encode('utf-8') |                 msg = msg.encode('utf-8') | ||||||
|                 msglen = len(msg) |                 msglen = len(msg) | ||||||
|                 self._set_headers('text/html', msglen, |                 self._set_headers('text/html', msglen, | ||||||
|  | @ -8401,7 +8416,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                     self.server.themeName, |                                     self.server.themeName, | ||||||
|                                     self.server.systemLanguage, |                                     self.server.systemLanguage, | ||||||
|                                     self.server.maxLikeCount, |                                     self.server.maxLikeCount, | ||||||
|                                     self.server.signingPrivateKeyPem) |                                     self.server.signingPrivateKeyPem, | ||||||
|  |                                     self.server.CWlists) | ||||||
|                 msg = msg.encode('utf-8') |                 msg = msg.encode('utf-8') | ||||||
|                 msglen = len(msg) |                 msglen = len(msg) | ||||||
|                 self._set_headers('text/html', msglen, |                 self._set_headers('text/html', msglen, | ||||||
|  | @ -8510,7 +8526,7 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                     self.server.maxLikeCount, |                                     self.server.maxLikeCount, | ||||||
|                                     self.server.sharedItemsFederatedDomains, |                                     self.server.sharedItemsFederatedDomains, | ||||||
|                                     rolesList, |                                     rolesList, | ||||||
|                                     None, None) |                                     None, None, self.server.CWlists) | ||||||
|                     msg = msg.encode('utf-8') |                     msg = msg.encode('utf-8') | ||||||
|                     msglen = len(msg) |                     msglen = len(msg) | ||||||
|                     self._set_headers('text/html', msglen, |                     self._set_headers('text/html', msglen, | ||||||
|  | @ -8623,7 +8639,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                                 self.server.maxLikeCount, |                                                 self.server.maxLikeCount, | ||||||
|                                                 sharedItemsFederatedDomains, |                                                 sharedItemsFederatedDomains, | ||||||
|                                                 skills, |                                                 skills, | ||||||
|                                                 None, None) |                                                 None, None, | ||||||
|  |                                                 self.server.CWlists) | ||||||
|                                 msg = msg.encode('utf-8') |                                 msg = msg.encode('utf-8') | ||||||
|                                 msglen = len(msg) |                                 msglen = len(msg) | ||||||
|                                 self._set_headers('text/html', msglen, |                                 self._set_headers('text/html', msglen, | ||||||
|  | @ -8772,7 +8789,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                    self.server.themeName, |                                    self.server.themeName, | ||||||
|                                    self.server.systemLanguage, |                                    self.server.systemLanguage, | ||||||
|                                    self.server.maxLikeCount, |                                    self.server.maxLikeCount, | ||||||
|                                    self.server.signingPrivateKeyPem) |                                    self.server.signingPrivateKeyPem, | ||||||
|  |                                    self.server.CWlists) | ||||||
|             msg = msg.encode('utf-8') |             msg = msg.encode('utf-8') | ||||||
|             msglen = len(msg) |             msglen = len(msg) | ||||||
|             self._set_headers('text/html', msglen, |             self._set_headers('text/html', msglen, | ||||||
|  | @ -9018,7 +9036,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                         self.server.systemLanguage, |                                         self.server.systemLanguage, | ||||||
|                                         self.server.maxLikeCount, |                                         self.server.maxLikeCount, | ||||||
|                                         sharedItemsFederatedDomains, |                                         sharedItemsFederatedDomains, | ||||||
|                                         self.server.signingPrivateKeyPem) |                                         self.server.signingPrivateKeyPem, | ||||||
|  |                                         self.server.CWlists) | ||||||
|                         if GETstartTime: |                         if GETstartTime: | ||||||
|                             fitnessPerformance(GETstartTime, |                             fitnessPerformance(GETstartTime, | ||||||
|                                                self.server.fitness, |                                                self.server.fitness, | ||||||
|  | @ -9166,7 +9185,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                          self.server.systemLanguage, |                                          self.server.systemLanguage, | ||||||
|                                          self.server.maxLikeCount, |                                          self.server.maxLikeCount, | ||||||
|                                          sharedItemsFederatedDomains, |                                          sharedItemsFederatedDomains, | ||||||
|                                          self.server.signingPrivateKeyPem) |                                          self.server.signingPrivateKeyPem, | ||||||
|  |                                          self.server.CWlists) | ||||||
|                         msg = msg.encode('utf-8') |                         msg = msg.encode('utf-8') | ||||||
|                         msglen = len(msg) |                         msglen = len(msg) | ||||||
|                         self._set_headers('text/html', msglen, |                         self._set_headers('text/html', msglen, | ||||||
|  | @ -9307,7 +9327,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                          self.server.systemLanguage, |                                          self.server.systemLanguage, | ||||||
|                                          self.server.maxLikeCount, |                                          self.server.maxLikeCount, | ||||||
|                                          sharedItemsFederatedDomains, |                                          sharedItemsFederatedDomains, | ||||||
|                                          self.server.signingPrivateKeyPem) |                                          self.server.signingPrivateKeyPem, | ||||||
|  |                                          self.server.CWlists) | ||||||
|                     msg = msg.encode('utf-8') |                     msg = msg.encode('utf-8') | ||||||
|                     msglen = len(msg) |                     msglen = len(msg) | ||||||
|                     self._set_headers('text/html', msglen, |                     self._set_headers('text/html', msglen, | ||||||
|  | @ -9447,7 +9468,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                        self.server.systemLanguage, |                                        self.server.systemLanguage, | ||||||
|                                        self.server.maxLikeCount, |                                        self.server.maxLikeCount, | ||||||
|                                        self.server.sharedItemsFederatedDomains, |                                        self.server.sharedItemsFederatedDomains, | ||||||
|                                        self.server.signingPrivateKeyPem) |                                        self.server.signingPrivateKeyPem, | ||||||
|  |                                        self.server.CWlists) | ||||||
|                     msg = msg.encode('utf-8') |                     msg = msg.encode('utf-8') | ||||||
|                     msglen = len(msg) |                     msglen = len(msg) | ||||||
|                     self._set_headers('text/html', msglen, |                     self._set_headers('text/html', msglen, | ||||||
|  | @ -9587,7 +9609,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                        self.server.systemLanguage, |                                        self.server.systemLanguage, | ||||||
|                                        self.server.maxLikeCount, |                                        self.server.maxLikeCount, | ||||||
|                                        self.server.sharedItemsFederatedDomains, |                                        self.server.sharedItemsFederatedDomains, | ||||||
|                                        self.server.signingPrivateKeyPem) |                                        self.server.signingPrivateKeyPem, | ||||||
|  |                                        self.server.CWlists) | ||||||
|                     msg = msg.encode('utf-8') |                     msg = msg.encode('utf-8') | ||||||
|                     msglen = len(msg) |                     msglen = len(msg) | ||||||
|                     self._set_headers('text/html', msglen, |                     self._set_headers('text/html', msglen, | ||||||
|  | @ -9736,7 +9759,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                       self.server.systemLanguage, |                                       self.server.systemLanguage, | ||||||
|                                       self.server.maxLikeCount, |                                       self.server.maxLikeCount, | ||||||
|                                       self.server.sharedItemsFederatedDomains, |                                       self.server.sharedItemsFederatedDomains, | ||||||
|                                       self.server.signingPrivateKeyPem) |                                       self.server.signingPrivateKeyPem, | ||||||
|  |                                       self.server.CWlists) | ||||||
|                     msg = msg.encode('utf-8') |                     msg = msg.encode('utf-8') | ||||||
|                     msglen = len(msg) |                     msglen = len(msg) | ||||||
|                     self._set_headers('text/html', msglen, |                     self._set_headers('text/html', msglen, | ||||||
|  | @ -9883,7 +9907,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                           self.server.systemLanguage, |                                           self.server.systemLanguage, | ||||||
|                                           self.server.maxLikeCount, |                                           self.server.maxLikeCount, | ||||||
|                                           sharedItemsFederatedDomains, |                                           sharedItemsFederatedDomains, | ||||||
|                                           self.server.signingPrivateKeyPem) |                                           self.server.signingPrivateKeyPem, | ||||||
|  |                                           self.server.CWlists) | ||||||
|                     msg = msg.encode('utf-8') |                     msg = msg.encode('utf-8') | ||||||
|                     msglen = len(msg) |                     msglen = len(msg) | ||||||
|                     self._set_headers('text/html', msglen, |                     self._set_headers('text/html', msglen, | ||||||
|  | @ -9989,7 +10014,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                    self.server.systemLanguage, |                                    self.server.systemLanguage, | ||||||
|                                    self.server.maxLikeCount, |                                    self.server.maxLikeCount, | ||||||
|                                    self.server.sharedItemsFederatedDomains, |                                    self.server.sharedItemsFederatedDomains, | ||||||
|                                    self.server.signingPrivateKeyPem) |                                    self.server.signingPrivateKeyPem, | ||||||
|  |                                    self.server.CWlists) | ||||||
|                     msg = msg.encode('utf-8') |                     msg = msg.encode('utf-8') | ||||||
|                     msglen = len(msg) |                     msglen = len(msg) | ||||||
|                     self._set_headers('text/html', msglen, |                     self._set_headers('text/html', msglen, | ||||||
|  | @ -10073,7 +10099,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                    self.server.systemLanguage, |                                    self.server.systemLanguage, | ||||||
|                                    self.server.maxLikeCount, |                                    self.server.maxLikeCount, | ||||||
|                                    self.server.sharedItemsFederatedDomains, |                                    self.server.sharedItemsFederatedDomains, | ||||||
|                                    self.server.signingPrivateKeyPem) |                                    self.server.signingPrivateKeyPem, | ||||||
|  |                                    self.server.CWlists) | ||||||
|                     msg = msg.encode('utf-8') |                     msg = msg.encode('utf-8') | ||||||
|                     msglen = len(msg) |                     msglen = len(msg) | ||||||
|                     self._set_headers('text/html', msglen, |                     self._set_headers('text/html', msglen, | ||||||
|  | @ -10194,7 +10221,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                           self.server.systemLanguage, |                                           self.server.systemLanguage, | ||||||
|                                           self.server.maxLikeCount, |                                           self.server.maxLikeCount, | ||||||
|                                           sharedItemsFederatedDomains, |                                           sharedItemsFederatedDomains, | ||||||
|                                           self.server.signingPrivateKeyPem) |                                           self.server.signingPrivateKeyPem, | ||||||
|  |                                           self.server.CWlists) | ||||||
|                         msg = msg.encode('utf-8') |                         msg = msg.encode('utf-8') | ||||||
|                         msglen = len(msg) |                         msglen = len(msg) | ||||||
|                         self._set_headers('text/html', msglen, |                         self._set_headers('text/html', msglen, | ||||||
|  | @ -10332,7 +10360,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                self.server.systemLanguage, |                                self.server.systemLanguage, | ||||||
|                                self.server.maxLikeCount, |                                self.server.maxLikeCount, | ||||||
|                                self.server.sharedItemsFederatedDomains, |                                self.server.sharedItemsFederatedDomains, | ||||||
|                                self.server.signingPrivateKeyPem) |                                self.server.signingPrivateKeyPem, | ||||||
|  |                                self.server.CWlists) | ||||||
|                 msg = msg.encode('utf-8') |                 msg = msg.encode('utf-8') | ||||||
|                 msglen = len(msg) |                 msglen = len(msg) | ||||||
|                 self._set_headers('text/html', msglen, |                 self._set_headers('text/html', msglen, | ||||||
|  | @ -10461,7 +10490,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                            self.server.systemLanguage, |                                            self.server.systemLanguage, | ||||||
|                                            self.server.maxLikeCount, |                                            self.server.maxLikeCount, | ||||||
|                                            sharedItemsFederatedDomains, |                                            sharedItemsFederatedDomains, | ||||||
|                                            self.server.signingPrivateKeyPem) |                                            self.server.signingPrivateKeyPem, | ||||||
|  |                                            self.server.CWlists) | ||||||
|                         msg = msg.encode('utf-8') |                         msg = msg.encode('utf-8') | ||||||
|                         msglen = len(msg) |                         msglen = len(msg) | ||||||
|                         self._set_headers('text/html', msglen, |                         self._set_headers('text/html', msglen, | ||||||
|  | @ -10588,7 +10618,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                     self.server.maxLikeCount, |                                     self.server.maxLikeCount, | ||||||
|                                     self.server.sharedItemsFederatedDomains, |                                     self.server.sharedItemsFederatedDomains, | ||||||
|                                     shares, |                                     shares, | ||||||
|                                     pageNumber, sharesPerPage) |                                     pageNumber, sharesPerPage, | ||||||
|  |                                     self.server.CWlists) | ||||||
|                     msg = msg.encode('utf-8') |                     msg = msg.encode('utf-8') | ||||||
|                     msglen = len(msg) |                     msglen = len(msg) | ||||||
|                     self._set_headers('text/html', msglen, |                     self._set_headers('text/html', msglen, | ||||||
|  | @ -10712,7 +10743,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                     self.server.sharedItemsFederatedDomains, |                                     self.server.sharedItemsFederatedDomains, | ||||||
|                                     following, |                                     following, | ||||||
|                                     pageNumber, |                                     pageNumber, | ||||||
|                                     followsPerPage).encode('utf-8') |                                     followsPerPage, | ||||||
|  |                                     self.server.CWlists).encode('utf-8') | ||||||
|                     msglen = len(msg) |                     msglen = len(msg) | ||||||
|                     self._set_headers('text/html', |                     self._set_headers('text/html', | ||||||
|                                       msglen, cookie, callingDomain, False) |                                       msglen, cookie, callingDomain, False) | ||||||
|  | @ -10835,7 +10867,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                                     self.server.sharedItemsFederatedDomains, |                                     self.server.sharedItemsFederatedDomains, | ||||||
|                                     followers, |                                     followers, | ||||||
|                                     pageNumber, |                                     pageNumber, | ||||||
|                                     followsPerPage).encode('utf-8') |                                     followsPerPage, | ||||||
|  |                                     self.server.CWlists).encode('utf-8') | ||||||
|                     msglen = len(msg) |                     msglen = len(msg) | ||||||
|                     self._set_headers('text/html', msglen, |                     self._set_headers('text/html', msglen, | ||||||
|                                       cookie, callingDomain, False) |                                       cookie, callingDomain, False) | ||||||
|  | @ -10974,7 +11007,8 @@ class PubServer(BaseHTTPRequestHandler): | ||||||
|                             self.server.systemLanguage, |                             self.server.systemLanguage, | ||||||
|                             self.server.maxLikeCount, |                             self.server.maxLikeCount, | ||||||
|                             self.server.sharedItemsFederatedDomains, |                             self.server.sharedItemsFederatedDomains, | ||||||
|                             None, None).encode('utf-8') |                             None, None, None, | ||||||
|  |                             self.server.CWlists).encode('utf-8') | ||||||
|             msglen = len(msg) |             msglen = len(msg) | ||||||
|             self._set_headers('text/html', msglen, |             self._set_headers('text/html', msglen, | ||||||
|                               cookie, callingDomain, False) |                               cookie, callingDomain, False) | ||||||
|  | @ -17165,7 +17199,7 @@ def runDaemon(defaultReplyIntervalHours: int, | ||||||
|         updateBlockedCache(baseDir, httpd.blockedCache, |         updateBlockedCache(baseDir, httpd.blockedCache, | ||||||
|                            httpd.blockedCacheLastUpdated, |                            httpd.blockedCacheLastUpdated, | ||||||
|                            httpd.blockedCacheUpdateSecs) |                            httpd.blockedCacheUpdateSecs) | ||||||
|     httpd.lists = loadLists(baseDir, True) |     httpd.CWlists = loadCWLists(baseDir, True) | ||||||
| 
 | 
 | ||||||
|     # cache to store css files |     # cache to store css files | ||||||
|     httpd.cssCache = {} |     httpd.cssCache = {} | ||||||
|  | @ -17315,7 +17349,8 @@ def runDaemon(defaultReplyIntervalHours: int, | ||||||
|                               httpd.systemLanguage, |                               httpd.systemLanguage, | ||||||
|                               httpd.maxLikeCount, |                               httpd.maxLikeCount, | ||||||
|                               httpd.signingPrivateKeyPem, |                               httpd.signingPrivateKeyPem, | ||||||
|                               httpd.defaultReplyIntervalHours), daemon=True) |                               httpd.defaultReplyIntervalHours, | ||||||
|  |                               httpd.CWlists), daemon=True) | ||||||
| 
 | 
 | ||||||
|     print('Creating scheduled post thread') |     print('Creating scheduled post thread') | ||||||
|     httpd.thrPostSchedule = \ |     httpd.thrPostSchedule = \ | ||||||
|  |  | ||||||
							
								
								
									
										48
									
								
								inbox.py
								
								
								
								
							
							
						
						
									
										48
									
								
								inbox.py
								
								
								
								
							|  | @ -274,7 +274,8 @@ def _inboxStorePostToHtmlCache(recentPostsCache: {}, maxRecentPosts: int, | ||||||
|                                allowLocalNetworkAccess: bool, |                                allowLocalNetworkAccess: bool, | ||||||
|                                themeName: str, systemLanguage: str, |                                themeName: str, systemLanguage: str, | ||||||
|                                maxLikeCount: int, |                                maxLikeCount: int, | ||||||
|                                signingPrivateKeyPem: str) -> None: |                                signingPrivateKeyPem: str, | ||||||
|  |                                CWlists: {}) -> None: | ||||||
|     """Converts the json post into html and stores it in a cache |     """Converts the json post into html and stores it in a cache | ||||||
|     This enables the post to be quickly displayed later |     This enables the post to be quickly displayed later | ||||||
|     """ |     """ | ||||||
|  | @ -298,7 +299,8 @@ def _inboxStorePostToHtmlCache(recentPostsCache: {}, maxRecentPosts: int, | ||||||
|                          showPublishedDateOnly, |                          showPublishedDateOnly, | ||||||
|                          peertubeInstances, allowLocalNetworkAccess, |                          peertubeInstances, allowLocalNetworkAccess, | ||||||
|                          themeName, systemLanguage, maxLikeCount, |                          themeName, systemLanguage, maxLikeCount, | ||||||
|                          notDM, True, True, False, True, False) |                          notDM, True, True, False, True, False, | ||||||
|  |                          CWlists) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def validInbox(baseDir: str, nickname: str, domain: str) -> bool: | def validInbox(baseDir: str, nickname: str, domain: str) -> bool: | ||||||
|  | @ -980,7 +982,7 @@ def _receiveLike(recentPostsCache: {}, | ||||||
|                  peertubeInstances: [], |                  peertubeInstances: [], | ||||||
|                  allowLocalNetworkAccess: bool, |                  allowLocalNetworkAccess: bool, | ||||||
|                  themeName: str, systemLanguage: str, |                  themeName: str, systemLanguage: str, | ||||||
|                  maxLikeCount: int) -> bool: |                  maxLikeCount: int, CWlists: {}) -> bool: | ||||||
|     """Receives a Like activity within the POST section of HTTPServer |     """Receives a Like activity within the POST section of HTTPServer | ||||||
|     """ |     """ | ||||||
|     if messageJson['type'] != 'Like': |     if messageJson['type'] != 'Like': | ||||||
|  | @ -1082,7 +1084,7 @@ def _receiveLike(recentPostsCache: {}, | ||||||
|                                  maxLikeCount, notDM, |                                  maxLikeCount, notDM, | ||||||
|                                  showIndividualPostIcons, |                                  showIndividualPostIcons, | ||||||
|                                  manuallyApproveFollowers, |                                  manuallyApproveFollowers, | ||||||
|                                  False, True, False) |                                  False, True, False, CWlists) | ||||||
|     return True |     return True | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -1100,7 +1102,7 @@ def _receiveUndoLike(recentPostsCache: {}, | ||||||
|                      peertubeInstances: [], |                      peertubeInstances: [], | ||||||
|                      allowLocalNetworkAccess: bool, |                      allowLocalNetworkAccess: bool, | ||||||
|                      themeName: str, systemLanguage: str, |                      themeName: str, systemLanguage: str, | ||||||
|                      maxLikeCount: int) -> bool: |                      maxLikeCount: int, CWlists: {}) -> bool: | ||||||
|     """Receives an undo like activity within the POST section of HTTPServer |     """Receives an undo like activity within the POST section of HTTPServer | ||||||
|     """ |     """ | ||||||
|     if messageJson['type'] != 'Undo': |     if messageJson['type'] != 'Undo': | ||||||
|  | @ -1191,7 +1193,7 @@ def _receiveUndoLike(recentPostsCache: {}, | ||||||
|                                  maxLikeCount, notDM, |                                  maxLikeCount, notDM, | ||||||
|                                  showIndividualPostIcons, |                                  showIndividualPostIcons, | ||||||
|                                  manuallyApproveFollowers, |                                  manuallyApproveFollowers, | ||||||
|                                  False, True, False) |                                  False, True, False, CWlists) | ||||||
|     return True |     return True | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -1208,7 +1210,7 @@ def _receiveBookmark(recentPostsCache: {}, | ||||||
|                      peertubeInstances: [], |                      peertubeInstances: [], | ||||||
|                      allowLocalNetworkAccess: bool, |                      allowLocalNetworkAccess: bool, | ||||||
|                      themeName: str, systemLanguage: str, |                      themeName: str, systemLanguage: str, | ||||||
|                      maxLikeCount: int) -> bool: |                      maxLikeCount: int, CWlists: {}) -> bool: | ||||||
|     """Receives a bookmark activity within the POST section of HTTPServer |     """Receives a bookmark activity within the POST section of HTTPServer | ||||||
|     """ |     """ | ||||||
|     if not messageJson.get('type'): |     if not messageJson.get('type'): | ||||||
|  | @ -1299,7 +1301,7 @@ def _receiveBookmark(recentPostsCache: {}, | ||||||
|                              maxLikeCount, notDM, |                              maxLikeCount, notDM, | ||||||
|                              showIndividualPostIcons, |                              showIndividualPostIcons, | ||||||
|                              manuallyApproveFollowers, |                              manuallyApproveFollowers, | ||||||
|                              False, True, False) |                              False, True, False, CWlists) | ||||||
|     return True |     return True | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -1316,7 +1318,7 @@ def _receiveUndoBookmark(recentPostsCache: {}, | ||||||
|                          peertubeInstances: [], |                          peertubeInstances: [], | ||||||
|                          allowLocalNetworkAccess: bool, |                          allowLocalNetworkAccess: bool, | ||||||
|                          themeName: str, systemLanguage: str, |                          themeName: str, systemLanguage: str, | ||||||
|                          maxLikeCount: int) -> bool: |                          maxLikeCount: int, CWlists: {}) -> bool: | ||||||
|     """Receives an undo bookmark activity within the POST section of HTTPServer |     """Receives an undo bookmark activity within the POST section of HTTPServer | ||||||
|     """ |     """ | ||||||
|     if not messageJson.get('type'): |     if not messageJson.get('type'): | ||||||
|  | @ -1408,7 +1410,7 @@ def _receiveUndoBookmark(recentPostsCache: {}, | ||||||
|                              maxLikeCount, notDM, |                              maxLikeCount, notDM, | ||||||
|                              showIndividualPostIcons, |                              showIndividualPostIcons, | ||||||
|                              manuallyApproveFollowers, |                              manuallyApproveFollowers, | ||||||
|                              False, True, False) |                              False, True, False, CWlists) | ||||||
|     return True |     return True | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -1502,7 +1504,7 @@ def _receiveAnnounce(recentPostsCache: {}, | ||||||
|                      maxRecentPosts: int, |                      maxRecentPosts: int, | ||||||
|                      allowDeletion: bool, |                      allowDeletion: bool, | ||||||
|                      peertubeInstances: [], |                      peertubeInstances: [], | ||||||
|                      maxLikeCount: int) -> bool: |                      maxLikeCount: int, CWlists: {}) -> bool: | ||||||
|     """Receives an announce activity within the POST section of HTTPServer |     """Receives an announce activity within the POST section of HTTPServer | ||||||
|     """ |     """ | ||||||
|     if messageJson['type'] != 'Announce': |     if messageJson['type'] != 'Announce': | ||||||
|  | @ -1614,7 +1616,7 @@ def _receiveAnnounce(recentPostsCache: {}, | ||||||
|                              maxLikeCount, notDM, |                              maxLikeCount, notDM, | ||||||
|                              showIndividualPostIcons, |                              showIndividualPostIcons, | ||||||
|                              manuallyApproveFollowers, |                              manuallyApproveFollowers, | ||||||
|                              False, True, False) |                              False, True, False, CWlists) | ||||||
|     if not announceHtml: |     if not announceHtml: | ||||||
|         print('WARN: Unable to generate html for announce ' + |         print('WARN: Unable to generate html for announce ' + | ||||||
|               str(messageJson)) |               str(messageJson)) | ||||||
|  | @ -2551,7 +2553,8 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, | ||||||
|                        themeName: str, systemLanguage: str, |                        themeName: str, systemLanguage: str, | ||||||
|                        maxLikeCount: int, |                        maxLikeCount: int, | ||||||
|                        signingPrivateKeyPem: str, |                        signingPrivateKeyPem: str, | ||||||
|                        defaultReplyIntervalHours: int) -> bool: |                        defaultReplyIntervalHours: int, | ||||||
|  |                        CWlists: {}) -> bool: | ||||||
|     """ Anything which needs to be done after initial checks have passed |     """ Anything which needs to be done after initial checks have passed | ||||||
|     """ |     """ | ||||||
|     actor = keyId |     actor = keyId | ||||||
|  | @ -2581,7 +2584,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, | ||||||
|                     peertubeInstances, |                     peertubeInstances, | ||||||
|                     allowLocalNetworkAccess, |                     allowLocalNetworkAccess, | ||||||
|                     themeName, systemLanguage, |                     themeName, systemLanguage, | ||||||
|                     maxLikeCount): |                     maxLikeCount, CWlists): | ||||||
|         if debug: |         if debug: | ||||||
|             print('DEBUG: Like accepted from ' + actor) |             print('DEBUG: Like accepted from ' + actor) | ||||||
|         return False |         return False | ||||||
|  | @ -2603,7 +2606,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, | ||||||
|                         peertubeInstances, |                         peertubeInstances, | ||||||
|                         allowLocalNetworkAccess, |                         allowLocalNetworkAccess, | ||||||
|                         themeName, systemLanguage, |                         themeName, systemLanguage, | ||||||
|                         maxLikeCount): |                         maxLikeCount, CWlists): | ||||||
|         if debug: |         if debug: | ||||||
|             print('DEBUG: Undo like accepted from ' + actor) |             print('DEBUG: Undo like accepted from ' + actor) | ||||||
|         return False |         return False | ||||||
|  | @ -2625,7 +2628,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, | ||||||
|                         peertubeInstances, |                         peertubeInstances, | ||||||
|                         allowLocalNetworkAccess, |                         allowLocalNetworkAccess, | ||||||
|                         themeName, systemLanguage, |                         themeName, systemLanguage, | ||||||
|                         maxLikeCount): |                         maxLikeCount, CWlists): | ||||||
|         if debug: |         if debug: | ||||||
|             print('DEBUG: Bookmark accepted from ' + actor) |             print('DEBUG: Bookmark accepted from ' + actor) | ||||||
|         return False |         return False | ||||||
|  | @ -2647,7 +2650,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, | ||||||
|                             peertubeInstances, |                             peertubeInstances, | ||||||
|                             allowLocalNetworkAccess, |                             allowLocalNetworkAccess, | ||||||
|                             themeName, systemLanguage, |                             themeName, systemLanguage, | ||||||
|                             maxLikeCount): |                             maxLikeCount, CWlists): | ||||||
|         if debug: |         if debug: | ||||||
|             print('DEBUG: Undo bookmark accepted from ' + actor) |             print('DEBUG: Undo bookmark accepted from ' + actor) | ||||||
|         return False |         return False | ||||||
|  | @ -2673,7 +2676,7 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, | ||||||
|                         maxRecentPosts, |                         maxRecentPosts, | ||||||
|                         allowDeletion, |                         allowDeletion, | ||||||
|                         peertubeInstances, |                         peertubeInstances, | ||||||
|                         maxLikeCount): |                         maxLikeCount, CWlists): | ||||||
|         if debug: |         if debug: | ||||||
|             print('DEBUG: Announce accepted from ' + actor) |             print('DEBUG: Announce accepted from ' + actor) | ||||||
| 
 | 
 | ||||||
|  | @ -2954,7 +2957,8 @@ def _inboxAfterInitial(recentPostsCache: {}, maxRecentPosts: int, | ||||||
|                                                    allowLocalNetworkAccess, |                                                    allowLocalNetworkAccess, | ||||||
|                                                    themeName, systemLanguage, |                                                    themeName, systemLanguage, | ||||||
|                                                    maxLikeCount, |                                                    maxLikeCount, | ||||||
|                                                    signingPrivateKeyPem) |                                                    signingPrivateKeyPem, | ||||||
|  |                                                    CWlists) | ||||||
|                         if debug: |                         if debug: | ||||||
|                             timeDiff = \ |                             timeDiff = \ | ||||||
|                                 str(int((time.time() - htmlCacheStartTime) * |                                 str(int((time.time() - htmlCacheStartTime) * | ||||||
|  | @ -3239,7 +3243,8 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int, | ||||||
|                   verifyAllSignatures: bool, |                   verifyAllSignatures: bool, | ||||||
|                   themeName: str, systemLanguage: str, |                   themeName: str, systemLanguage: str, | ||||||
|                   maxLikeCount: int, signingPrivateKeyPem: str, |                   maxLikeCount: int, signingPrivateKeyPem: str, | ||||||
|                   defaultReplyIntervalHours: int) -> None: |                   defaultReplyIntervalHours: int, | ||||||
|  |                   CWlists: {}) -> None: | ||||||
|     """Processes received items and moves them to the appropriate |     """Processes received items and moves them to the appropriate | ||||||
|     directories |     directories | ||||||
|     """ |     """ | ||||||
|  | @ -3656,7 +3661,8 @@ def runInboxQueue(recentPostsCache: {}, maxRecentPosts: int, | ||||||
|                                themeName, systemLanguage, |                                themeName, systemLanguage, | ||||||
|                                maxLikeCount, |                                maxLikeCount, | ||||||
|                                signingPrivateKeyPem, |                                signingPrivateKeyPem, | ||||||
|                                defaultReplyIntervalHours) |                                defaultReplyIntervalHours, | ||||||
|  |                                CWlists) | ||||||
|             if debug: |             if debug: | ||||||
|                 pprint(queueJson['post']) |                 pprint(queueJson['post']) | ||||||
|                 print('Queue: Queue post accepted') |                 print('Queue: Queue post accepted') | ||||||
|  |  | ||||||
|  | @ -1,171 +0,0 @@ | ||||||
| { |  | ||||||
|     "name": "Murdoch press", |  | ||||||
|     "warning": "Murdoch Press", |  | ||||||
|     "words": [], |  | ||||||
|     "domains": [ |  | ||||||
| 	api.news, |  | ||||||
| 	content.api.news, |  | ||||||
| 	newscdn.com.au, |  | ||||||
| 	resourcesssl.newscdn.com.au, |  | ||||||
| 	thesun.co.uk, |  | ||||||
| 	ads.thesun.co.uk, |  | ||||||
| 	cdn.thesun.co.uk, |  | ||||||
| 	cmp.cdn.thesun.co.uk, |  | ||||||
| 	www.thesun.co.uk, |  | ||||||
| 	thetimes.co.uk, |  | ||||||
| 	ads.thetimes.co.uk, |  | ||||||
| 	www.thetimes.co.uk, |  | ||||||
| 	thesundaytimes.co.uk, |  | ||||||
| 	pressassociation.com, |  | ||||||
| 	news.co.uk, |  | ||||||
| 	www.news.co.uk, |  | ||||||
| 	newscorpaustralia.com, |  | ||||||
| 	www.newscorpaustralia.com, |  | ||||||
| 	logflume.newscorpaustralia.com, |  | ||||||
| 	theaustralian.com.au, |  | ||||||
| 	media.theaustralian.com.au, |  | ||||||
| 	www.theaustralian.com.au, |  | ||||||
| 	aap.com.au, |  | ||||||
| 	www.aap.com.au, |  | ||||||
| 	news.com.au, |  | ||||||
| 	tags.news.com.au, |  | ||||||
| 	go.news.com.au, |  | ||||||
| 	origin.go.news.com.au, |  | ||||||
| 	www.news.com.au, |  | ||||||
| 	skynews.com.au, |  | ||||||
| 	www.skynews.com.au, |  | ||||||
| 	www.skyweather.com.au, |  | ||||||
| 	skyweather.com.au, |  | ||||||
| 	australiannewschannel.com.au, |  | ||||||
| 	weeklytimesnow.com.au, |  | ||||||
| 	www.weeklytimesnow.com.au, |  | ||||||
| 	dailytelegraph.com.au, |  | ||||||
| 	www.dailytelegraph.com.au, |  | ||||||
| 	heraldsun.com.au, |  | ||||||
| 	www.heraldsun.com.au, |  | ||||||
| 	geelongadvertiser.com.au, |  | ||||||
| 	www.geelongadvertiser.com.au, |  | ||||||
| 	couriermail.com.au, |  | ||||||
| 	www.couriermail.com.au, |  | ||||||
| 	thesundaymail.com.au, |  | ||||||
| 	goldcoastbulletin.com.au, |  | ||||||
| 	www.goldcoastbulletin.com.au, |  | ||||||
| 	cairnspost.com.au, |  | ||||||
| 	www.cairnspost.com.au, |  | ||||||
| 	townsvillebulletin.com.au, |  | ||||||
| 	www.townsvillebulletin.com.au, |  | ||||||
| 	adelaidenow.com.au, |  | ||||||
| 	www.adelaidenow.com.au, |  | ||||||
| 	themercury.com.au, |  | ||||||
| 	www.themercury.com.au, |  | ||||||
| 	ntnews.com.au, |  | ||||||
| 	www.ntnews.com.au, |  | ||||||
| 	postcourier.com.pg, |  | ||||||
| 	nypost.com, |  | ||||||
| 	embeds.nypost.com, |  | ||||||
| 	pagesix.com, |  | ||||||
| 	realtor.com, |  | ||||||
| 	wsj.com, |  | ||||||
| 	www.wsj.com, |  | ||||||
| 	accounts.wsj.com, |  | ||||||
| 	video-api.wsj.com, |  | ||||||
| 	wsj.net, |  | ||||||
| 	images.wsj.net, |  | ||||||
| 	m4.wsj.net, |  | ||||||
| 	m.wsj.net, |  | ||||||
| 	s.wsj.net, |  | ||||||
| 	si.wsj.net, |  | ||||||
| 	sts3.wsj.net, |  | ||||||
| 	vir.wsj.net, |  | ||||||
| 	foxnews.com, |  | ||||||
| 	www.foxnews.com, |  | ||||||
| 	a57.foxnews.com, |  | ||||||
| 	static.foxnews.com, |  | ||||||
| 	fncstatic.com, |  | ||||||
| 	global.fncstatic.com, |  | ||||||
| 	foxnewsgo.com, |  | ||||||
| 	www.foxbusiness.com, |  | ||||||
| 	fox.com, |  | ||||||
| 	strike.fox.com, |  | ||||||
| 	foxbusiness.com, |  | ||||||
| 	www.foxbusiness.com, |  | ||||||
| 	foxsports.com, |  | ||||||
| 	fssta.com, |  | ||||||
| 	b.fssta.com, |  | ||||||
| 	foxsports.com.au, |  | ||||||
| 	dowjones.com, |  | ||||||
| 	www.dowjones.com, |  | ||||||
| 	images.dowjones.com, |  | ||||||
| 	factiva.com, |  | ||||||
| 	barrons.com, |  | ||||||
| 	accounts.barrons.com, |  | ||||||
| 	asset.barrons.com, |  | ||||||
| 	images.barrons.com, |  | ||||||
| 	video-api.barrons.com, |  | ||||||
| 	www.barrons.com, |  | ||||||
| 	marketwatch.com, |  | ||||||
| 	www.marketwatch.com, |  | ||||||
| 	heatst.com, |  | ||||||
| 	fnlondon.com, |  | ||||||
| 	www.fnlondon.com, |  | ||||||
| 	assets.fnlondon.com, |  | ||||||
| 	images.fnlondon.com, |  | ||||||
| 	mansionglobal.com, |  | ||||||
| 	images.mansionglobal.com, |  | ||||||
| 	www.mansionglobal.com, |  | ||||||
| 	spindices.com, |  | ||||||
| 	spglobal.com, |  | ||||||
| 	www.spglobal.com, |  | ||||||
| 	talksport.com, |  | ||||||
| 	ads.talksport.com, |  | ||||||
| 	cdn259.talksport.com, |  | ||||||
| 	harpercollins.com, |  | ||||||
| 	www.harpercollins.com, |  | ||||||
| 	bestrecipes.com.au, |  | ||||||
| 	img.bestrecipes.com.au, |  | ||||||
| 	www.bestrecipes.com.au, |  | ||||||
| 	hipages.com.au, |  | ||||||
| 	img.hipages.com.au, |  | ||||||
| 	homeimprovementpages.com.au, |  | ||||||
| 	assets.homeimprovementpages.com.au, |  | ||||||
| 	odds.com.au, |  | ||||||
| 	www.odds.com.au, |  | ||||||
| 	onebigswitch.com.au, |  | ||||||
| 	suddenly.com.au, |  | ||||||
| 	www.suddenly.com.au, |  | ||||||
| 	supercoach.com.au, |  | ||||||
| 	punters.com.au, |  | ||||||
| 	www.punters.com.au, |  | ||||||
| 	kayosports.com.au, |  | ||||||
| 	foxtel.com.au, |  | ||||||
| 	www.foxtel.com.au, |  | ||||||
| 	newscorp.com, |  | ||||||
| 	storyful.com, |  | ||||||
| 	vogue.com.au, |  | ||||||
| 	media.vogue.com.au, |  | ||||||
| 	www.vogue.com.au, |  | ||||||
| 	taste.com.au, |  | ||||||
| 	img.taste.com.au, |  | ||||||
| 	www.taste.com.au, |  | ||||||
| 	kidspot.com.au, |  | ||||||
| 	go.kidspot.com.au, |  | ||||||
| 	origin.go.kidspot.com.au, |  | ||||||
| 	img.kidspot.com.au, |  | ||||||
| 	www.kidspot.com.au, |  | ||||||
| 	bodyandsoul.com.au, |  | ||||||
| 	go.bodyandsoul.com.au, |  | ||||||
| 	origin.bodyandsoul.com.au, |  | ||||||
| 	www.bodyandsoul.com.au, |  | ||||||
| 	realcommercial.com.au, |  | ||||||
| 	www.realcommercial.com.au, |  | ||||||
| 	reastatic.net, |  | ||||||
| 	au.reastatic.net, |  | ||||||
| 	rui.au.reastatic.net, |  | ||||||
| 	s1.rui.au.reastatic.net, |  | ||||||
| 	realestate.com.au, |  | ||||||
| 	www.realestate.com.au, |  | ||||||
| 	whereilive.com.au, |  | ||||||
| 	www.newsoftheworld.co.uk, |  | ||||||
| 	newsoftheworld.co.uk |  | ||||||
|     ] |  | ||||||
| } |  | ||||||
|  | @ -196,7 +196,7 @@ def postMessageToOutbox(session, translate: {}, | ||||||
|                         signingPrivateKeyPem: str, |                         signingPrivateKeyPem: str, | ||||||
|                         peertubeInstances: str, theme: str, |                         peertubeInstances: str, theme: str, | ||||||
|                         maxLikeCount: int, |                         maxLikeCount: int, | ||||||
|                         maxRecentPosts: int) -> bool: |                         maxRecentPosts: int, CWlists: {}) -> bool: | ||||||
|     """post is received by the outbox |     """post is received by the outbox | ||||||
|     Client to server message post |     Client to server message post | ||||||
|     https://www.w3.org/TR/activitypub/#client-to-server-outbox-delivery |     https://www.w3.org/TR/activitypub/#client-to-server-outbox-delivery | ||||||
|  | @ -467,7 +467,8 @@ def postMessageToOutbox(session, translate: {}, | ||||||
|                                          boxNameIndex != 'dm', |                                          boxNameIndex != 'dm', | ||||||
|                                          showIndividualPostIcons, |                                          showIndividualPostIcons, | ||||||
|                                          manuallyApproveFollowers, |                                          manuallyApproveFollowers, | ||||||
|                                          False, True, useCacheOnly) |                                          False, True, useCacheOnly, | ||||||
|  |                                          CWlists) | ||||||
| 
 | 
 | ||||||
|     if outboxAnnounce(recentPostsCache, |     if outboxAnnounce(recentPostsCache, | ||||||
|                       baseDir, messageJson, debug): |                       baseDir, messageJson, debug): | ||||||
|  |  | ||||||
|  | @ -124,7 +124,8 @@ def _updatePostSchedule(baseDir: str, handle: str, httpd, | ||||||
|                                        httpd.peertubeInstances, |                                        httpd.peertubeInstances, | ||||||
|                                        httpd.themeName, |                                        httpd.themeName, | ||||||
|                                        httpd.maxLikeCount, |                                        httpd.maxLikeCount, | ||||||
|                                        httpd.maxRecentPosts): |                                        httpd.maxRecentPosts, | ||||||
|  |                                        httpd.CWlists): | ||||||
|                 indexLines.remove(line) |                 indexLines.remove(line) | ||||||
|                 try: |                 try: | ||||||
|                     os.remove(postFilename) |                     os.remove(postFilename) | ||||||
|  |  | ||||||
							
								
								
									
										43
									
								
								tests.py
								
								
								
								
							
							
						
						
									
										43
									
								
								tests.py
								
								
								
								
							|  | @ -164,6 +164,8 @@ from shares import updateSharedItemFederationToken | ||||||
| from shares import mergeSharedItemTokens | from shares import mergeSharedItemTokens | ||||||
| from shares import sendShareViaServer | from shares import sendShareViaServer | ||||||
| from shares import getSharedItemsCatalogViaServer | from shares import getSharedItemsCatalogViaServer | ||||||
|  | from blocking import loadCWLists | ||||||
|  | from blocking import addCWfromLists | ||||||
| 
 | 
 | ||||||
| testServerGroupRunning = False | testServerGroupRunning = False | ||||||
| testServerAliceRunning = False | testServerAliceRunning = False | ||||||
|  | @ -5764,6 +5766,46 @@ def _testWordsSimilarity() -> None: | ||||||
|     assert similarity > 80 |     assert similarity > 80 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | def _testAddCWfromLists(baseDir: str) -> None: | ||||||
|  |     print('testAddCWfromLists') | ||||||
|  |     translate = {} | ||||||
|  |     CWlists = loadCWLists(baseDir, True) | ||||||
|  |     assert CWlists | ||||||
|  | 
 | ||||||
|  |     postJsonObject = { | ||||||
|  |         "object": { | ||||||
|  |             "sensitive": False, | ||||||
|  |             "summary": None, | ||||||
|  |             "content": "" | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     addCWfromLists(postJsonObject, CWlists, translate) | ||||||
|  |     assert postJsonObject['object']['sensitive'] is False | ||||||
|  |     assert postJsonObject['object']['summary'] is None | ||||||
|  | 
 | ||||||
|  |     postJsonObject = { | ||||||
|  |         "object": { | ||||||
|  |             "sensitive": False, | ||||||
|  |             "summary": None, | ||||||
|  |             "content": "Blah blah news.co.uk blah blah" | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     addCWfromLists(postJsonObject, CWlists, translate) | ||||||
|  |     assert postJsonObject['object']['sensitive'] is True | ||||||
|  |     assert postJsonObject['object']['summary'] == "Murdoch Press" | ||||||
|  | 
 | ||||||
|  |     postJsonObject = { | ||||||
|  |         "object": { | ||||||
|  |             "sensitive": True, | ||||||
|  |             "summary": "Existing CW", | ||||||
|  |             "content": "Blah blah news.co.uk blah blah" | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     addCWfromLists(postJsonObject, CWlists, translate) | ||||||
|  |     assert postJsonObject['object']['sensitive'] is True | ||||||
|  |     assert postJsonObject['object']['summary'] == "Murdoch Press / Existing CW" | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| def runAllTests(): | def runAllTests(): | ||||||
|     baseDir = os.getcwd() |     baseDir = os.getcwd() | ||||||
|     print('Running tests...') |     print('Running tests...') | ||||||
|  | @ -5771,6 +5813,7 @@ def runAllTests(): | ||||||
|     _translateOntology(baseDir) |     _translateOntology(baseDir) | ||||||
|     _testGetPriceFromString() |     _testGetPriceFromString() | ||||||
|     _testFunctions() |     _testFunctions() | ||||||
|  |     _testAddCWfromLists(baseDir) | ||||||
|     _testWordsSimilarity() |     _testWordsSimilarity() | ||||||
|     _testSecondsBetweenPublished() |     _testSecondsBetweenPublished() | ||||||
|     _testSignAndVerify() |     _testSignAndVerify() | ||||||
|  |  | ||||||
|  | @ -35,7 +35,8 @@ def htmlConfirmDelete(cssCache: {}, | ||||||
|                       peertubeInstances: [], |                       peertubeInstances: [], | ||||||
|                       allowLocalNetworkAccess: bool, |                       allowLocalNetworkAccess: bool, | ||||||
|                       themeName: str, systemLanguage: str, |                       themeName: str, systemLanguage: str, | ||||||
|                       maxLikeCount: int, signingPrivateKeyPem: str) -> str: |                       maxLikeCount: int, signingPrivateKeyPem: str, | ||||||
|  |                       CWlists: {}) -> str: | ||||||
|     """Shows a screen asking to confirm the deletion of a post |     """Shows a screen asking to confirm the deletion of a post | ||||||
|     """ |     """ | ||||||
|     if '/statuses/' not in messageId: |     if '/statuses/' not in messageId: | ||||||
|  | @ -79,7 +80,8 @@ def htmlConfirmDelete(cssCache: {}, | ||||||
|                              showPublishedDateOnly, |                              showPublishedDateOnly, | ||||||
|                              peertubeInstances, allowLocalNetworkAccess, |                              peertubeInstances, allowLocalNetworkAccess, | ||||||
|                              themeName, systemLanguage, maxLikeCount, |                              themeName, systemLanguage, maxLikeCount, | ||||||
|                              False, False, False, False, False, False) |                              False, False, False, False, False, False, | ||||||
|  |                              CWlists) | ||||||
|     deletePostStr += '<center>' |     deletePostStr += '<center>' | ||||||
|     deletePostStr += \ |     deletePostStr += \ | ||||||
|         '  <p class="followText">' + \ |         '  <p class="followText">' + \ | ||||||
|  |  | ||||||
|  | @ -35,7 +35,7 @@ def _htmlFrontScreenPosts(recentPostsCache: {}, maxRecentPosts: int, | ||||||
|                           allowLocalNetworkAccess: bool, |                           allowLocalNetworkAccess: bool, | ||||||
|                           themeName: str, systemLanguage: str, |                           themeName: str, systemLanguage: str, | ||||||
|                           maxLikeCount: int, |                           maxLikeCount: int, | ||||||
|                           signingPrivateKeyPem: str) -> str: |                           signingPrivateKeyPem: str, CWlists: {}) -> str: | ||||||
|     """Shows posts on the front screen of a news instance |     """Shows posts on the front screen of a news instance | ||||||
|     These should only be public blog posts from the features timeline |     These should only be public blog posts from the features timeline | ||||||
|     which is the blog timeline of the news actor |     which is the blog timeline of the news actor | ||||||
|  | @ -81,7 +81,8 @@ def _htmlFrontScreenPosts(recentPostsCache: {}, maxRecentPosts: int, | ||||||
|                                          themeName, systemLanguage, |                                          themeName, systemLanguage, | ||||||
|                                          maxLikeCount, |                                          maxLikeCount, | ||||||
|                                          False, False, False, |                                          False, False, False, | ||||||
|                                          True, False, False) |                                          True, False, False, | ||||||
|  |                                          CWlists) | ||||||
|                 if postStr: |                 if postStr: | ||||||
|                     profileStr += postStr + separatorStr |                     profileStr += postStr + separatorStr | ||||||
|                     ctr += 1 |                     ctr += 1 | ||||||
|  | @ -109,9 +110,10 @@ def htmlFrontScreen(signingPrivateKeyPem: str, | ||||||
|                     accessKeys: {}, |                     accessKeys: {}, | ||||||
|                     systemLanguage: str, maxLikeCount: int, |                     systemLanguage: str, maxLikeCount: int, | ||||||
|                     sharedItemsFederatedDomains: [], |                     sharedItemsFederatedDomains: [], | ||||||
|                     extraJson: {} = None, |                     extraJson: {}, | ||||||
|                     pageNumber: int = None, |                     pageNumber: int, | ||||||
|                     maxItemsPerPage: int = None) -> str: |                     maxItemsPerPage: int, | ||||||
|  |                     CWlists: {}) -> str: | ||||||
|     """Show the news instance front screen |     """Show the news instance front screen | ||||||
|     """ |     """ | ||||||
|     nickname = profileJson['preferredUsername'] |     nickname = profileJson['preferredUsername'] | ||||||
|  | @ -182,7 +184,8 @@ def htmlFrontScreen(signingPrivateKeyPem: str, | ||||||
|                               allowLocalNetworkAccess, |                               allowLocalNetworkAccess, | ||||||
|                               theme, systemLanguage, |                               theme, systemLanguage, | ||||||
|                               maxLikeCount, |                               maxLikeCount, | ||||||
|                               signingPrivateKeyPem) + licenseStr |                               signingPrivateKeyPem, | ||||||
|  |                               CWlists) + licenseStr | ||||||
| 
 | 
 | ||||||
|     # Footer which is only used for system accounts |     # Footer which is only used for system accounts | ||||||
|     profileFooterStr = '      </td>\n' |     profileFooterStr = '      </td>\n' | ||||||
|  |  | ||||||
|  | @ -52,7 +52,8 @@ def htmlModeration(cssCache: {}, defaultTimeline: str, | ||||||
|                    accessKeys: {}, systemLanguage: str, |                    accessKeys: {}, systemLanguage: str, | ||||||
|                    maxLikeCount: int, |                    maxLikeCount: int, | ||||||
|                    sharedItemsFederatedDomains: [], |                    sharedItemsFederatedDomains: [], | ||||||
|                    signingPrivateKeyPem: str) -> str: |                    signingPrivateKeyPem: str, | ||||||
|  |                    CWlists: {}) -> str: | ||||||
|     """Show the moderation feed as html |     """Show the moderation feed as html | ||||||
|     This is what you see when selecting the "mod" timeline |     This is what you see when selecting the "mod" timeline | ||||||
|     """ |     """ | ||||||
|  | @ -72,7 +73,7 @@ def htmlModeration(cssCache: {}, defaultTimeline: str, | ||||||
|                         peertubeInstances, allowLocalNetworkAccess, |                         peertubeInstances, allowLocalNetworkAccess, | ||||||
|                         textModeBanner, accessKeys, systemLanguage, |                         textModeBanner, accessKeys, systemLanguage, | ||||||
|                         maxLikeCount, sharedItemsFederatedDomains, |                         maxLikeCount, sharedItemsFederatedDomains, | ||||||
|                         signingPrivateKeyPem) |                         signingPrivateKeyPem, CWlists) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def htmlAccountInfo(cssCache: {}, translate: {}, | def htmlAccountInfo(cssCache: {}, translate: {}, | ||||||
|  |  | ||||||
|  | @ -77,6 +77,7 @@ from webfinger import webfingerHandle | ||||||
| from speaker import updateSpeaker | from speaker import updateSpeaker | ||||||
| from languages import autoTranslatePost | from languages import autoTranslatePost | ||||||
| from blocking import isBlocked | from blocking import isBlocked | ||||||
|  | from blocking import addCWfromLists | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def _logPostTiming(enableTimingLog: bool, postStartTime, debugId: str) -> None: | def _logPostTiming(enableTimingLog: bool, postStartTime, debugId: str) -> None: | ||||||
|  | @ -1205,7 +1206,8 @@ def individualPostAsHtml(signingPrivateKeyPem: str, | ||||||
|                          manuallyApprovesFollowers: bool, |                          manuallyApprovesFollowers: bool, | ||||||
|                          showPublicOnly: bool, |                          showPublicOnly: bool, | ||||||
|                          storeToCache: bool, |                          storeToCache: bool, | ||||||
|                          useCacheOnly: bool) -> str: |                          useCacheOnly: bool, | ||||||
|  |                          CWlists: {}) -> str: | ||||||
|     """ Shows a single post as html |     """ Shows a single post as html | ||||||
|     """ |     """ | ||||||
|     if not postJsonObject: |     if not postJsonObject: | ||||||
|  | @ -1651,6 +1653,9 @@ def individualPostAsHtml(signingPrivateKeyPem: str, | ||||||
|     if newFooterStr: |     if newFooterStr: | ||||||
|         footerStr = newFooterStr |         footerStr = newFooterStr | ||||||
| 
 | 
 | ||||||
|  |     # add any content warning from the cwlists directory | ||||||
|  |     addCWfromLists(postJsonObject, CWlists, translate) | ||||||
|  | 
 | ||||||
|     postIsSensitive = False |     postIsSensitive = False | ||||||
|     if postJsonObject['object'].get('sensitive'): |     if postJsonObject['object'].get('sensitive'): | ||||||
|         # sensitive posts should have a summary |         # sensitive posts should have a summary | ||||||
|  | @ -1825,7 +1830,8 @@ def htmlIndividualPost(cssCache: {}, | ||||||
|                        peertubeInstances: [], |                        peertubeInstances: [], | ||||||
|                        allowLocalNetworkAccess: bool, |                        allowLocalNetworkAccess: bool, | ||||||
|                        themeName: str, systemLanguage: str, |                        themeName: str, systemLanguage: str, | ||||||
|                        maxLikeCount: int, signingPrivateKeyPem: str) -> str: |                        maxLikeCount: int, signingPrivateKeyPem: str, | ||||||
|  |                        CWlists: {}) -> str: | ||||||
|     """Show an individual post as html |     """Show an individual post as html | ||||||
|     """ |     """ | ||||||
|     postStr = '' |     postStr = '' | ||||||
|  | @ -1878,7 +1884,8 @@ def htmlIndividualPost(cssCache: {}, | ||||||
|                              peertubeInstances, |                              peertubeInstances, | ||||||
|                              allowLocalNetworkAccess, themeName, |                              allowLocalNetworkAccess, themeName, | ||||||
|                              systemLanguage, maxLikeCount, |                              systemLanguage, maxLikeCount, | ||||||
|                              False, authorized, False, False, False, False) |                              False, authorized, False, False, False, False, | ||||||
|  |                              CWlists) | ||||||
|     messageId = removeIdEnding(postJsonObject['id']) |     messageId = removeIdEnding(postJsonObject['id']) | ||||||
| 
 | 
 | ||||||
|     # show the previous posts |     # show the previous posts | ||||||
|  | @ -1910,7 +1917,8 @@ def htmlIndividualPost(cssCache: {}, | ||||||
|                                          themeName, systemLanguage, |                                          themeName, systemLanguage, | ||||||
|                                          maxLikeCount, |                                          maxLikeCount, | ||||||
|                                          False, authorized, |                                          False, authorized, | ||||||
|                                          False, False, False, False) + postStr |                                          False, False, False, False, | ||||||
|  |                                          CWlists) + postStr | ||||||
| 
 | 
 | ||||||
|     # show the following posts |     # show the following posts | ||||||
|     postFilename = locatePost(baseDir, nickname, domain, messageId) |     postFilename = locatePost(baseDir, nickname, domain, messageId) | ||||||
|  | @ -1944,7 +1952,8 @@ def htmlIndividualPost(cssCache: {}, | ||||||
|                                          themeName, systemLanguage, |                                          themeName, systemLanguage, | ||||||
|                                          maxLikeCount, |                                          maxLikeCount, | ||||||
|                                          False, authorized, |                                          False, authorized, | ||||||
|                                          False, False, False, False) |                                          False, False, False, False, | ||||||
|  |                                          CWlists) | ||||||
|     cssFilename = baseDir + '/epicyon-profile.css' |     cssFilename = baseDir + '/epicyon-profile.css' | ||||||
|     if os.path.isfile(baseDir + '/epicyon.css'): |     if os.path.isfile(baseDir + '/epicyon.css'): | ||||||
|         cssFilename = baseDir + '/epicyon.css' |         cssFilename = baseDir + '/epicyon.css' | ||||||
|  | @ -1968,7 +1977,7 @@ def htmlPostReplies(cssCache: {}, | ||||||
|                     allowLocalNetworkAccess: bool, |                     allowLocalNetworkAccess: bool, | ||||||
|                     themeName: str, systemLanguage: str, |                     themeName: str, systemLanguage: str, | ||||||
|                     maxLikeCount: int, |                     maxLikeCount: int, | ||||||
|                     signingPrivateKeyPem: str) -> str: |                     signingPrivateKeyPem: str, CWlists: {}) -> str: | ||||||
|     """Show the replies to an individual post as html |     """Show the replies to an individual post as html | ||||||
|     """ |     """ | ||||||
|     repliesStr = '' |     repliesStr = '' | ||||||
|  | @ -1991,7 +2000,8 @@ def htmlPostReplies(cssCache: {}, | ||||||
|                                      allowLocalNetworkAccess, |                                      allowLocalNetworkAccess, | ||||||
|                                      themeName, systemLanguage, |                                      themeName, systemLanguage, | ||||||
|                                      maxLikeCount, |                                      maxLikeCount, | ||||||
|                                      False, False, False, False, False, False) |                                      False, False, False, False, False, False, | ||||||
|  |                                      CWlists) | ||||||
| 
 | 
 | ||||||
|     cssFilename = baseDir + '/epicyon-profile.css' |     cssFilename = baseDir + '/epicyon-profile.css' | ||||||
|     if os.path.isfile(baseDir + '/epicyon.css'): |     if os.path.isfile(baseDir + '/epicyon.css'): | ||||||
|  |  | ||||||
|  | @ -89,7 +89,8 @@ def htmlProfileAfterSearch(cssCache: {}, | ||||||
|                            accessKeys: {}, |                            accessKeys: {}, | ||||||
|                            systemLanguage: str, |                            systemLanguage: str, | ||||||
|                            maxLikeCount: int, |                            maxLikeCount: int, | ||||||
|                            signingPrivateKeyPem: str) -> str: |                            signingPrivateKeyPem: str, | ||||||
|  |                            CWlists: {}) -> str: | ||||||
|     """Show a profile page after a search for a fediverse address |     """Show a profile page after a search for a fediverse address | ||||||
|     """ |     """ | ||||||
|     http = False |     http = False | ||||||
|  | @ -306,7 +307,8 @@ def htmlProfileAfterSearch(cssCache: {}, | ||||||
|                                      peertubeInstances, |                                      peertubeInstances, | ||||||
|                                      allowLocalNetworkAccess, |                                      allowLocalNetworkAccess, | ||||||
|                                      themeName, systemLanguage, maxLikeCount, |                                      themeName, systemLanguage, maxLikeCount, | ||||||
|                                      False, False, False, False, False, False) |                                      False, False, False, False, False, False, | ||||||
|  |                                      CWlists) | ||||||
|             i += 1 |             i += 1 | ||||||
|             if i >= 8: |             if i >= 8: | ||||||
|                 break |                 break | ||||||
|  | @ -516,8 +518,9 @@ def htmlProfile(signingPrivateKeyPem: str, | ||||||
|                 debug: bool, accessKeys: {}, city: str, |                 debug: bool, accessKeys: {}, city: str, | ||||||
|                 systemLanguage: str, maxLikeCount: int, |                 systemLanguage: str, maxLikeCount: int, | ||||||
|                 sharedItemsFederatedDomains: [], |                 sharedItemsFederatedDomains: [], | ||||||
|                 extraJson: {} = None, pageNumber: int = None, |                 extraJson: {}, pageNumber: int, | ||||||
|                 maxItemsPerPage: int = None) -> str: |                 maxItemsPerPage: int, | ||||||
|  |                 CWlists: {}) -> str: | ||||||
|     """Show the profile page as html |     """Show the profile page as html | ||||||
|     """ |     """ | ||||||
|     nickname = profileJson['preferredUsername'] |     nickname = profileJson['preferredUsername'] | ||||||
|  | @ -539,8 +542,8 @@ def htmlProfile(signingPrivateKeyPem: str, | ||||||
|                                newswire, theme, extraJson, |                                newswire, theme, extraJson, | ||||||
|                                allowLocalNetworkAccess, accessKeys, |                                allowLocalNetworkAccess, accessKeys, | ||||||
|                                systemLanguage, maxLikeCount, |                                systemLanguage, maxLikeCount, | ||||||
|                                sharedItemsFederatedDomains, |                                sharedItemsFederatedDomains, None, | ||||||
|                                pageNumber, maxItemsPerPage) |                                pageNumber, maxItemsPerPage, CWlists) | ||||||
| 
 | 
 | ||||||
|     domain, port = getDomainFromActor(profileJson['id']) |     domain, port = getDomainFromActor(profileJson['id']) | ||||||
|     if not domain: |     if not domain: | ||||||
|  | @ -897,7 +900,8 @@ def htmlProfile(signingPrivateKeyPem: str, | ||||||
|                               allowLocalNetworkAccess, |                               allowLocalNetworkAccess, | ||||||
|                               theme, systemLanguage, |                               theme, systemLanguage, | ||||||
|                               maxLikeCount, |                               maxLikeCount, | ||||||
|                               signingPrivateKeyPem) + licenseStr |                               signingPrivateKeyPem, | ||||||
|  |                               CWlists) + licenseStr | ||||||
|     if not isGroup: |     if not isGroup: | ||||||
|         if selected == 'following': |         if selected == 'following': | ||||||
|             profileStr += \ |             profileStr += \ | ||||||
|  | @ -963,7 +967,8 @@ def _htmlProfilePosts(recentPostsCache: {}, maxRecentPosts: int, | ||||||
|                       allowLocalNetworkAccess: bool, |                       allowLocalNetworkAccess: bool, | ||||||
|                       themeName: str, systemLanguage: str, |                       themeName: str, systemLanguage: str, | ||||||
|                       maxLikeCount: int, |                       maxLikeCount: int, | ||||||
|                       signingPrivateKeyPem: str) -> str: |                       signingPrivateKeyPem: str, | ||||||
|  |                       CWlists: {}) -> str: | ||||||
|     """Shows posts on the profile screen |     """Shows posts on the profile screen | ||||||
|     These should only be public posts |     These should only be public posts | ||||||
|     """ |     """ | ||||||
|  | @ -1008,7 +1013,8 @@ def _htmlProfilePosts(recentPostsCache: {}, maxRecentPosts: int, | ||||||
|                                          themeName, systemLanguage, |                                          themeName, systemLanguage, | ||||||
|                                          maxLikeCount, |                                          maxLikeCount, | ||||||
|                                          False, False, False, |                                          False, False, False, | ||||||
|                                          True, False, False) |                                          True, False, False, | ||||||
|  |                                          CWlists) | ||||||
|                 if postStr: |                 if postStr: | ||||||
|                     profileStr += postStr + separatorStr |                     profileStr += postStr + separatorStr | ||||||
|                     ctr += 1 |                     ctr += 1 | ||||||
|  |  | ||||||
|  | @ -598,7 +598,8 @@ def htmlHistorySearch(cssCache: {}, translate: {}, baseDir: str, | ||||||
|                       themeName: str, boxName: str, |                       themeName: str, boxName: str, | ||||||
|                       systemLanguage: str, |                       systemLanguage: str, | ||||||
|                       maxLikeCount: int, |                       maxLikeCount: int, | ||||||
|                       signingPrivateKeyPem: str) -> str: |                       signingPrivateKeyPem: str, | ||||||
|  |                       CWlists: {}) -> str: | ||||||
|     """Show a page containing search results for your post history |     """Show a page containing search results for your post history | ||||||
|     """ |     """ | ||||||
|     if historysearch.startswith("'"): |     if historysearch.startswith("'"): | ||||||
|  | @ -683,7 +684,8 @@ def htmlHistorySearch(cssCache: {}, translate: {}, baseDir: str, | ||||||
|                                  themeName, systemLanguage, maxLikeCount, |                                  themeName, systemLanguage, maxLikeCount, | ||||||
|                                  showIndividualPostIcons, |                                  showIndividualPostIcons, | ||||||
|                                  showIndividualPostIcons, |                                  showIndividualPostIcons, | ||||||
|                                  False, False, False, False) |                                  False, False, False, False, | ||||||
|  |                                  CWlists) | ||||||
|         if postStr: |         if postStr: | ||||||
|             historySearchForm += separatorStr + postStr |             historySearchForm += separatorStr + postStr | ||||||
|         index += 1 |         index += 1 | ||||||
|  | @ -707,7 +709,8 @@ def htmlHashtagSearch(cssCache: {}, | ||||||
|                       allowLocalNetworkAccess: bool, |                       allowLocalNetworkAccess: bool, | ||||||
|                       themeName: str, systemLanguage: str, |                       themeName: str, systemLanguage: str, | ||||||
|                       maxLikeCount: int, |                       maxLikeCount: int, | ||||||
|                       signingPrivateKeyPem: str) -> str: |                       signingPrivateKeyPem: str, | ||||||
|  |                       CWlists: {}) -> str: | ||||||
|     """Show a page containing search results for a hashtag |     """Show a page containing search results for a hashtag | ||||||
|     or after selecting a hashtag from the swarm |     or after selecting a hashtag from the swarm | ||||||
|     """ |     """ | ||||||
|  | @ -865,7 +868,7 @@ def htmlHashtagSearch(cssCache: {}, | ||||||
|                                  showRepeats, showIcons, |                                  showRepeats, showIcons, | ||||||
|                                  manuallyApprovesFollowers, |                                  manuallyApprovesFollowers, | ||||||
|                                  showPublicOnly, |                                  showPublicOnly, | ||||||
|                                  storeToCache, False) |                                  storeToCache, False, CWlists) | ||||||
|         if postStr: |         if postStr: | ||||||
|             hashtagSearchForm += separatorStr + postStr |             hashtagSearchForm += separatorStr + postStr | ||||||
|         index += 1 |         index += 1 | ||||||
|  |  | ||||||
|  | @ -446,7 +446,8 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str, | ||||||
|                  accessKeys: {}, systemLanguage: str, |                  accessKeys: {}, systemLanguage: str, | ||||||
|                  maxLikeCount: int, |                  maxLikeCount: int, | ||||||
|                  sharedItemsFederatedDomains: [], |                  sharedItemsFederatedDomains: [], | ||||||
|                  signingPrivateKeyPem: str) -> str: |                  signingPrivateKeyPem: str, | ||||||
|  |                  CWlists: {}) -> str: | ||||||
|     """Show the timeline as html |     """Show the timeline as html | ||||||
|     """ |     """ | ||||||
|     enableTimingLog = False |     enableTimingLog = False | ||||||
|  | @ -913,7 +914,8 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str, | ||||||
|                                              boxName != 'dm', |                                              boxName != 'dm', | ||||||
|                                              showIndividualPostIcons, |                                              showIndividualPostIcons, | ||||||
|                                              manuallyApproveFollowers, |                                              manuallyApproveFollowers, | ||||||
|                                              False, True, useCacheOnly) |                                              False, True, useCacheOnly, | ||||||
|  |                                              CWlists) | ||||||
|                     _logTimelineTiming(enableTimingLog, |                     _logTimelineTiming(enableTimingLog, | ||||||
|                                        timelineStartTime, boxName, '12') |                                        timelineStartTime, boxName, '12') | ||||||
| 
 | 
 | ||||||
|  | @ -1137,7 +1139,8 @@ def htmlShares(cssCache: {}, defaultTimeline: str, | ||||||
|                accessKeys: {}, systemLanguage: str, |                accessKeys: {}, systemLanguage: str, | ||||||
|                maxLikeCount: int, |                maxLikeCount: int, | ||||||
|                sharedItemsFederatedDomains: [], |                sharedItemsFederatedDomains: [], | ||||||
|                signingPrivateKeyPem: str) -> str: |                signingPrivateKeyPem: str, | ||||||
|  |                CWlists: {}) -> str: | ||||||
|     """Show the shares timeline as html |     """Show the shares timeline as html | ||||||
|     """ |     """ | ||||||
|     manuallyApproveFollowers = \ |     manuallyApproveFollowers = \ | ||||||
|  | @ -1162,7 +1165,8 @@ def htmlShares(cssCache: {}, defaultTimeline: str, | ||||||
|                         authorized, None, theme, peertubeInstances, |                         authorized, None, theme, peertubeInstances, | ||||||
|                         allowLocalNetworkAccess, textModeBanner, |                         allowLocalNetworkAccess, textModeBanner, | ||||||
|                         accessKeys, systemLanguage, maxLikeCount, |                         accessKeys, systemLanguage, maxLikeCount, | ||||||
|                         sharedItemsFederatedDomains, signingPrivateKeyPem) |                         sharedItemsFederatedDomains, signingPrivateKeyPem, | ||||||
|  |                         CWlists) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def htmlWanted(cssCache: {}, defaultTimeline: str, | def htmlWanted(cssCache: {}, defaultTimeline: str, | ||||||
|  | @ -1189,7 +1193,8 @@ def htmlWanted(cssCache: {}, defaultTimeline: str, | ||||||
|                accessKeys: {}, systemLanguage: str, |                accessKeys: {}, systemLanguage: str, | ||||||
|                maxLikeCount: int, |                maxLikeCount: int, | ||||||
|                sharedItemsFederatedDomains: [], |                sharedItemsFederatedDomains: [], | ||||||
|                signingPrivateKeyPem: str) -> str: |                signingPrivateKeyPem: str, | ||||||
|  |                CWlists: {}) -> str: | ||||||
|     """Show the wanted timeline as html |     """Show the wanted timeline as html | ||||||
|     """ |     """ | ||||||
|     manuallyApproveFollowers = \ |     manuallyApproveFollowers = \ | ||||||
|  | @ -1214,7 +1219,8 @@ def htmlWanted(cssCache: {}, defaultTimeline: str, | ||||||
|                         authorized, None, theme, peertubeInstances, |                         authorized, None, theme, peertubeInstances, | ||||||
|                         allowLocalNetworkAccess, textModeBanner, |                         allowLocalNetworkAccess, textModeBanner, | ||||||
|                         accessKeys, systemLanguage, maxLikeCount, |                         accessKeys, systemLanguage, maxLikeCount, | ||||||
|                         sharedItemsFederatedDomains, signingPrivateKeyPem) |                         sharedItemsFederatedDomains, signingPrivateKeyPem, | ||||||
|  |                         CWlists) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def htmlInbox(cssCache: {}, defaultTimeline: str, | def htmlInbox(cssCache: {}, defaultTimeline: str, | ||||||
|  | @ -1242,7 +1248,8 @@ def htmlInbox(cssCache: {}, defaultTimeline: str, | ||||||
|               accessKeys: {}, systemLanguage: str, |               accessKeys: {}, systemLanguage: str, | ||||||
|               maxLikeCount: int, |               maxLikeCount: int, | ||||||
|               sharedItemsFederatedDomains: [], |               sharedItemsFederatedDomains: [], | ||||||
|               signingPrivateKeyPem: str) -> str: |               signingPrivateKeyPem: str, | ||||||
|  |               CWlists: {}) -> str: | ||||||
|     """Show the inbox as html |     """Show the inbox as html | ||||||
|     """ |     """ | ||||||
|     manuallyApproveFollowers = \ |     manuallyApproveFollowers = \ | ||||||
|  | @ -1267,7 +1274,8 @@ def htmlInbox(cssCache: {}, defaultTimeline: str, | ||||||
|                         authorized, None, theme, peertubeInstances, |                         authorized, None, theme, peertubeInstances, | ||||||
|                         allowLocalNetworkAccess, textModeBanner, |                         allowLocalNetworkAccess, textModeBanner, | ||||||
|                         accessKeys, systemLanguage, maxLikeCount, |                         accessKeys, systemLanguage, maxLikeCount, | ||||||
|                         sharedItemsFederatedDomains, signingPrivateKeyPem) |                         sharedItemsFederatedDomains, signingPrivateKeyPem, | ||||||
|  |                         CWlists) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def htmlBookmarks(cssCache: {}, defaultTimeline: str, | def htmlBookmarks(cssCache: {}, defaultTimeline: str, | ||||||
|  | @ -1295,7 +1303,8 @@ def htmlBookmarks(cssCache: {}, defaultTimeline: str, | ||||||
|                   accessKeys: {}, systemLanguage: str, |                   accessKeys: {}, systemLanguage: str, | ||||||
|                   maxLikeCount: int, |                   maxLikeCount: int, | ||||||
|                   sharedItemsFederatedDomains: [], |                   sharedItemsFederatedDomains: [], | ||||||
|                   signingPrivateKeyPem: str) -> str: |                   signingPrivateKeyPem: str, | ||||||
|  |                   CWlists: {}) -> str: | ||||||
|     """Show the bookmarks as html |     """Show the bookmarks as html | ||||||
|     """ |     """ | ||||||
|     manuallyApproveFollowers = \ |     manuallyApproveFollowers = \ | ||||||
|  | @ -1320,7 +1329,8 @@ def htmlBookmarks(cssCache: {}, defaultTimeline: str, | ||||||
|                         authorized, None, theme, peertubeInstances, |                         authorized, None, theme, peertubeInstances, | ||||||
|                         allowLocalNetworkAccess, textModeBanner, |                         allowLocalNetworkAccess, textModeBanner, | ||||||
|                         accessKeys, systemLanguage, maxLikeCount, |                         accessKeys, systemLanguage, maxLikeCount, | ||||||
|                         sharedItemsFederatedDomains, signingPrivateKeyPem) |                         sharedItemsFederatedDomains, signingPrivateKeyPem, | ||||||
|  |                         CWlists) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def htmlInboxDMs(cssCache: {}, defaultTimeline: str, | def htmlInboxDMs(cssCache: {}, defaultTimeline: str, | ||||||
|  | @ -1348,7 +1358,8 @@ def htmlInboxDMs(cssCache: {}, defaultTimeline: str, | ||||||
|                  accessKeys: {}, systemLanguage: str, |                  accessKeys: {}, systemLanguage: str, | ||||||
|                  maxLikeCount: int, |                  maxLikeCount: int, | ||||||
|                  sharedItemsFederatedDomains: [], |                  sharedItemsFederatedDomains: [], | ||||||
|                  signingPrivateKeyPem: str) -> str: |                  signingPrivateKeyPem: str, | ||||||
|  |                  CWlists: {}) -> str: | ||||||
|     """Show the DM timeline as html |     """Show the DM timeline as html | ||||||
|     """ |     """ | ||||||
|     return htmlTimeline(cssCache, defaultTimeline, |     return htmlTimeline(cssCache, defaultTimeline, | ||||||
|  | @ -1368,7 +1379,8 @@ def htmlInboxDMs(cssCache: {}, defaultTimeline: str, | ||||||
|                         authorized, None, theme, peertubeInstances, |                         authorized, None, theme, peertubeInstances, | ||||||
|                         allowLocalNetworkAccess, textModeBanner, |                         allowLocalNetworkAccess, textModeBanner, | ||||||
|                         accessKeys, systemLanguage, maxLikeCount, |                         accessKeys, systemLanguage, maxLikeCount, | ||||||
|                         sharedItemsFederatedDomains, signingPrivateKeyPem) |                         sharedItemsFederatedDomains, signingPrivateKeyPem, | ||||||
|  |                         CWlists) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def htmlInboxReplies(cssCache: {}, defaultTimeline: str, | def htmlInboxReplies(cssCache: {}, defaultTimeline: str, | ||||||
|  | @ -1396,7 +1408,8 @@ def htmlInboxReplies(cssCache: {}, defaultTimeline: str, | ||||||
|                      accessKeys: {}, systemLanguage: str, |                      accessKeys: {}, systemLanguage: str, | ||||||
|                      maxLikeCount: int, |                      maxLikeCount: int, | ||||||
|                      sharedItemsFederatedDomains: [], |                      sharedItemsFederatedDomains: [], | ||||||
|                      signingPrivateKeyPem: str) -> str: |                      signingPrivateKeyPem: str, | ||||||
|  |                      CWlists: {}) -> str: | ||||||
|     """Show the replies timeline as html |     """Show the replies timeline as html | ||||||
|     """ |     """ | ||||||
|     return htmlTimeline(cssCache, defaultTimeline, |     return htmlTimeline(cssCache, defaultTimeline, | ||||||
|  | @ -1417,7 +1430,8 @@ def htmlInboxReplies(cssCache: {}, defaultTimeline: str, | ||||||
|                         authorized, None, theme, peertubeInstances, |                         authorized, None, theme, peertubeInstances, | ||||||
|                         allowLocalNetworkAccess, textModeBanner, |                         allowLocalNetworkAccess, textModeBanner, | ||||||
|                         accessKeys, systemLanguage, maxLikeCount, |                         accessKeys, systemLanguage, maxLikeCount, | ||||||
|                         sharedItemsFederatedDomains, signingPrivateKeyPem) |                         sharedItemsFederatedDomains, signingPrivateKeyPem, | ||||||
|  |                         CWlists) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def htmlInboxMedia(cssCache: {}, defaultTimeline: str, | def htmlInboxMedia(cssCache: {}, defaultTimeline: str, | ||||||
|  | @ -1445,7 +1459,8 @@ def htmlInboxMedia(cssCache: {}, defaultTimeline: str, | ||||||
|                    accessKeys: {}, systemLanguage: str, |                    accessKeys: {}, systemLanguage: str, | ||||||
|                    maxLikeCount: int, |                    maxLikeCount: int, | ||||||
|                    sharedItemsFederatedDomains: [], |                    sharedItemsFederatedDomains: [], | ||||||
|                    signingPrivateKeyPem: str) -> str: |                    signingPrivateKeyPem: str, | ||||||
|  |                    CWlists: {}) -> str: | ||||||
|     """Show the media timeline as html |     """Show the media timeline as html | ||||||
|     """ |     """ | ||||||
|     return htmlTimeline(cssCache, defaultTimeline, |     return htmlTimeline(cssCache, defaultTimeline, | ||||||
|  | @ -1466,7 +1481,8 @@ def htmlInboxMedia(cssCache: {}, defaultTimeline: str, | ||||||
|                         authorized, None, theme, peertubeInstances, |                         authorized, None, theme, peertubeInstances, | ||||||
|                         allowLocalNetworkAccess, textModeBanner, |                         allowLocalNetworkAccess, textModeBanner, | ||||||
|                         accessKeys, systemLanguage, maxLikeCount, |                         accessKeys, systemLanguage, maxLikeCount, | ||||||
|                         sharedItemsFederatedDomains, signingPrivateKeyPem) |                         sharedItemsFederatedDomains, signingPrivateKeyPem, | ||||||
|  |                         CWlists) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def htmlInboxBlogs(cssCache: {}, defaultTimeline: str, | def htmlInboxBlogs(cssCache: {}, defaultTimeline: str, | ||||||
|  | @ -1494,7 +1510,8 @@ def htmlInboxBlogs(cssCache: {}, defaultTimeline: str, | ||||||
|                    accessKeys: {}, systemLanguage: str, |                    accessKeys: {}, systemLanguage: str, | ||||||
|                    maxLikeCount: int, |                    maxLikeCount: int, | ||||||
|                    sharedItemsFederatedDomains: [], |                    sharedItemsFederatedDomains: [], | ||||||
|                    signingPrivateKeyPem: str) -> str: |                    signingPrivateKeyPem: str, | ||||||
|  |                    CWlists: {}) -> str: | ||||||
|     """Show the blogs timeline as html |     """Show the blogs timeline as html | ||||||
|     """ |     """ | ||||||
|     return htmlTimeline(cssCache, defaultTimeline, |     return htmlTimeline(cssCache, defaultTimeline, | ||||||
|  | @ -1515,7 +1532,8 @@ def htmlInboxBlogs(cssCache: {}, defaultTimeline: str, | ||||||
|                         authorized, None, theme, peertubeInstances, |                         authorized, None, theme, peertubeInstances, | ||||||
|                         allowLocalNetworkAccess, textModeBanner, |                         allowLocalNetworkAccess, textModeBanner, | ||||||
|                         accessKeys, systemLanguage, maxLikeCount, |                         accessKeys, systemLanguage, maxLikeCount, | ||||||
|                         sharedItemsFederatedDomains, signingPrivateKeyPem) |                         sharedItemsFederatedDomains, signingPrivateKeyPem, | ||||||
|  |                         CWlists) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def htmlInboxFeatures(cssCache: {}, defaultTimeline: str, | def htmlInboxFeatures(cssCache: {}, defaultTimeline: str, | ||||||
|  | @ -1544,7 +1562,8 @@ def htmlInboxFeatures(cssCache: {}, defaultTimeline: str, | ||||||
|                       accessKeys: {}, systemLanguage: str, |                       accessKeys: {}, systemLanguage: str, | ||||||
|                       maxLikeCount: int, |                       maxLikeCount: int, | ||||||
|                       sharedItemsFederatedDomains: [], |                       sharedItemsFederatedDomains: [], | ||||||
|                       signingPrivateKeyPem: str) -> str: |                       signingPrivateKeyPem: str, | ||||||
|  |                       CWlists: {}) -> str: | ||||||
|     """Show the features timeline as html |     """Show the features timeline as html | ||||||
|     """ |     """ | ||||||
|     return htmlTimeline(cssCache, defaultTimeline, |     return htmlTimeline(cssCache, defaultTimeline, | ||||||
|  | @ -1565,7 +1584,8 @@ def htmlInboxFeatures(cssCache: {}, defaultTimeline: str, | ||||||
|                         authorized, None, theme, peertubeInstances, |                         authorized, None, theme, peertubeInstances, | ||||||
|                         allowLocalNetworkAccess, textModeBanner, |                         allowLocalNetworkAccess, textModeBanner, | ||||||
|                         accessKeys, systemLanguage, maxLikeCount, |                         accessKeys, systemLanguage, maxLikeCount, | ||||||
|                         sharedItemsFederatedDomains, signingPrivateKeyPem) |                         sharedItemsFederatedDomains, signingPrivateKeyPem, | ||||||
|  |                         CWlists) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def htmlInboxNews(cssCache: {}, defaultTimeline: str, | def htmlInboxNews(cssCache: {}, defaultTimeline: str, | ||||||
|  | @ -1593,7 +1613,8 @@ def htmlInboxNews(cssCache: {}, defaultTimeline: str, | ||||||
|                   accessKeys: {}, systemLanguage: str, |                   accessKeys: {}, systemLanguage: str, | ||||||
|                   maxLikeCount: int, |                   maxLikeCount: int, | ||||||
|                   sharedItemsFederatedDomains: [], |                   sharedItemsFederatedDomains: [], | ||||||
|                   signingPrivateKeyPem: str) -> str: |                   signingPrivateKeyPem: str, | ||||||
|  |                   CWlists: {}) -> str: | ||||||
|     """Show the news timeline as html |     """Show the news timeline as html | ||||||
|     """ |     """ | ||||||
|     return htmlTimeline(cssCache, defaultTimeline, |     return htmlTimeline(cssCache, defaultTimeline, | ||||||
|  | @ -1614,7 +1635,8 @@ def htmlInboxNews(cssCache: {}, defaultTimeline: str, | ||||||
|                         authorized, None, theme, peertubeInstances, |                         authorized, None, theme, peertubeInstances, | ||||||
|                         allowLocalNetworkAccess, textModeBanner, |                         allowLocalNetworkAccess, textModeBanner, | ||||||
|                         accessKeys, systemLanguage, maxLikeCount, |                         accessKeys, systemLanguage, maxLikeCount, | ||||||
|                         sharedItemsFederatedDomains, signingPrivateKeyPem) |                         sharedItemsFederatedDomains, signingPrivateKeyPem, | ||||||
|  |                         CWlists) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def htmlOutbox(cssCache: {}, defaultTimeline: str, | def htmlOutbox(cssCache: {}, defaultTimeline: str, | ||||||
|  | @ -1642,7 +1664,8 @@ def htmlOutbox(cssCache: {}, defaultTimeline: str, | ||||||
|                accessKeys: {}, systemLanguage: str, |                accessKeys: {}, systemLanguage: str, | ||||||
|                maxLikeCount: int, |                maxLikeCount: int, | ||||||
|                sharedItemsFederatedDomains: [], |                sharedItemsFederatedDomains: [], | ||||||
|                signingPrivateKeyPem: str) -> str: |                signingPrivateKeyPem: str, | ||||||
|  |                CWlists: {}) -> str: | ||||||
|     """Show the Outbox as html |     """Show the Outbox as html | ||||||
|     """ |     """ | ||||||
|     manuallyApproveFollowers = \ |     manuallyApproveFollowers = \ | ||||||
|  | @ -1664,4 +1687,5 @@ def htmlOutbox(cssCache: {}, defaultTimeline: str, | ||||||
|                         authorized, None, theme, peertubeInstances, |                         authorized, None, theme, peertubeInstances, | ||||||
|                         allowLocalNetworkAccess, textModeBanner, |                         allowLocalNetworkAccess, textModeBanner, | ||||||
|                         accessKeys, systemLanguage, maxLikeCount, |                         accessKeys, systemLanguage, maxLikeCount, | ||||||
|                         sharedItemsFederatedDomains, signingPrivateKeyPem) |                         sharedItemsFederatedDomains, signingPrivateKeyPem, | ||||||
|  |                         CWlists) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue