From abddeecda74b96fbd2f59edc29cbe0695e3ef044 Mon Sep 17 00:00:00 2001 From: Kevin Froman Date: Wed, 15 Jan 2020 00:25:16 -0600 Subject: [PATCH] made circles main.py pep8 compliant --- static-data/default-plugins/flow/main.py | 80 +++++++++++++++--------- 1 file changed, 51 insertions(+), 29 deletions(-) diff --git a/static-data/default-plugins/flow/main.py b/static-data/default-plugins/flow/main.py index e0534fe5..0d421572 100755 --- a/static-data/default-plugins/flow/main.py +++ b/static-data/default-plugins/flow/main.py @@ -1,9 +1,26 @@ -''' - Onionr - Private P2P Communication +"""Onionr - Private P2P Communication. - This default plugin handles "flow" messages (global chatroom style communication) -''' -''' +This default plugin handles "flow" messages +(global chatroom style communication) +""" +import sys +import os +import deadsimplekv as simplekv +from utils import identifyhome, reconstructhash +from coredb import blockmetadb +import threading +import time +import locale +from onionrblocks.onionrblockapi import Block +import logger +import onionrblocks +from onionrutils import escapeansi, epoch, bytesconverter + +locale.setlocale(locale.LC_ALL, '') +sys.path.insert(0, os.path.dirname(os.path.realpath(__file__))) +# import after path insert +import flowapi # noqa +""" This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or @@ -16,25 +33,15 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . -''' +""" -# Imports some useful libraries -import threading, time, locale, sys, os -from onionrblocks.onionrblockapi import Block -import logger, config, onionrblocks -from onionrutils import escapeansi, epoch, bytesconverter -locale.setlocale(locale.LC_ALL, '') -from coredb import blockmetadb -from utils import identifyhome, reconstructhash -import deadsimplekv as simplekv -sys.path.insert(0, os.path.dirname(os.path.realpath(__file__))) -import flowapi # import after path insert flask_blueprint = flowapi.flask_blueprint security_whitelist = ['staticfiles.boardContent', 'staticfiles.board'] plugin_name = 'flow' PLUGIN_VERSION = '0.0.1' + class OnionrFlow: def __init__(self): self.alreadyOutputed = [] @@ -43,12 +50,15 @@ class OnionrFlow: return def start(self): - logger.warn("Please note: everything said here is public, even if a random channel name is used.", terminal=True) + logger.warn( + "Please note: everything said here is public, " + + "even if a random channel name is used.", terminal=True) message = "" self.flowRunning = True try: - self.channel = logger.readline("Enter a channel name or none for default:").strip() - except (KeyboardInterrupt, EOFError) as e: + self.channel = logger.readline( + "Enter a channel name or none for default:").strip() + except (KeyboardInterrupt, EOFError): self.flowRunning = False newThread = threading.Thread(target=self.showOutput, daemon=True) newThread.start() @@ -56,7 +66,8 @@ class OnionrFlow: if self.channel == "": self.channel = "global" try: - message = logger.readline('\nInsert message into flow:').strip().replace('\n', '\\n').replace('\r', '\\r') + message = logger.readline('\nInsert message into flow:').strip().replace( + '\n', '\\n').replace('\r', '\\r') except EOFError: pass except KeyboardInterrupt: @@ -67,7 +78,10 @@ class OnionrFlow: expireTime = epoch.get_epoch() + 43200 if len(message) > 0: logger.info('Inserting message as block...', terminal=True) - onionrblocks.insert(message, header='brd', expire=expireTime, meta={'ch': self.channel}) + onionrblocks.insert(message, header='brd', + expire=expireTime, + meta = { + 'ch': self.channel}) logger.info("Flow is exiting, goodbye", terminal=True) return @@ -86,19 +100,24 @@ class OnionrFlow: continue if not self.flowRunning: break - logger.info('\n------------------------', prompt = False, terminal=True) + logger.info('\n------------------------', + prompt=False, terminal=True) content = block.getContent() # Escape new lines, remove trailing whitespace, and escape ansi sequences - content = escapeansi.escape_ANSI(content.replace('\n', '\\n').replace('\r', '\\r').strip()) - logger.info(block.getDate().strftime("%m/%d %H:%M") + ' - ' + logger.colors.reset + content, prompt = False, terminal=True) + content = escapeansi.escape_ANSI(content.replace( + '\n', '\\n').replace('\r', '\\r').strip()) + logger.info(block.getDate().strftime( + "%m/%d %H:%M") + ' - ' + logger.colors.reset + content, prompt=False, terminal=True) self.alreadyOutputed.append(b_hash) time.sleep(5) except KeyboardInterrupt: self.flowRunning = False + def on_flow_cmd(api, data=None): OnionrFlow().start() + def on_softreset(api, data=None): try: os.remove(identifyhome.identify_home() + '/board-index.cache.json') @@ -106,13 +125,16 @@ def on_softreset(api, data=None): except FileNotFoundError: pass + def on_processblocks(api, data=None): - metadata = data['block'].bmetadata # Get the block metadata + metadata = data['block'].bmetadata # Get the block metadata if data['type'] != 'brd': return - b_hash = reconstructhash.deconstruct_hash(data['block'].hash) # Get the 0-truncated block hash - board_cache = simplekv.DeadSimpleKV(identifyhome.identify_home() + '/board-index.cache.json', flush_on_exit=False) # get the board index cache + b_hash = reconstructhash.deconstruct_hash( + data['block'].hash) # Get the 0-truncated block hash + board_cache = simplekv.DeadSimpleKV(identifyhome.identify_home( + ) + '/board-index.cache.json', flush_on_exit=False) # get the board index cache board_cache.refresh() # Validate the channel name is sane for caching try: @@ -124,7 +146,7 @@ def on_processblocks(api, data=None): ch = 'global' elif ch_len > 12: return - + existing_posts = board_cache.get(ch) if existing_posts is None: existing_posts = []