97 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			97 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | ========= | ||
|  | Atomstrom | ||
|  | ========= | ||
|  | 
 | ||
|  | Atomstrom is a small but flexible feed aggregator. | ||
|  | Copyright (C) 2013  Ronald Schaten <ronald@schatenseite.de> | ||
|  | 
 | ||
|  | See <https://dev.0x50.de/projects/atomstrom/> for current versions and | ||
|  | development info. | ||
|  | 
 | ||
|  | 
 | ||
|  | Idea | ||
|  | ---- | ||
|  | 
 | ||
|  | The idea of Atomstrom is based on the great little aggregator rss2email | ||
|  | <http://www.allthingsrss.com/rss2email/>, a small tool written in Python that | ||
|  | fetches feeds and sends the received entries via mail. It is a fine program, | ||
|  | and I used it for several years. | ||
|  | 
 | ||
|  | 
 | ||
|  | Installation | ||
|  | ------------ | ||
|  | 
 | ||
|  | Atomstrom doesn't need any installation. Just copy the included | ||
|  | atomstrom.conf.sample to atomstrom.conf and make the appropriate settings. | ||
|  | 
 | ||
|  | If you use MySQL, you'll have to create a database first. The database | ||
|  | structure will be created by Atomstrom on its first launch. | ||
|  | 
 | ||
|  | 
 | ||
|  | Configuration | ||
|  | ------------- | ||
|  | 
 | ||
|  | Up until now, feeds are configured by making the right settings in the | ||
|  | feed-table of the database. The settings are as follows: | ||
|  | 
 | ||
|  | * id: Set automatically by the database, you don't have to change this. | ||
|  | * url: URL of the feed you'd like to fetch. | ||
|  | * frequency: Minutes between fetching the feed. | ||
|  | * keepdaysafterlastfetch: Entries are deleted if they aren't included in the | ||
|  |   feed for n days. | ||
|  | * daily: Entries won't be sent immediately, they are included in the daily | ||
|  |   digest. | ||
|  | * resolveredirects: Some feeds use URL-forwarders in their feeds to create | ||
|  |   usage stats. Enable this if the forwarder-URL is ugly. | ||
|  | * readability: Use readability to fetch the URL and extract the part that is | ||
|  |   probably the entry content. | ||
|  | * fullpage: Fetch the full page from the URL. | ||
|  | * contentcolumn: Can be one of summary, content, fullpage or readability. This | ||
|  |   marks the column in which the content is found that will be sent. | ||
|  | * html2textcontent: Convert the content-text from HTML to text. | ||
|  | * html2textignorelinks: Ignore links when converting to text. | ||
|  | * html2textignoreimages: Ignore images when converting to text. | ||
|  | * enabled: Marks if this feed is enabled or not. | ||
|  | 
 | ||
|  | The on-/off-options have to be NULL to be disabled, 1 otherwise. | ||
|  | 
 | ||
|  | 
 | ||
|  | Usage | ||
|  | ----- | ||
|  | 
 | ||
|  | I use two cronjobs to fetch and send feeds: | ||
|  | 
 | ||
|  | */5 * * * * cd /atomstrom-directory/ && ./atomstrom.py -fs > /dev/null 2>&1 | ||
|  | 5 6 * * * cd /atomstrom-directory/ && ./atomstrom.py -d > /dev/null 2>&1 | ||
|  | 
 | ||
|  | So every five minutes, all due feeds will be fetched and single mails will be | ||
|  | sent. Every day at 06:05, the daily digest will be sent. | ||
|  | 
 | ||
|  | 
 | ||
|  | Command Line Arguments | ||
|  | ---------------------- | ||
|  | 
 | ||
|  | The following switches can be used from the command line interface: | ||
|  | 
 | ||
|  | -h, --help          show this help message and exit | ||
|  | -f, --fetch         fetch all feeds | ||
|  | -s, --single        send single mails | ||
|  | -d, --daily         send daily digest | ||
|  | -l, --list          list all configured feeds | ||
|  | -e ID, --delete ID  delete feed <ID> from configuration | ||
|  | -r ID, --reset ID   reset data for feed <ID> | ||
|  | 
 | ||
|  | Note that until now it's not possible to add or configure feeds from the | ||
|  | command line. Maybe this feature will be included in some future version. | ||
|  | 
 | ||
|  | 
 | ||
|  | Thanks | ||
|  | ------ | ||
|  | 
 | ||
|  | I'd like to thank the creators of the modules I was able to use for this | ||
|  | project: | ||
|  | 
 | ||
|  | * Universal Feed Parser: <http://code.google.com/p/feedparser/> | ||
|  | * SQLAlchemy: <http://www.sqlalchemy.org/> | ||
|  | * python-readability: <https://github.com/buriy/python-readability> |