Don't require webob as dependency

It is pushing up the daisies. Also relnote the change.
This commit is contained in:
Sebastian Spaeth 2012-11-16 11:32:35 +01:00
parent 726896b62a
commit 8d19cb2445
15 changed files with 258 additions and 1 deletions

View File

@ -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

View File

@ -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+.

View File

@ -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+.

View File

@ -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 <http://www.gnu.org/licenses/>.
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
}

View File

@ -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+.

View File

@ -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 <http://www.gnu.org/licenses/>.
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
}

View File

@ -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

View File

@ -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

View File

@ -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+)')
)

View File

@ -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).

View File

@ -0,0 +1 @@
.. include:: ../../../mediagoblin/plugins/trim_whitespace/README.rst

View File

@ -19,6 +19,15 @@ This chapter has important information for releases in it.
If you're upgrading from a previous release, please read it If you're upgrading from a previous release, please read it
carefully, or at least skim over 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 0.3.2
===== =====

View File

@ -44,7 +44,6 @@ setup(
'setuptools', 'setuptools',
'PasteScript', 'PasteScript',
'beaker', 'beaker',
'webob<=1.2a2,>=1.1',
'wtforms', 'wtforms',
'py-bcrypt', 'py-bcrypt',
'nose', 'nose',