Compare commits
	
		
			1 Commits
		
	
	
		
			main
			...
			markdown_e
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 8762112e37 | 
@@ -7,6 +7,7 @@ import os
 | 
				
			|||||||
import toml
 | 
					import toml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from mastodon_blocklist_deploy.models import Instance
 | 
					from mastodon_blocklist_deploy.models import Instance
 | 
				
			||||||
 | 
					from mastodon_blocklist_deploy.helpers import blocklist_to_markdown
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def load_blocklist_file(filename: str) -> [Instance]:
 | 
					def load_blocklist_file(filename: str) -> [Instance]:
 | 
				
			||||||
@@ -56,6 +57,7 @@ def cli():
 | 
				
			|||||||
    parser.add_argument('-o', '--output', help="Filename where to export the blocklist")
 | 
					    parser.add_argument('-o', '--output', help="Filename where to export the blocklist")
 | 
				
			||||||
    parser.add_argument('-v', '--verbose', action='store_true')
 | 
					    parser.add_argument('-v', '--verbose', action='store_true')
 | 
				
			||||||
    parser.add_argument('-n', '--no-delete', action='store_true', help="Do not delete existing blocks")
 | 
					    parser.add_argument('-n', '--no-delete', action='store_true', help="Do not delete existing blocks")
 | 
				
			||||||
 | 
					    parser.add_argument('--markdown', action='store_true', help="Export as markdown table")
 | 
				
			||||||
    args = parser.parse_args()
 | 
					    args = parser.parse_args()
 | 
				
			||||||
    if args.verbose:
 | 
					    if args.verbose:
 | 
				
			||||||
        logging.basicConfig(level=logging.DEBUG)
 | 
					        logging.basicConfig(level=logging.DEBUG)
 | 
				
			||||||
@@ -95,9 +97,15 @@ def cli():
 | 
				
			|||||||
        Instance.apply_blocks_from_diff(diffs, args.server, token, args.no_delete)
 | 
					        Instance.apply_blocks_from_diff(diffs, args.server, token, args.no_delete)
 | 
				
			||||||
    elif args.action == "export":
 | 
					    elif args.action == "export":
 | 
				
			||||||
        if not args.output:
 | 
					        if not args.output:
 | 
				
			||||||
 | 
					            if args.markdown:
 | 
				
			||||||
 | 
					                print(blocklist_to_markdown(remote_blocklist))
 | 
				
			||||||
 | 
					            else:
 | 
				
			||||||
                print(toml.dumps({"instances": [remove_key_from_dict(b.__dict__, 'id') for b in remote_blocklist]}))
 | 
					                print(toml.dumps({"instances": [remove_key_from_dict(b.__dict__, 'id') for b in remote_blocklist]}))
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            with open(args.output, "w") as f:
 | 
					            with open(args.output, "w") as f:
 | 
				
			||||||
 | 
					                if args.markdown:
 | 
				
			||||||
 | 
					                    f.write(blocklist_to_markdown(remote_blocklist))
 | 
				
			||||||
 | 
					                else:
 | 
				
			||||||
                    toml.dump({"instances": [remove_key_from_dict(b.__dict__, 'id') for b in remote_blocklist]}, f)
 | 
					                    toml.dump({"instances": [remove_key_from_dict(b.__dict__, 'id') for b in remote_blocklist]}, f)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6
									
								
								mastodon_blocklist_deploy/helpers.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								mastodon_blocklist_deploy/helpers.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					from mastodon_blocklist_deploy.models import Instance
 | 
				
			||||||
 | 
					def blocklist_to_markdown(blocklist:[Instance]):
 | 
				
			||||||
 | 
					    markdown_string = "| Instance | Status | Reason |\n | --- | --- | --- |\n"
 | 
				
			||||||
 | 
					    for instance in blocklist:
 | 
				
			||||||
 | 
					        markdown_string += f"| {instance.domain} | {instance.severity} | {instance.public_comment} |\n"
 | 
				
			||||||
 | 
					    return markdown_string
 | 
				
			||||||
		Reference in New Issue
	
	Block a user