Browse Source

Don't assume gdshortener is installed

Added optional is.gd stats
master
The Dod 10 years ago
parent
commit
89c3110710
  1. 3
      conf-example.py
  2. 10
      feed2twister.py

3
conf-example.py

@ -6,7 +6,8 @@ RPC_URL = 'http://MYRPCUSER:MYRPCPASSWORD@127.0.0.1:28332' # change to rpcuser a @@ -6,7 +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=True
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'

10
feed2twister.py

@ -3,7 +3,10 @@ import feedparser,anydbm,sys @@ -3,7 +3,10 @@ import feedparser,anydbm,sys
from bitcoinrpc.authproxy import AuthServiceProxy
if USE_SHORTENER:
import gdshortener
try:
import gdshortener
except ImportError:
USE_SHORTENER = False
### truncated_utf8() is based on http://stackoverflow.com/a/13738452
def _is_utf8_lead_byte(b):
@ -29,8 +32,6 @@ def get_next_k(twister,username): @@ -29,8 +32,6 @@ def get_next_k(twister,username):
def main(max_items):
db = anydbm.open(DB_FILENAME,'c')
if USE_SHORTENER:
s = gdshortener.ISGDShortener()
twister = AuthServiceProxy(RPC_URL)
for feed_url in FEEDS:
logging.info(feed_url)
@ -42,8 +43,7 @@ def main(max_items): @@ -42,8 +43,7 @@ def main(max_items):
logging.debug('Skipping duplicate {0}'.format(eid))
else: # format as a <=140 character string
# Construct the link, possibly with shortener
entry_url = s.shorten(e.link)[0] if USE_SHORTENER else e.link
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)

Loading…
Cancel
Save