mirror of
https://github.com/twisterarmy/feed2twister.git
synced 2025-02-01 01:24:21 +00:00
Merge branch 'mrvdb-mrb/shortener'
This commit is contained in:
commit
68679ddc2b
@ -5,6 +5,7 @@ Feed2twister is a simple script to post items from RSS/ATOM feeds to [Twister](h
|
||||
* [Twister](http://twister.net.co/) (of course)
|
||||
* [python-bitcoinrpc](https://pypi.python.org/pypi/python-bitcoinrpc/)
|
||||
* [feedparser](https://pypi.python.org/pypi/feedparser/)
|
||||
* [gdshortener](https://github.com/torre76/gd_shortener/) (optional)
|
||||
|
||||
### Installing
|
||||
|
||||
|
@ -6,6 +6,8 @@ RPC_URL = 'http://MYRPCUSER:MYRPCPASSWORD@127.0.0.1:28332' # change to rpcuser a
|
||||
DB_FILENAME = 'items.db' # db is mainly there to keep track of "what not to post again" :) (debugging too, I guess)
|
||||
MAX_URL_LENGTH = 100 # this leaves 36 characters and a ... to get to 140. If we don't have that, we skip the item :(
|
||||
MAX_NEW_ITEMS_PER_FEED = 3 # we don't want to flood more than that in a single run.
|
||||
USE_SHORTENER = False # to enable this, you need gdshortener: https://github.com/torre76/gd_shortener/
|
||||
SHORTENER_STATS = True # tell is.gd to publicly show statistics for the shortened url
|
||||
FEEDS = [ # Use your own feeds, of course :)
|
||||
'https://swatwt.com/favs/rss/en',
|
||||
'https://github.com/thedod.atom'
|
||||
|
@ -2,6 +2,12 @@ from conf import *
|
||||
import feedparser,anydbm,sys
|
||||
from bitcoinrpc.authproxy import AuthServiceProxy
|
||||
|
||||
if USE_SHORTENER:
|
||||
try:
|
||||
import gdshortener
|
||||
except ImportError:
|
||||
USE_SHORTENER = False
|
||||
|
||||
### truncated_utf8() is based on http://stackoverflow.com/a/13738452
|
||||
def _is_utf8_lead_byte(b):
|
||||
'''A UTF-8 intermediate byte starts with the bits 10xxxxxx.'''
|
||||
@ -36,8 +42,10 @@ def main(max_items):
|
||||
if db.has_key(eid): # been there, done that (or not - for a reason)
|
||||
logging.debug('Skipping duplicate {0}'.format(eid))
|
||||
else: # format as a <=140 character string
|
||||
if len(e.link)<=MAX_URL_LENGTH:
|
||||
msg = u'{0} {1}'.format(e.link,e.title)
|
||||
# Construct the link, possibly with shortener
|
||||
entry_url = gdshortener.ISGDShortener().shorten(url=e.link, log_stat=SHORTENER_STATS)[0] if USE_SHORTENER else e.link
|
||||
if len(entry_url)<=MAX_URL_LENGTH:
|
||||
msg = u'{0} {1}'.format(entry_url,e.title)
|
||||
if len(msg)>140: # Truncate (and hope it's still meaningful)
|
||||
msg = msg[:137]+u'...'
|
||||
else: # Link too long. Not enough space left for text :(
|
||||
|
Loading…
x
Reference in New Issue
Block a user