From 8d19cb2445e2aa1f53431da26d866bf9b5e25872 Mon Sep 17 00:00:00 2001 From: Sebastian Spaeth Date: Fri, 16 Nov 2012 11:32:35 +0100 Subject: [PATCH] Don't require webob as dependency It is pushing up the daisies. Also relnote the change. --- .../build/mediagoblin-licenses/PKG-INFO | 11 +++ docs/source/build/mediagoblin-licenses/README | 15 ++++ .../mediagoblin_licenses/README.rst | 15 ++++ .../mediagoblin_licenses/__init__.py | 69 +++++++++++++++++++ .../mediagoblin_licenses/README.rst | 15 ++++ .../mediagoblin_licenses/__init__.py | 69 +++++++++++++++++++ .../mediagoblin_licenses.egg-info/PKG-INFO | 11 +++ .../mediagoblin_licenses.egg-info/SOURCES.txt | 6 ++ .../dependency_links.txt | 1 + .../top_level.txt | 1 + .../build/mediagoblin-licenses/setup.py | 30 ++++++++ .../build/pip-delete-this-directory.txt | 5 ++ docs/source/plugindocs/trim_whitespace.rst | 1 + docs/source/siteadmin/relnotes.rst | 9 +++ setup.py | 1 - 15 files changed, 258 insertions(+), 1 deletion(-) create mode 100644 docs/source/build/mediagoblin-licenses/PKG-INFO create mode 100644 docs/source/build/mediagoblin-licenses/README create mode 100644 docs/source/build/mediagoblin-licenses/build/lib.linux-x86_64-2.7/mediagoblin_licenses/README.rst create mode 100644 docs/source/build/mediagoblin-licenses/build/lib.linux-x86_64-2.7/mediagoblin_licenses/__init__.py create mode 100644 docs/source/build/mediagoblin-licenses/mediagoblin_licenses/README.rst create mode 100644 docs/source/build/mediagoblin-licenses/mediagoblin_licenses/__init__.py create mode 100644 docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/PKG-INFO create mode 100644 docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/SOURCES.txt create mode 100644 docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/dependency_links.txt create mode 100644 docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/top_level.txt create mode 100644 docs/source/build/mediagoblin-licenses/setup.py create mode 100644 docs/source/build/pip-delete-this-directory.txt create mode 100644 docs/source/plugindocs/trim_whitespace.rst diff --git a/docs/source/build/mediagoblin-licenses/PKG-INFO b/docs/source/build/mediagoblin-licenses/PKG-INFO new file mode 100644 index 00000000..047efe83 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/PKG-INFO @@ -0,0 +1,11 @@ +Metadata-Version: 1.1 +Name: mediagoblin-licenses +Version: 0.1.2 +Summary: Customize the licenses for your mediagoblin installation +Home-page: https://gitorious.org/mediagoblin-licenses/mediagoblin-licenses +Author: Sebastian Spaeth +Author-email: Sebastian@SSpaeth.de +License: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+) +Download-URL: https://gitorious.org/mediagoblin-licenses/mediagoblin-licenses/archive-tarball/mediagoblin-licenses-v0.1.2 +Description: UNKNOWN +Platform: UNKNOWN diff --git a/docs/source/build/mediagoblin-licenses/README b/docs/source/build/mediagoblin-licenses/README new file mode 100644 index 00000000..ce52a8c0 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/README @@ -0,0 +1,15 @@ +================ + Custom Licenses +================ + +Enable by configuring all custom licenses in the form of: +license_x=Abbreviation, Full Name, URL to license + +Make sure to only insert one line per license without line breaks. + +E.g. do this into mediagoblin_local.ini: +[[mediagoblin_licenses]] +license_1=Chicken Dance, Chicken Dance License v1.0, https://raw.github.com/supertunaman/cdl/f0ae734f4abce311070ac0c401dbc0230cbc4344/COPYING +license_2=WTFPL, Do What the Fuck Public License v2.0, http://sam.zoy.org/wtfpl/ + +This plugin is licensed under the GNU APGL v3+. \ No newline at end of file diff --git a/docs/source/build/mediagoblin-licenses/build/lib.linux-x86_64-2.7/mediagoblin_licenses/README.rst b/docs/source/build/mediagoblin-licenses/build/lib.linux-x86_64-2.7/mediagoblin_licenses/README.rst new file mode 100644 index 00000000..ce52a8c0 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/build/lib.linux-x86_64-2.7/mediagoblin_licenses/README.rst @@ -0,0 +1,15 @@ +================ + Custom Licenses +================ + +Enable by configuring all custom licenses in the form of: +license_x=Abbreviation, Full Name, URL to license + +Make sure to only insert one line per license without line breaks. + +E.g. do this into mediagoblin_local.ini: +[[mediagoblin_licenses]] +license_1=Chicken Dance, Chicken Dance License v1.0, https://raw.github.com/supertunaman/cdl/f0ae734f4abce311070ac0c401dbc0230cbc4344/COPYING +license_2=WTFPL, Do What the Fuck Public License v2.0, http://sam.zoy.org/wtfpl/ + +This plugin is licensed under the GNU APGL v3+. \ No newline at end of file diff --git a/docs/source/build/mediagoblin-licenses/build/lib.linux-x86_64-2.7/mediagoblin_licenses/__init__.py b/docs/source/build/mediagoblin-licenses/build/lib.linux-x86_64-2.7/mediagoblin_licenses/__init__.py new file mode 100644 index 00000000..37f5a390 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/build/lib.linux-x86_64-2.7/mediagoblin_licenses/__init__.py @@ -0,0 +1,69 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +from __future__ import unicode_literals + +import logging +from mediagoblin.tools.pluginapi import get_config +from mediagoblin.tools import licenses + +__VERSION__ = '0.1.2' # releases get numbers, post release a "+" appended +_log = logging.getLogger(__name__) + +SORTED_PLUGIN_LICENSES = [] +"""This is the equivalent of MG.tools.licenses.SORTED_LICENSES +that we want to replace""" + + +class CustomLicenses(object): + _setup_plugin_called = 0 + + @classmethod + def setup_plugin(cls): + if cls._setup_plugin_called: + return # Only set up once + cls._setup_plugin_called += 1 + _log.info('Configurable license plugin setting up!') + # Get configured licenses + config = get_config(cls.__module__) + if not config: + _log.warn('There are no licenses configured at all.') + return # Nothing configured, nothing to do... + + for k,v in config.iteritems(): + if not k.lower().startswith('license_'): + continue + (abbrev, name, url) = config.as_list(k) + _log.info("Adding license: {0}".format(abbrev)) + SORTED_PLUGIN_LICENSES.append(licenses.License(abbrev, name, url)) + + # Set the regular license list to our custom ones: + licenses.SORTED_LICENSES = SORTED_PLUGIN_LICENSES + # create dict {url: License,...} to enable fast license lookup by url. + + # The data structure in + # mediagoblin.tools.licenses.SUPPORTED_LICENSES and SORTED_LICENSES + # is really not optimal. What we want there is a "OrderedDict" that + # can give us order AND quick lookup by key at the same time. But as + # that is python >=2.7 and we have to deal with python 2.6, we'll + # live with the data duplication in 2 structures for now. It's not + # like we are going to have hundreds of licenses, fortunately. + licenses.SUPPORTED_LICENSES = dict(((l.uri, l) for l in \ + SORTED_PLUGIN_LICENSES)) + + +hooks = { + 'setup': CustomLicenses.setup_plugin + } diff --git a/docs/source/build/mediagoblin-licenses/mediagoblin_licenses/README.rst b/docs/source/build/mediagoblin-licenses/mediagoblin_licenses/README.rst new file mode 100644 index 00000000..ce52a8c0 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/mediagoblin_licenses/README.rst @@ -0,0 +1,15 @@ +================ + Custom Licenses +================ + +Enable by configuring all custom licenses in the form of: +license_x=Abbreviation, Full Name, URL to license + +Make sure to only insert one line per license without line breaks. + +E.g. do this into mediagoblin_local.ini: +[[mediagoblin_licenses]] +license_1=Chicken Dance, Chicken Dance License v1.0, https://raw.github.com/supertunaman/cdl/f0ae734f4abce311070ac0c401dbc0230cbc4344/COPYING +license_2=WTFPL, Do What the Fuck Public License v2.0, http://sam.zoy.org/wtfpl/ + +This plugin is licensed under the GNU APGL v3+. \ No newline at end of file diff --git a/docs/source/build/mediagoblin-licenses/mediagoblin_licenses/__init__.py b/docs/source/build/mediagoblin-licenses/mediagoblin_licenses/__init__.py new file mode 100644 index 00000000..37f5a390 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/mediagoblin_licenses/__init__.py @@ -0,0 +1,69 @@ +# GNU MediaGoblin -- federated, autonomous media hosting +# Copyright (C) 2011, 2012 MediaGoblin contributors. See AUTHORS. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +from __future__ import unicode_literals + +import logging +from mediagoblin.tools.pluginapi import get_config +from mediagoblin.tools import licenses + +__VERSION__ = '0.1.2' # releases get numbers, post release a "+" appended +_log = logging.getLogger(__name__) + +SORTED_PLUGIN_LICENSES = [] +"""This is the equivalent of MG.tools.licenses.SORTED_LICENSES +that we want to replace""" + + +class CustomLicenses(object): + _setup_plugin_called = 0 + + @classmethod + def setup_plugin(cls): + if cls._setup_plugin_called: + return # Only set up once + cls._setup_plugin_called += 1 + _log.info('Configurable license plugin setting up!') + # Get configured licenses + config = get_config(cls.__module__) + if not config: + _log.warn('There are no licenses configured at all.') + return # Nothing configured, nothing to do... + + for k,v in config.iteritems(): + if not k.lower().startswith('license_'): + continue + (abbrev, name, url) = config.as_list(k) + _log.info("Adding license: {0}".format(abbrev)) + SORTED_PLUGIN_LICENSES.append(licenses.License(abbrev, name, url)) + + # Set the regular license list to our custom ones: + licenses.SORTED_LICENSES = SORTED_PLUGIN_LICENSES + # create dict {url: License,...} to enable fast license lookup by url. + + # The data structure in + # mediagoblin.tools.licenses.SUPPORTED_LICENSES and SORTED_LICENSES + # is really not optimal. What we want there is a "OrderedDict" that + # can give us order AND quick lookup by key at the same time. But as + # that is python >=2.7 and we have to deal with python 2.6, we'll + # live with the data duplication in 2 structures for now. It's not + # like we are going to have hundreds of licenses, fortunately. + licenses.SUPPORTED_LICENSES = dict(((l.uri, l) for l in \ + SORTED_PLUGIN_LICENSES)) + + +hooks = { + 'setup': CustomLicenses.setup_plugin + } diff --git a/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/PKG-INFO b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/PKG-INFO new file mode 100644 index 00000000..047efe83 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/PKG-INFO @@ -0,0 +1,11 @@ +Metadata-Version: 1.1 +Name: mediagoblin-licenses +Version: 0.1.2 +Summary: Customize the licenses for your mediagoblin installation +Home-page: https://gitorious.org/mediagoblin-licenses/mediagoblin-licenses +Author: Sebastian Spaeth +Author-email: Sebastian@SSpaeth.de +License: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+) +Download-URL: https://gitorious.org/mediagoblin-licenses/mediagoblin-licenses/archive-tarball/mediagoblin-licenses-v0.1.2 +Description: UNKNOWN +Platform: UNKNOWN diff --git a/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/SOURCES.txt b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/SOURCES.txt new file mode 100644 index 00000000..0e504e97 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/SOURCES.txt @@ -0,0 +1,6 @@ +README +mediagoblin_licenses/__init__.py +pip-egg-info/mediagoblin_licenses.egg-info/PKG-INFO +pip-egg-info/mediagoblin_licenses.egg-info/SOURCES.txt +pip-egg-info/mediagoblin_licenses.egg-info/dependency_links.txt +pip-egg-info/mediagoblin_licenses.egg-info/top_level.txt \ No newline at end of file diff --git a/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/dependency_links.txt b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/dependency_links.txt new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/top_level.txt b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/top_level.txt new file mode 100644 index 00000000..142877ed --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/pip-egg-info/mediagoblin_licenses.egg-info/top_level.txt @@ -0,0 +1 @@ +mediagoblin_licenses diff --git a/docs/source/build/mediagoblin-licenses/setup.py b/docs/source/build/mediagoblin-licenses/setup.py new file mode 100644 index 00000000..952ba3ce --- /dev/null +++ b/docs/source/build/mediagoblin-licenses/setup.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python +from distutils.core import setup +import re + +from sys import version +assert version >= '2.6', 'This package requires python 2.6 at least. Sorry.' + +def get_version(): + """Parse __init__.py for version info, we cannot import it""" + version_re = re.compile(r'\s*__VERSION__\s*=\s*("|\')([\w\.\+]+)(\1)') + with open('mediagoblin_licenses/__init__.py', 'rt') as file: + for line in file: + if version_re.match(line): + return version_re.match(line).group(2) +__VERSION__ = get_version() + + +setup(name='mediagoblin-licenses', + version=__VERSION__, + description='Customize the licenses for your mediagoblin installation', + author='Sebastian Spaeth', + author_email='Sebastian@SSpaeth.de', + url='https://gitorious.org/mediagoblin-licenses/mediagoblin-licenses', + download_url='https://gitorious.org/mediagoblin-licenses/mediagoblin-licenses/archive-tarball/mediagoblin-licenses-v' + __VERSION__, + # http://bugs.python.org/issue13943. Must not be unicode... + packages=['mediagoblin_licenses'], + package_data = {'mediagoblin_licenses': ['README.rst', 'COPYING']}, + license=(b'License :: OSI Approved :: GNU Affero General Public License ' + b'v3 or later (AGPLv3+)') + ) diff --git a/docs/source/build/pip-delete-this-directory.txt b/docs/source/build/pip-delete-this-directory.txt new file mode 100644 index 00000000..c8883ea9 --- /dev/null +++ b/docs/source/build/pip-delete-this-directory.txt @@ -0,0 +1,5 @@ +This file is placed here by pip to indicate the source was put +here by pip. + +Once this package is successfully installed this source code will be +deleted (unless you remove this file). diff --git a/docs/source/plugindocs/trim_whitespace.rst b/docs/source/plugindocs/trim_whitespace.rst new file mode 100644 index 00000000..eb38e0e5 --- /dev/null +++ b/docs/source/plugindocs/trim_whitespace.rst @@ -0,0 +1 @@ +.. include:: ../../../mediagoblin/plugins/trim_whitespace/README.rst diff --git a/docs/source/siteadmin/relnotes.rst b/docs/source/siteadmin/relnotes.rst index 25d4d83f..9b45f642 100644 --- a/docs/source/siteadmin/relnotes.rst +++ b/docs/source/siteadmin/relnotes.rst @@ -19,6 +19,15 @@ This chapter has important information for releases in it. If you're upgrading from a previous release, please read it carefully, or at least skim over it. +WIP +===== + +**New features** + +**Other changed** + +* Dependency list has been reduced not requireing the "webob" package anymore. + 0.3.2 ===== diff --git a/setup.py b/setup.py index e3e56bf2..dc4bd5e6 100644 --- a/setup.py +++ b/setup.py @@ -44,7 +44,6 @@ setup( 'setuptools', 'PasteScript', 'beaker', - 'webob<=1.2a2,>=1.1', 'wtforms', 'py-bcrypt', 'nose', -- 2.25.1