Initial Commit

This commit is contained in:
Pratyush Desai 2021-07-21 06:09:50 +05:30
commit 3c50449d00
No known key found for this signature in database
GPG Key ID: EAA4FD0FB5CACA61
6 changed files with 144 additions and 0 deletions

1
README.md Normal file
View File

@ -0,0 +1 @@
Interacts with PRAW

48
__init__.py Normal file
View File

@ -0,0 +1,48 @@
###
# Copyright (c) 2021, Pratyush Desai
# All rights reserved.
#
#
###
"""
Reddit: Interacts with PRAW
"""
import sys
import supybot
from supybot import world
# Use this for the version of this plugin.
__version__ = ""
# XXX Replace this with an appropriate author or supybot.Author instance.
__author__ = supybot.authors.unknown
# This is a dictionary mapping supybot.Author instances to lists of
# contributions.
__contributors__ = {}
# This is a url where the most recent plugin package can be downloaded.
__url__ = ''
from . import config
from . import plugin
if sys.version_info >= (3, 4):
from importlib import reload
else:
from imp import reload
# In case we're being reloaded.
reload(config)
reload(plugin)
# Add more reloads here if you add third-party modules and want them to be
# reloaded when this plugin is reloaded. Don't forget to import them as well!
if world.testing:
from . import test
Class = plugin.Class
configure = config.configure
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:

52
config.py Normal file
View File

@ -0,0 +1,52 @@
###
# Copyright (c) 2021, Pratyush Desai
# All rights reserved.
#
#
###
from supybot import conf, registry
try:
from supybot.i18n import PluginInternationalization
_ = PluginInternationalization('Reddit')
except:
# Placeholder that allows to run the plugin on a bot
# without the i18n module
_ = lambda x: x
def configure(advanced):
# This will be called by supybot to configure this module. advanced is
# a bool that specifies whether the user identified themself as an advanced
# user or not. You should effect your configuration by manipulating the
# registry as appropriate.
from supybot.questions import expect, anything, something, yn
conf.registerPlugin('Reddit', True)
Reddit = conf.registerPlugin('Reddit')
# This is where your configuration variables (if any) should go. For example:
# conf.registerGlobalValue(Reddit, 'someConfigVariableName',
# registry.Boolean(False, _("""Help for someConfigVariableName.""")))
conf.registerNetworkValue(Reddit, 'client_id',
registry.String("", _("""Guide to obtaining credentials can be found at
https://praw.readthedocs.io/en/latest/getting_started/authentication.html""")))
conf.registerNetworkValue(Reddit, 'client_secret',
registry.String("", _("""Guide to obtaining credentials can be found at
https://praw.readthedocs.io/en/latest/getting_started/authentication.html""")))
conf.registerNetworkValue(Reddit, 'username',
registry.String("", _("""Guide to obtaining credentials can be found at
https://praw.readthedocs.io/en/latest/getting_started/authentication.html""")))
conf.registerNetworkValue(Reddit, 'password',
registry.String("", _("""Guide to obtaining credentials can be found at
https://praw.readthedocs.io/en/latest/getting_started/authentication.html""")))
conf.registerNetworkValue(Reddit, 'user_agent',
registry.String("", _("""Guide to obtaining credentials can be found at
https://praw.readthedocs.io/en/latest/getting_started/authentication.html""")))
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79:

1
local/__init__.py Normal file
View File

@ -0,0 +1 @@
# Stub so local is a module, used for third-party modules

27
plugin.py Normal file
View File

@ -0,0 +1,27 @@
###
# Copyright (c) 2021, Pratyush Desai
# All rights reserved.
#
#
###
from supybot import utils, plugins, ircutils, callbacks
from supybot.commands import *
try:
from supybot.i18n import PluginInternationalization
_ = PluginInternationalization('Reddit')
except ImportError:
# Placeholder that allows to run the plugin on a bot
# without the i18n module
_ = lambda x: x
class Reddit(callbacks.Plugin):
"""Interacts with PRAW"""
threaded = True
Class = Reddit
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:

15
test.py Normal file
View File

@ -0,0 +1,15 @@
###
# Copyright (c) 2021, Pratyush Desai
# All rights reserved.
#
#
###
from supybot.test import *
class RedditTestCase(PluginTestCase):
plugins = ('Reddit',)
# vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79: