pathScripts/n3k

50 lines
1.4 KiB
Python
Executable file

#!/usr/bin/env python3
import sys
from newspaper import Article
import textwrap
def format_article(url):
try:
# Initialize and download the article
article = Article(url)
article.download()
article.parse()
# Format the title
output = f"# {article.title}\n\n"
# Format the authors
if article.authors:
output += f"*{', '.join(article.authors)}*\n\n"
# Format the text with proper wrapping and paragraph separation
if article.text:
# Split into paragraphs and wrap each one
paragraphs = article.text.split('\n')
wrapped_paragraphs = []
for paragraph in paragraphs:
if paragraph.strip(): # Only process non-empty paragraphs
# Wrap text at 80 characters
wrapped = textwrap.fill(paragraph.strip(), width=80)
wrapped_paragraphs.append(wrapped)
output += '\n\n'.join(wrapped_paragraphs)
return output
except Exception as e:
return f"Error processing article: {str(e)}"
def main():
if len(sys.argv) != 2:
print("Usage: ./script.py <article_url>")
sys.exit(1)
url = sys.argv[1]
formatted_article = format_article(url)
print(formatted_article)
if __name__ == "__main__":
main()