init
This commit is contained in:
		
						commit
						a04d10e8fe
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| env/ | ||||
							
								
								
									
										71
									
								
								__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								__init__.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,71 @@ | ||||
| ### | ||||
| # Copyright (c) 2021, Pratyush Desai | ||||
| # All rights reserved. | ||||
| # | ||||
| # Redistribution and use in source and binary forms, with or without | ||||
| # modification, are permitted provided that the following conditions are met: | ||||
| # | ||||
| #   * Redistributions of source code must retain the above copyright notice, | ||||
| #     this list of conditions, and the following disclaimer. | ||||
| #   * Redistributions in binary form must reproduce the above copyright notice, | ||||
| #     this list of conditions, and the following disclaimer in the | ||||
| #     documentation and/or other materials provided with the distribution. | ||||
| #   * Neither the name of the author of this software nor the name of | ||||
| #     contributors to this software may be used to endorse or promote products | ||||
| #     derived from this software without specific prior written consent. | ||||
| # | ||||
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||||
| # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||
| # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||
| # ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ||||
| # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||||
| # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||||
| # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||||
| # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||||
| # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||||
| # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||||
| # POSSIBILITY OF SUCH DAMAGE. | ||||
| 
 | ||||
| ### | ||||
| 
 | ||||
| """ | ||||
| Spotify: Limnoria Spotify | ||||
| """ | ||||
| 
 | ||||
| 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: | ||||
							
								
								
									
										56
									
								
								config.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								config.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,56 @@ | ||||
| ### | ||||
| # Copyright (c) 2021, Pratyush Desai | ||||
| # All rights reserved. | ||||
| # | ||||
| # Redistribution and use in source and binary forms, with or without | ||||
| # modification, are permitted provided that the following conditions are met: | ||||
| # | ||||
| #   * Redistributions of source code must retain the above copyright notice, | ||||
| #     this list of conditions, and the following disclaimer. | ||||
| #   * Redistributions in binary form must reproduce the above copyright notice, | ||||
| #     this list of conditions, and the following disclaimer in the | ||||
| #     documentation and/or other materials provided with the distribution. | ||||
| #   * Neither the name of the author of this software nor the name of | ||||
| #     contributors to this software may be used to endorse or promote products | ||||
| #     derived from this software without specific prior written consent. | ||||
| # | ||||
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||||
| # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||
| # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||
| # ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ||||
| # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||||
| # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||||
| # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||||
| # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||||
| # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||||
| # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||||
| # POSSIBILITY OF SUCH DAMAGE. | ||||
| 
 | ||||
| ### | ||||
| 
 | ||||
| from supybot import conf, registry | ||||
| try: | ||||
|     from supybot.i18n import PluginInternationalization | ||||
|     _ = PluginInternationalization('Spotify') | ||||
| 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('Spotify', True) | ||||
| 
 | ||||
| 
 | ||||
| Spotify = conf.registerPlugin('Spotify') | ||||
| # This is where your configuration variables (if any) should go.  For example: | ||||
| # conf.registerGlobalValue(Spotify, 'someConfigVariableName', | ||||
| #     registry.Boolean(False, _("""Help for someConfigVariableName."""))) | ||||
| 
 | ||||
| 
 | ||||
| # vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79: | ||||
							
								
								
									
										1
									
								
								local/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								local/__init__.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| # Stub so local is a module, used for third-party modules | ||||
							
								
								
									
										50
									
								
								plugin.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								plugin.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,50 @@ | ||||
| ### | ||||
| # Copyright (c) 2021, Pratyush Desai | ||||
| # All rights reserved. | ||||
| # | ||||
| # Redistribution and use in source and binary forms, with or without | ||||
| # modification, are permitted provided that the following conditions are met: | ||||
| # | ||||
| #   * Redistributions of source code must retain the above copyright notice, | ||||
| #     this list of conditions, and the following disclaimer. | ||||
| #   * Redistributions in binary form must reproduce the above copyright notice, | ||||
| #     this list of conditions, and the following disclaimer in the | ||||
| #     documentation and/or other materials provided with the distribution. | ||||
| #   * Neither the name of the author of this software nor the name of | ||||
| #     contributors to this software may be used to endorse or promote products | ||||
| #     derived from this software without specific prior written consent. | ||||
| # | ||||
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||||
| # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||
| # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||
| # ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ||||
| # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||||
| # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||||
| # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||||
| # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||||
| # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||||
| # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||||
| # POSSIBILITY OF SUCH DAMAGE. | ||||
| 
 | ||||
| ### | ||||
| 
 | ||||
| from supybot import utils, plugins, ircutils, callbacks | ||||
| from supybot.commands import * | ||||
| try: | ||||
|     from supybot.i18n import PluginInternationalization | ||||
|     _ = PluginInternationalization('Spotify') | ||||
| except ImportError: | ||||
|     # Placeholder that allows to run the plugin on a bot | ||||
|     # without the i18n module | ||||
|     _ = lambda x: x | ||||
| 
 | ||||
| 
 | ||||
| class Spotify(callbacks.Plugin): | ||||
|     """Limnoria Spotify""" | ||||
|     threaded = True | ||||
| 
 | ||||
| 
 | ||||
| Class = Spotify | ||||
| 
 | ||||
| 
 | ||||
| # vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79: | ||||
							
								
								
									
										7
									
								
								requirements.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								requirements.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| certifi==2021.5.30 | ||||
| charset-normalizer==2.0.4 | ||||
| idna==3.2 | ||||
| requests==2.26.0 | ||||
| six==1.16.0 | ||||
| spotipy==2.18.0 | ||||
| urllib3==1.26.6 | ||||
							
								
								
									
										38
									
								
								test.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								test.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,38 @@ | ||||
| ### | ||||
| # Copyright (c) 2021, Pratyush Desai | ||||
| # All rights reserved. | ||||
| # | ||||
| # Redistribution and use in source and binary forms, with or without | ||||
| # modification, are permitted provided that the following conditions are met: | ||||
| # | ||||
| #   * Redistributions of source code must retain the above copyright notice, | ||||
| #     this list of conditions, and the following disclaimer. | ||||
| #   * Redistributions in binary form must reproduce the above copyright notice, | ||||
| #     this list of conditions, and the following disclaimer in the | ||||
| #     documentation and/or other materials provided with the distribution. | ||||
| #   * Neither the name of the author of this software nor the name of | ||||
| #     contributors to this software may be used to endorse or promote products | ||||
| #     derived from this software without specific prior written consent. | ||||
| # | ||||
| # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||||
| # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||
| # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||
| # ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ||||
| # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||||
| # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||||
| # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||||
| # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||||
| # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||||
| # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||||
| # POSSIBILITY OF SUCH DAMAGE. | ||||
| 
 | ||||
| ### | ||||
| 
 | ||||
| from supybot.test import * | ||||
| 
 | ||||
| 
 | ||||
| class SpotifyTestCase(PluginTestCase): | ||||
|     plugins = ('Spotify',) | ||||
| 
 | ||||
| 
 | ||||
| # vim:set shiftwidth=4 tabstop=4 expandtab textwidth=79: | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user