mirror of
https://github.com/twisterarmy/feed2twister.git
synced 2025-03-13 05:51:35 +00:00
Add various options to support streaming app.net feed or other microblogging feeds
This commit is contained in:
parent
a5490c4264
commit
4519800066
@ -1,7 +1,4 @@
|
||||
[DEFAULT]
|
||||
# For deployment. It's on a don't wanna know basis :)
|
||||
# logging_level = error
|
||||
logging_level = debug
|
||||
# e.g 'thedod'
|
||||
username = MYTWISTERUSERNAME
|
||||
# change to rpcuser and rpcpassword from ~/.twister/twister.conf
|
||||
@ -10,13 +7,20 @@ rpc_url = http://MYRPCUSER:MYRPCPASSWORD@127.0.0.1:28332
|
||||
db_filename = items.db
|
||||
# this leaves 36 characters and a ... to get to 140. If we don't have that, we skip the item :(
|
||||
max_url_length = 100
|
||||
# Use your own feeds, of course :)
|
||||
feeds = https://swatwt.com/favs/rss/en
|
||||
https://github.com/thedod.atom
|
||||
https://github.com/milouse.atom
|
||||
|
||||
|
||||
# All the following options are optional
|
||||
|
||||
# For deployment. It's on a don't wanna know basis :)
|
||||
# logging_level = error
|
||||
logging_level = debug
|
||||
# we don't want to flood more than that in a single run.
|
||||
max_new_items_per_feed = 3
|
||||
# to enable this, you need gdshortener: https://github.com/torre76/gd_shortener/
|
||||
use_shortener = False
|
||||
# tell is.gd to publicly show statistics for the shortened url
|
||||
shortener_stats = True
|
||||
# Use your own feeds, of course :)
|
||||
feeds = https://swatwt.com/favs/rss/en
|
||||
https://github.com/thedod.atom
|
||||
https://github.com/milouse.atom
|
||||
|
@ -19,19 +19,19 @@ else:
|
||||
main_config = main_config_file.defaults()
|
||||
|
||||
def get_bool_conf_option(option):
|
||||
if main_config[option]:
|
||||
if option in main_config and main_config[option]:
|
||||
v = main_config[option]
|
||||
return str(v).lower() in ('yes', 'true', 't', '1')
|
||||
return False
|
||||
|
||||
def get_array_conf_option(option):
|
||||
if main_config[option]:
|
||||
if option in main_config and main_config[option]:
|
||||
return main_config[option].split("\n")
|
||||
return []
|
||||
|
||||
import logging
|
||||
log_level = logging.ERROR
|
||||
if main_config['logging_level']:
|
||||
if 'logging_level' in main_config and main_config['logging_level']:
|
||||
log_level = main_config['logging_level']
|
||||
log_level = getattr(logging, log_level.upper())
|
||||
|
||||
@ -82,17 +82,26 @@ 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 = gdshortener.ISGDShortener().shorten(url=e.link, log_stat=get_bool_conf_option('shortener_stats'))[0] if get_bool_conf_option('use_shortener') else e.link
|
||||
if not get_bool_conf_option('do_not_include_link'):
|
||||
# Construct the link, possibly with shortener
|
||||
entry_url = gdshortener.ISGDShortener().shorten(url=e.link, log_stat=get_bool_conf_option('shortener_stats'))[0] if get_bool_conf_option('use_shortener') else e.link
|
||||
|
||||
if len(entry_url) <= int(main_config['max_url_length']):
|
||||
msg = u'{0} {1}'.format(entry_url,e.title)
|
||||
if len(entry_url) <= int(main_config['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 :(
|
||||
msg = ''
|
||||
|
||||
else: # Link too long. Not enough space left for text :(
|
||||
msg = ''
|
||||
else:
|
||||
entry_title = e.title
|
||||
if 'skip_first_title_char' in main_config and main_config['skip_first_title_char']:
|
||||
entry_title = entry_title[int(main_config['skip_first_title_char']):]
|
||||
|
||||
msg = u'{0}'.format(entry_title)
|
||||
|
||||
|
||||
if len(msg)>140: # Truncate (and hope it's still meaningful)
|
||||
msg = msg[:137]+u'...'
|
||||
|
||||
|
||||
utfmsg = truncated_utf8(msg,140)# limit is 140 utf-8 bytes (not chars)
|
||||
@ -123,7 +132,7 @@ def main(max_items):
|
||||
if __name__=='__main__':
|
||||
if args.maxitems != None:
|
||||
n = args.maxitems
|
||||
elif main_config['max_new_items_per_feed']:
|
||||
elif 'max_new_items_per_feed' in main_config and main_config['max_new_items_per_feed']:
|
||||
n = int(main_config['max_new_items_per_feed'])
|
||||
else:
|
||||
n = 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user