Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
from abc import ABC
from enum import IntEnum
import configparser
import os
import sqlite3
import zipfile
import zlib
import html2text
import pkg_resources
from .bot import DeltaBot, Filter
from . import __version__
html2text.config.WRAP_LINKS = False
class Mode(IntEnum):
TEXT = 1
HTML = 2
HTMLZIP = 3
TEXT_HTMLZIP = 4
MD = 5
class Plugin(ABC):
"""Interface for the bot's plugins."""
name = ''
description = ''
long_description = ''
# -*- coding: utf-8 -*-
from threading import Thread, Event
from urllib.parse import quote_plus
import gettext
import os
import sqlite3
from jinja2 import Environment, PackageLoader
from simplebot import Plugin, Mode, PluginCommand
import feedparser
import html2text
import requests
feedparser.USER_AGENT = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0'
html2text.config.WRAP_LINKS = False
class RSS(Plugin):
name = 'RSS'
version = '0.1.0'
@classmethod
def activate(cls, bot):
super().activate(bot)
cls.cfg = cls.bot.get_config(__name__)
if not cls.cfg.get('delay'):
cls.cfg['delay'] = '300'
cls.bot.save_config()
self.ignore_links = config.IGNORE_ANCHORS # covered in cli
self.ignore_images = config.IGNORE_IMAGES # covered in cli
self.images_to_alt = config.IMAGES_TO_ALT # covered in cli
self.images_with_size = config.IMAGES_WITH_SIZE # covered in cli
self.ignore_emphasis = config.IGNORE_EMPHASIS # covered in cli
self.bypass_tables = config.BYPASS_TABLES # covered in cli
self.ignore_tables = config.IGNORE_TABLES # covered in cli
self.google_doc = False # covered in cli
self.ul_item_mark = '*' # covered in cli
self.emphasis_mark = '_' # covered in cli
self.strong_mark = '**'
self.single_line_break = config.SINGLE_LINE_BREAK # covered in cli
self.use_automatic_links = config.USE_AUTOMATIC_LINKS # covered in cli
self.hide_strikethrough = False # covered in cli
self.mark_code = config.MARK_CODE
self.wrap_links = config.WRAP_LINKS # covered in cli
self.pad_tables = config.PAD_TABLES # covered in cli
self.default_image_alt = config.DEFAULT_IMAGE_ALT # covered in cli
self.tag_callback = None
self.open_quote = config.OPEN_QUOTE # covered in cli
self.close_quote = config.CLOSE_QUOTE # covered in cli
if out is None: # pragma: no cover
self.out = self.outtextf
else: # pragma: no cover
self.out = out
# empty list to store output characters before they are "joined"
self.outtextlist = []
self.quiet = 0
self.p_p = 0 # number of newline character to print before next output
action="store",
type="str",
default=config.DEFAULT_IMAGE_ALT,
help="The default alt string for images with missing ones")
p.add_option(
"--pad-tables",
dest="pad_tables",
action="store_true",
default=config.PAD_TABLES,
help="pad the cells to equal column width in tables"
)
p.add_option(
"--no-wrap-links",
dest="wrap_links",
action="store_false",
default=config.WRAP_LINKS,
help="wrap links during conversion"
)
p.add_option(
"--ignore-emphasis",
dest="ignore_emphasis",
action="store_true",
default=config.IGNORE_EMPHASIS,
help="don't include any formatting for emphasis"
)
p.add_option(
"--reference-links",
dest="inline_links",
action="store_false",
default=config.INLINE_LINKS,
help="use reference style links instead of inline links"
)
action="store",
type="str",
default=config.DEFAULT_IMAGE_ALT,
help="The default alt string for images with missing ones")
p.add_option(
"--pad-tables",
dest="pad_tables",
action="store_true",
default=config.PAD_TABLES,
help="pad the cells to equal column width in tables"
)
p.add_option(
"--no-wrap-links",
dest="wrap_links",
action="store_false",
default=config.WRAP_LINKS,
help="wrap links during conversion"
)
p.add_option(
"--wrap-list-items",
dest="wrap_list_items",
action="store_true",
default=config.WRAP_LIST_ITEMS,
help="wrap list items during conversion"
)
p.add_option(
"--ignore-emphasis",
dest="ignore_emphasis",
action="store_true",
default=config.IGNORE_EMPHASIS,
help="don't include any formatting for emphasis"
)