From 37ee1e5a67abee5f33f431ecd2c5488cc2175a09 Mon Sep 17 00:00:00 2001 From: Carl Chenet Date: Mon, 31 Jul 2017 15:58:30 +0200 Subject: [PATCH] cleaning some code (from MR #9) --- feed2toot/addtags.py | 6 +++--- feed2toot/cliparse.py | 6 +++--- feed2toot/confparse.py | 12 +++++------- feed2toot/feedcache.py | 4 ++-- feed2toot/plugins/influxdbplugin.py | 16 ++++++++-------- feed2toot/removeduplicates.py | 12 ++++++------ 6 files changed, 27 insertions(+), 29 deletions(-) diff --git a/feed2toot/addtags.py b/feed2toot/addtags.py index 6b63351..1859e07 100644 --- a/feed2toot/addtags.py +++ b/feed2toot/addtags.py @@ -20,7 +20,7 @@ # standard library imports from operator import itemgetter -class AddTags(object): +class AddTags: '''Add as many tags as possible depending on the tweet length''' def __init__(self, tweet, tags): '''Constructor of AddTags class''' @@ -34,14 +34,14 @@ class AddTags(object): tweetlength = len(self.tweet) # sort list of tags, the ones with the greater length first - tagswithindices = ({'text':i, 'length':len(i)} for i in self.tags) + tagswithindices = ({'text':i, 'length': len(i)} for i in self.tags) sortedtagswithindices = sorted(tagswithindices, key=itemgetter('length'), reverse=True) self.tags = (i['text'] for i in sortedtagswithindices) # add tags is space is available for tag in self.tags: taglength = len(tag) - if (tweetlength + (taglength +1)) <= maxlength: + if (tweetlength + (taglength + 1)) <= maxlength: self.tweet = ' '.join([self.tweet, tag]) tweetlength += (taglength + 1) diff --git a/feed2toot/cliparse.py b/feed2toot/cliparse.py index 822ce95..1411ad8 100644 --- a/feed2toot/cliparse.py +++ b/feed2toot/cliparse.py @@ -25,7 +25,7 @@ import sys __version__ = '0.5' -class CliParse(object): +class CliParse: '''CliParse class''' def __init__(self): '''Constructor for the CliParse class''' @@ -34,7 +34,7 @@ class CliParse(object): def main(self): '''main of CliParse class''' feed2tootepilog = 'For more information: https://feed2toot.readhthedocs.org' - feed2tootdescription = 'Take rss feed and send it to Mastodon' + feed2tootdescription = 'Take rss feed and send it to Mastodon' parser = ArgumentParser(prog='feed2toot', description=feed2tootdescription, epilog=feed2tootepilog) @@ -63,7 +63,7 @@ class CliParse(object): action='store_const', const='debug', default='warning', help='enable debug output, work on log level DEBUG') levels = [i for i in logging._nameToLevel.keys() - if (type(i) == str and i != 'NOTSET')] + if (type(i) == str and i != 'NOTSET')] parser.add_argument('--syslog', nargs='?', default=None, type=str.upper, action='store', const='INFO', choices=levels, diff --git a/feed2toot/confparse.py b/feed2toot/confparse.py index 0a4edd9..d333547 100644 --- a/feed2toot/confparse.py +++ b/feed2toot/confparse.py @@ -17,18 +17,17 @@ '''Get values of the configuration file''' # standard library imports -from configparser import SafeConfigParser, NoOptionError, NoSectionError +from configparser import SafeConfigParser import logging import os import os.path -import socket import sys import re # 3rd party library imports import feedparser -class ConfParse(object): +class ConfParse: '''ConfParse class''' def __init__(self, clioptions): '''Constructor of the ConfParse class''' @@ -46,7 +45,6 @@ class ConfParse(object): config = SafeConfigParser() if not config.read(os.path.expanduser(pathtoconfig)): sys.exit('Could not read config file') - # The feedparser section if config.has_option('feedparser', 'accept_bozo_exceptions'): self.accept_bozo_exceptions = config.getboolean('feedparser', 'accept_bozo_exceptions') @@ -185,7 +183,7 @@ class ConfParse(object): sys.exit('The parent directory of the cache file does not exist: {cachefileparent}'.format(cachefileparent=cachefileparent)) else: options['cachefile'] = self.clioptions.cachefile - ### cache limit + # cache limit if config.has_section(section): confoption = 'cache_limit' if config.has_option(section, confoption): @@ -225,7 +223,7 @@ class ConfParse(object): # host, port, user, pass, database options ########################################## plugins[section] = {} - for currentoption in ['host','port','user','pass','database']: + for currentoption in ['host', 'port', 'user', 'pass', 'database']: if config.has_option(section, currentoption): plugins[section][currentoption] = config.get(section, currentoption) if 'host' not in plugins[section]: @@ -234,7 +232,7 @@ class ConfParse(object): plugins[section]['port'] = 8086 if 'measurement' not in plugins[section]: plugins[section]['measurement'] = 'tweets' - for field in ['user','pass','database']: + for field in ['user', 'pass', 'database']: if field not in plugins[section]: sys.exit('Parsing error for {field} in the [{section}] section: {field} is not defined'.format(field=field, section=section)) diff --git a/feed2toot/feedcache.py b/feed2toot/feedcache.py index 8b1f665..ca030f7 100644 --- a/feed2toot/feedcache.py +++ b/feed2toot/feedcache.py @@ -38,9 +38,9 @@ class FeedCache: with open(self.options['cachefile']) as dbdsc: dbfromfile = dbdsc.readlines() dblist = [i.strip() for i in dbfromfile] - self.dbfeed = deque(dblist, self.options['cache_limit'] ) + self.dbfeed = deque(dblist, self.options['cache_limit']) else: - self.dbfeed = deque([], self.options['cache_limit'] ) + self.dbfeed = deque([], self.options['cache_limit']) def append(self, rssid): '''Append a rss id to the cache''' diff --git a/feed2toot/plugins/influxdbplugin.py b/feed2toot/plugins/influxdbplugin.py index ccb8b5a..849cc8b 100644 --- a/feed2toot/plugins/influxdbplugin.py +++ b/feed2toot/plugins/influxdbplugin.py @@ -16,9 +16,6 @@ # Push values to a influxdb database '''Push values to a influxdb database''' -# standard libraries imports -import json - # 3rd party libraries imports from influxdb import InfluxDBClient @@ -30,13 +27,16 @@ class InfluxdbPlugin(object): self.data = data self.datatoinfluxdb = [] self.client = InfluxDBClient(self.plugininfo['host'], - self.plugininfo['port'], - self.plugininfo['user'], - self.plugininfo['pass'], - self.plugininfo['database']) + self.plugininfo['port'], + self.plugininfo['user'], + self.plugininfo['pass'], + self.plugininfo['database']) self.main() def main(self): '''Main of the PiwikModule class''' - self.datatoinfluxdb.append({'measurement': self.plugininfo['measurement'], 'fields': {'value': self.data}}) + self.datatoinfluxdb.append({ + 'measurement': self.plugininfo['measurement'], + 'fields': {'value': self.data} + }) self.client.write_points(self.datatoinfluxdb) diff --git a/feed2toot/removeduplicates.py b/feed2toot/removeduplicates.py index d45dfc8..6e857b1 100644 --- a/feed2toot/removeduplicates.py +++ b/feed2toot/removeduplicates.py @@ -17,7 +17,7 @@ # Remove duplicates from the final string before sending the tweet '''Remove duplicates from the final string before sending the tweet''' -class RemoveDuplicates(object): +class RemoveDuplicates: '''Remove duplicates from the final string before sending the tweet''' def __init__(self, tweet): '''Constructor of RemoveDuplicates class''' @@ -32,12 +32,12 @@ class RemoveDuplicates(object): if element != ' ' and (element.startswith('http://') or element.startswith('https://')): newlink = True # if we already found this link, increment the counter - for i,_ in enumerate(links): + for i, _ in enumerate(links): if links[i]['link'] == element: newlink = False links[i]['count'] += 1 if newlink: - links.append({'link': element, 'count': 1}) + links.append({'link': element, 'count': 1}) # remove duplicates validatedlinks = [] for i in range(len(links)): @@ -45,14 +45,14 @@ class RemoveDuplicates(object): validatedlinks.append(links[i]) wildcard = 'FEED2TOOTWILDCARD' for element in validatedlinks: - for i in range(element['count']): + for i in range(element['count']): # needed for not inversing the order of links if it is a duplicate # and the second link is not one if i == 0: - self.tweet = self.tweet.replace(element['link'], wildcard, 1 ) + self.tweet = self.tweet.replace(element['link'], wildcard, 1) else: self.tweet = self.tweet.replace(element['link'], '', 1) - # finally + # finally self.tweet = self.tweet.replace(wildcard, element['link'], 1) # remove all 2xspaces self.tweet = self.tweet.replace(' ', ' ')