mirror of https://gitlab.com/bashrc2/epicyon
				
				
				
			Block and unblock options
							parent
							
								
									005bd0b0af
								
							
						
					
					
						commit
						645f45cfcb
					
				|  | @ -9,20 +9,21 @@ __status__ = "Production" | |||
| import os | ||||
| 
 | ||||
| def addBlock(baseDir: str,nickname: str,domain: str, \ | ||||
|              blockNickname: str,blockDomain: str) -> None: | ||||
|              blockNickname: str,blockDomain: str) -> bool: | ||||
|     """Block the given account | ||||
|     """ | ||||
|     blockingFilename=baseDir+'/accounts/'+nickname+'@'+domain+'/blocking.txt' | ||||
|     blockHandle=blockNickName+'@'+blockDomain | ||||
|     if os.path.isfile(blockingFilename): | ||||
|         if blockHandle in open(blockingFilename).read(): | ||||
|             return | ||||
|             return False | ||||
|     blockFile=open(blockingFilename, "a+") | ||||
|     blockFile.write(blockHandle+'\n') | ||||
|     blockFile.close() | ||||
|     return True | ||||
| 
 | ||||
| def removeBlock(baseDir: str,nickname: str,domain: str, \ | ||||
|                 unblockNickname: str,unblockDomain: str) -> None: | ||||
|                 unblockNickname: str,unblockDomain: str) -> bool: | ||||
|     """Unblock the given account | ||||
|     """ | ||||
|     unblockingFilename=baseDir+'/accounts/'+nickname+'@'+domain+'/blocking.txt' | ||||
|  | @ -37,6 +38,8 @@ def removeBlock(baseDir: str,nickname: str,domain: str, \ | |||
|                             fpnew.write(handle+'\n') | ||||
|             if os.path.isfile(unblockingFilename+'.new'): | ||||
|                 os.rename(unblockingFilename+'.new',unblockingFilename) | ||||
|                 return True | ||||
|     return False | ||||
|                      | ||||
| def isBlocked(baseDir: str,nickname: str,domain: str, \ | ||||
|               blockNickname: str,blockDomain: str) -> bool: | ||||
|  |  | |||
							
								
								
									
										28
									
								
								epicyon.py
								
								
								
								
							
							
						
						
									
										28
									
								
								epicyon.py
								
								
								
								
							|  | @ -30,6 +30,8 @@ from posts import getUserUrl | |||
| from posts import archivePosts | ||||
| from session import createSession | ||||
| from session import getJson | ||||
| from blocking import addBlock | ||||
| from blocking import removeBlock | ||||
| import json | ||||
| import os | ||||
| import shutil | ||||
|  | @ -185,6 +187,10 @@ parser.add_argument('--level', dest='skillLevelPercent', type=int,default=None, | |||
|                     help='Set a skill level for a person as a percentage, or zero to remove') | ||||
| parser.add_argument('--status','--availability', dest='availability', type=str,default=None, \ | ||||
|                     help='Set an availability status') | ||||
| parser.add_argument('--block', dest='block', type=str,default=None, \ | ||||
|                     help='Block a particular address') | ||||
| parser.add_argument('--unblock', dest='unblock', type=str,default=None, \ | ||||
|                     help='Remove a block on a particular address') | ||||
| args = parser.parse_args() | ||||
| 
 | ||||
| debug=False | ||||
|  | @ -586,6 +592,28 @@ if not os.path.isdir(baseDir+'/accounts/'+nickname+'@'+domain): | |||
|     setConfigParam(baseDir,'adminPassword',adminPassword) | ||||
|     createPerson(baseDir,nickname,domain,port,httpPrefix,True,adminPassword) | ||||
| 
 | ||||
| if args.block: | ||||
|     if not args.nickname: | ||||
|         print('Please specify a nickname') | ||||
|         sys.exit() | ||||
|     if '@' not in args.block: | ||||
|         print('syntax: --block nickname@domain') | ||||
|         sys.exit() | ||||
|     if addBlock(baseDir,args.nickname,domain,args.block.split('@')[0],args.block.split('@')[1].replace('\n','')): | ||||
|         print(args.block+' is blocked by '+args.nickname) | ||||
|     sys.exit() | ||||
| 
 | ||||
| if args.unblock: | ||||
|     if not args.nickname: | ||||
|         print('Please specify a nickname') | ||||
|         sys.exit() | ||||
|     if '@' not in args.block: | ||||
|         print('syntax: --unblock nickname@domain') | ||||
|         sys.exit() | ||||
|     if removeBlock(baseDir,args.nickname,domain,args.block.split('@')[0],args.block.split('@')[1].replace('\n','')): | ||||
|         print('The block on '+args.block+' was removed by '+args.nickname) | ||||
|     sys.exit() | ||||
| 
 | ||||
| if args.testdata: | ||||
|     useBlurhash=False     | ||||
|     nickname='testuser567' | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue