Fix some unused imports and local variables.

This commit is contained in:
Ben Sturmfels 2021-09-23 21:38:42 +10:00
parent 5bda90f821
commit 78d8efed7f
No known key found for this signature in database
GPG Key ID: 023C05E2C9C068F0
27 changed files with 63 additions and 94 deletions

View File

@ -20,13 +20,14 @@ import mimetypes
from werkzeug.datastructures import FileStorage from werkzeug.datastructures import FileStorage
from mediagoblin.decorators import oauth_required, require_active_login from mediagoblin.decorators import oauth_required
from mediagoblin.api.decorators import user_has_privilege from mediagoblin.api.decorators import user_has_privilege
from mediagoblin.db.models import User, LocalUser, MediaEntry, Comment, TextComment, Activity from mediagoblin.db.models import (
LocalUser, MediaEntry, TextComment, Activity, Location)
from mediagoblin.tools.federation import create_activity, create_generator from mediagoblin.tools.federation import create_activity, create_generator
from mediagoblin.tools.routing import extract_url_arguments from mediagoblin.tools.routing import extract_url_arguments
from mediagoblin.tools.response import redirect, json_response, json_error, \ from mediagoblin.tools.response import (
render_404, render_to_response redirect, json_response, json_error, render_to_response)
from mediagoblin.meddleware.csrf import csrf_exempt from mediagoblin.meddleware.csrf import csrf_exempt
from mediagoblin.submit.lib import new_upload_entry, api_upload_request, \ from mediagoblin.submit.lib import new_upload_entry, api_upload_request, \
api_add_to_feed api_add_to_feed

View File

@ -30,7 +30,6 @@ try:
except ImportError: except ImportError:
from werkzeug.wsgi import SharedDataMiddleware from werkzeug.wsgi import SharedDataMiddleware
from mediagoblin import meddleware, __version__ from mediagoblin import meddleware, __version__
from mediagoblin.db.util import check_db_up_to_date
from mediagoblin.tools import common, session, translate, template from mediagoblin.tools import common, session, translate, template
from mediagoblin.tools.response import render_http_exception from mediagoblin.tools.response import render_http_exception
from mediagoblin.tools.theme import register_themes from mediagoblin.tools.theme import register_themes

View File

@ -19,11 +19,8 @@ import logging
import os import os
import pkg_resources import pkg_resources
from alembic import command
from alembic.config import Config from alembic.config import Config
from alembic.migration import MigrationContext
from mediagoblin.db.base import Base
from mediagoblin.tools.common import simple_printer from mediagoblin.tools.common import simple_printer
from sqlalchemy import Table from sqlalchemy import Table
from sqlalchemy.sql import select from sqlalchemy.sql import select

View File

@ -31,7 +31,7 @@ import pytz
import dateutil.tz import dateutil.tz
from sqlalchemy import (MetaData, Table, Column, Boolean, SmallInteger, from sqlalchemy import (MetaData, Table, Column, Boolean, SmallInteger,
Integer, Unicode, UnicodeText, DateTime, Integer, Unicode, UnicodeText, DateTime,
ForeignKey, Date, Index) ForeignKey, Date)
from sqlalchemy.exc import ProgrammingError from sqlalchemy.exc import ProgrammingError
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.sql import and_ from sqlalchemy.sql import and_
@ -42,10 +42,8 @@ from mediagoblin.tools import crypto
from mediagoblin.db.extratypes import JSONEncoded, MutationDict from mediagoblin.db.extratypes import JSONEncoded, MutationDict
from mediagoblin.db.migration_tools import ( from mediagoblin.db.migration_tools import (
RegisterMigration, inspect_table, replace_table_hack, model_iteration_hack) RegisterMigration, inspect_table, replace_table_hack, model_iteration_hack)
from mediagoblin.db.models import (MediaEntry, Collection, Comment, User, from mediagoblin.db.models import (
Privilege, Generator, LocalUser, Location, MediaEntry, Collection, Comment, User, Privilege, LocalUser, Location)
Client, RequestToken, AccessToken)
from mediagoblin.db.extratypes import JSONEncoded, MutationDict
MIGRATIONS = {} MIGRATIONS = {}

View File

@ -1,5 +1,4 @@
from alembic import context from alembic import context
from sqlalchemy import engine_from_config, pool
from logging.config import fileConfig from logging.config import fileConfig
# this is the Alembic Config object, which provides # this is the Alembic Config object, which provides

View File

@ -22,11 +22,10 @@ TODO: indexes on foreignkeys, where useful.
import logging import logging
import datetime import datetime
from sqlalchemy import Column, Integer, Unicode, UnicodeText, DateTime, \ from sqlalchemy import (
Boolean, ForeignKey, UniqueConstraint, PrimaryKeyConstraint, \ Column, Integer, Unicode, UnicodeText, DateTime, Boolean, ForeignKey,
SmallInteger, Date, types, Float UniqueConstraint, PrimaryKeyConstraint, SmallInteger, Date, Float)
from sqlalchemy.orm import relationship, backref, with_polymorphic, validates, \ from sqlalchemy.orm import relationship, backref, class_mapper
class_mapper
from sqlalchemy.orm.collections import attribute_mapped_collection from sqlalchemy.orm.collections import attribute_mapped_collection
from sqlalchemy.sql import and_ from sqlalchemy.sql import and_
from sqlalchemy.sql.expression import desc from sqlalchemy.sql.expression import desc
@ -35,7 +34,7 @@ from sqlalchemy.util import memoized_property
from mediagoblin.db.extratypes import (PathTupleWithSlashes, JSONEncoded, from mediagoblin.db.extratypes import (PathTupleWithSlashes, JSONEncoded,
MutationDict) MutationDict)
from mediagoblin.db.base import Base, DictReadAttrProxy, FakeCursor from mediagoblin.db.base import Base, DictReadAttrProxy
from mediagoblin.db.mixin import UserMixin, MediaEntryMixin, \ from mediagoblin.db.mixin import UserMixin, MediaEntryMixin, \
CollectionMixin, CollectionItemMixin, ActivityMixin, TextCommentMixin, \ CollectionMixin, CollectionItemMixin, ActivityMixin, TextCommentMixin, \
CommentingMixin CommentingMixin
@ -49,6 +48,7 @@ from pytz import UTC
_log = logging.getLogger(__name__) _log = logging.getLogger(__name__)
class GenericModelReference(Base): class GenericModelReference(Base):
""" """
Represents a relationship to any model that is defined with a integer pk Represents a relationship to any model that is defined with a integer pk

View File

@ -23,8 +23,8 @@ from urllib.parse import urljoin
from mediagoblin import mg_globals as mgg from mediagoblin import mg_globals as mgg
from mediagoblin import messages from mediagoblin import messages
from mediagoblin.db.models import MediaEntry, LocalUser, TextComment, \ from mediagoblin.db.models import (
AccessToken, Comment MediaEntry, LocalUser, AccessToken, Comment)
from mediagoblin.tools.response import ( from mediagoblin.tools.response import (
redirect, render_404, redirect, render_404,
render_user_banned, json_response) render_user_banned, json_response)

View File

@ -16,10 +16,8 @@
from datetime import datetime from datetime import datetime
from itsdangerous import BadSignature from itsdangerous import BadSignature
from pyld import jsonld
from werkzeug.exceptions import Forbidden from werkzeug.exceptions import Forbidden
from werkzeug.utils import secure_filename from werkzeug.utils import secure_filename
from jsonschema import ValidationError, Draft4Validator
from mediagoblin import messages from mediagoblin import messages
from mediagoblin import mg_globals from mediagoblin import mg_globals
@ -31,10 +29,9 @@ from mediagoblin.edit.lib import may_edit_media
from mediagoblin.decorators import (require_active_login, active_user_from_url, from mediagoblin.decorators import (require_active_login, active_user_from_url,
get_media_entry_by_id, user_may_alter_collection, get_media_entry_by_id, user_may_alter_collection,
get_user_collection, user_has_privilege, get_user_collection, user_has_privilege,
user_not_banned, user_may_delete_media) user_not_banned)
from mediagoblin.tools.crypto import get_timed_signer_url from mediagoblin.tools.crypto import get_timed_signer_url
from mediagoblin.tools.metadata import (compact_and_validate, DEFAULT_CHECKER, from mediagoblin.tools.metadata import compact_and_validate
DEFAULT_SCHEMA)
from mediagoblin.tools.mail import email_debug_message from mediagoblin.tools.mail import email_debug_message
from mediagoblin.tools.response import (render_to_response, from mediagoblin.tools.response import (render_to_response,
redirect, redirect_obj, render_404) redirect, redirect_obj, render_404)
@ -44,7 +41,7 @@ from mediagoblin.tools.text import (
convert_to_tag_list_of_dicts, media_tags_as_string) convert_to_tag_list_of_dicts, media_tags_as_string)
from mediagoblin.tools.url import slugify from mediagoblin.tools.url import slugify
from mediagoblin.db.util import check_media_slug_used, check_collection_slug_used from mediagoblin.db.util import check_media_slug_used, check_collection_slug_used
from mediagoblin.db.models import User, LocalUser, Client, AccessToken, Location from mediagoblin.db.models import User, LocalUser, AccessToken, Location
import mimetypes import mimetypes
@ -67,7 +64,7 @@ def edit_media(request, media):
license=media.license) license=media.license)
form = forms.EditForm( form = forms.EditForm(
request.method=='POST' and request.form or None, request.method == 'POST' and request.form or None,
**defaults) **defaults)
if request.method == 'POST' and form.validate(): if request.method == 'POST' and form.validate():

View File

@ -20,8 +20,7 @@ import os
from mediagoblin.db.models import LocalUser from mediagoblin.db.models import LocalUser
from mediagoblin.gmg_commands import util as commands_util from mediagoblin.gmg_commands import util as commands_util
from mediagoblin.submit.lib import ( from mediagoblin.submit.lib import (
submit_media, get_upload_file_limits, submit_media, FileUploadLimit, UserUploadLimit, UserPastUploadLimit)
FileUploadLimit, UserUploadLimit, UserPastUploadLimit)
from mediagoblin import mg_globals from mediagoblin import mg_globals

View File

@ -17,9 +17,7 @@
import os import os
from mediagoblin import mg_globals from mediagoblin import mg_globals
from mediagoblin.init import setup_global_and_app_config
from mediagoblin.gmg_commands import util as commands_util from mediagoblin.gmg_commands import util as commands_util
from mediagoblin.tools.theme import register_themes
from mediagoblin.tools.translate import pass_to_ugettext as _ from mediagoblin.tools.translate import pass_to_ugettext as _
from mediagoblin.tools.common import simple_printer from mediagoblin.tools.common import simple_printer
from mediagoblin.tools import pluginapi from mediagoblin.tools import pluginapi

View File

@ -117,9 +117,9 @@ def run_foundations(db, global_config):
foundations = import_component( foundations = import_component(
f'{plugin}.models:FOUNDATIONS') f'{plugin}.models:FOUNDATIONS')
all_foundations.append((plugin, foundations)) all_foundations.append((plugin, foundations))
except ImportError as exc: except ImportError:
continue continue
except AttributeError as exc: except AttributeError:
continue continue
for name, foundations in all_foundations: for name, foundations in all_foundations:

View File

@ -22,8 +22,6 @@ from mediagoblin import mg_globals
from mediagoblin.db.models import MediaEntry from mediagoblin.db.models import MediaEntry
from mediagoblin.gmg_commands import util as commands_util from mediagoblin.gmg_commands import util as commands_util
from mediagoblin.submit.lib import run_process_media from mediagoblin.submit.lib import run_process_media
from mediagoblin.tools.translate import lazy_pass_to_ugettext as _
from mediagoblin.tools.pluginapi import hook_handle
from mediagoblin.processing import ( from mediagoblin.processing import (
ProcessorDoesNotExist, ProcessorNotEligible, ProcessorDoesNotExist, ProcessorNotEligible,
get_entry_and_processing_manager, get_processing_manager_for_type, get_entry_and_processing_manager, get_processing_manager_for_type,

View File

@ -15,38 +15,33 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging import logging
_log = logging.getLogger(__name__)
from datetime import datetime
from werkzeug.exceptions import Forbidden
from mediagoblin.tools import pluginapi from mediagoblin.tools import pluginapi
from mediagoblin import messages, mg_globals from mediagoblin import messages, mg_globals
from mediagoblin.media_types.blog import forms as blog_forms from mediagoblin.media_types.blog import forms as blog_forms
from mediagoblin.media_types.blog.models import Blog, BlogPostData from mediagoblin.media_types.blog.models import Blog
from mediagoblin.media_types.blog.lib import ( from mediagoblin.media_types.blog.lib import (
may_edit_blogpost, set_blogpost_state, get_all_blogposts_of_blog, may_edit_blogpost, set_blogpost_state, get_blog_by_slug)
get_blog_by_slug)
from mediagoblin.decorators import (require_active_login, active_user_from_url, from mediagoblin.decorators import (
get_media_entry_by_id, user_may_alter_collection, require_active_login, active_user_from_url, get_media_entry_by_id,
get_user_collection, uses_pagination) uses_pagination)
from mediagoblin.tools.pagination import Pagination from mediagoblin.tools.pagination import Pagination
from mediagoblin.tools.response import (render_to_response, from mediagoblin.tools.response import (render_to_response,
redirect, render_404) redirect, render_404)
from mediagoblin.tools.translate import pass_to_ugettext as _ from mediagoblin.tools.translate import pass_to_ugettext as _
from mediagoblin.tools.template import render_template
from mediagoblin.tools.text import ( from mediagoblin.tools.text import (
convert_to_tag_list_of_dicts, media_tags_as_string, clean_html, convert_to_tag_list_of_dicts, media_tags_as_string,
cleaned_markdown_conversion) cleaned_markdown_conversion)
from mediagoblin.db.util import check_media_slug_used, check_collection_slug_used from mediagoblin.db.models import MediaEntry, LocalUser
from mediagoblin.db.models import User, Collection, MediaEntry, LocalUser
from mediagoblin.notifications import add_comment_subscription from mediagoblin.notifications import add_comment_subscription
_log = logging.getLogger(__name__)
@require_active_login @require_active_login
def blog_edit(request): def blog_edit(request):

View File

@ -20,9 +20,7 @@ import sys
import logging import logging
import multiprocessing import multiprocessing
from mediagoblin import mg_globals as mgg
from mediagoblin.media_types.tools import discover from mediagoblin.media_types.tools import discover
from mediagoblin.tools.translate import lazy_pass_to_ugettext as _
from .util import ACCEPTED_RESOLUTIONS from .util import ACCEPTED_RESOLUTIONS
#os.environ['GST_DEBUG'] = '4,python:4' #os.environ['GST_DEBUG'] = '4,python:4'

View File

@ -84,8 +84,6 @@ def moderation_users_detail(request):
).first() ).first()
active_reports = user.reports_filed_on.filter( active_reports = user.reports_filed_on.filter(
Report.resolved==None).limit(5) Report.resolved==None).limit(5)
closed_reports = user.reports_filed_on.filter(
Report.resolved!=None).all()
privileges = Privilege.query privileges = Privilege.query
user_banned = UserBan.query.get(user.id) user_banned = UserBan.query.get(user.id)
ban_form = moderation_forms.BanForm() ban_form = moderation_forms.BanForm()
@ -93,11 +91,11 @@ def moderation_users_detail(request):
return render_to_response( return render_to_response(
request, request,
'mediagoblin/moderation/user.html', 'mediagoblin/moderation/user.html',
{'user':user, {'user': user,
'privileges': privileges, 'privileges': privileges,
'reports':active_reports, 'reports': active_reports,
'user_banned':user_banned, 'user_banned': user_banned,
'ban_form':ban_form}) 'ban_form': ban_form})
@require_admin_or_moderator_login @require_admin_or_moderator_login
@allow_reporting @allow_reporting

View File

@ -15,11 +15,9 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging import logging
import json
from functools import wraps from functools import wraps
from werkzeug.exceptions import Forbidden from werkzeug.exceptions import Forbidden
from werkzeug.wrappers import Response
from urllib.parse import urljoin from urllib.parse import urljoin
@ -48,10 +46,11 @@ class Auth:
method. method.
''' '''
def trigger(self, request): def trigger(self, request):
raise NotImplemented() raise NotImplementedError()
def __call__(self, request, *args, **kw): def __call__(self, request, *args, **kw):
raise NotImplemented() raise NotImplementedError()
def get_entry_serializable(entry, urlgen): def get_entry_serializable(entry, urlgen):
''' '''

View File

@ -26,9 +26,9 @@ from mediagoblin.decorators import require_active_login
from mediagoblin.meddleware.csrf import csrf_exempt from mediagoblin.meddleware.csrf import csrf_exempt
from mediagoblin.media_types import FileTypeNotSupported from mediagoblin.media_types import FileTypeNotSupported
from mediagoblin.plugins.api.tools import api_auth, get_entry_serializable from mediagoblin.plugins.api.tools import api_auth, get_entry_serializable
from mediagoblin.submit.lib import \ from mediagoblin.submit.lib import (
check_file_field, submit_media, get_upload_file_limits, \ check_file_field, submit_media, FileUploadLimit, UserUploadLimit,
FileUploadLimit, UserUploadLimit, UserPastUploadLimit UserPastUploadLimit)
_log = logging.getLogger(__name__) _log = logging.getLogger(__name__)

View File

@ -13,10 +13,10 @@
# #
# You should have received a copy of the GNU Affero General Public License # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from mediagoblin.db.models import MediaEntry, User, LocalUser from mediagoblin.db.models import MediaEntry, LocalUser
from mediagoblin.plugins.archivalook.models import FeaturedMedia from mediagoblin.plugins.archivalook.models import FeaturedMedia
from mediagoblin.tools.translate import lazy_pass_to_ugettext as _ from mediagoblin.tools.translate import lazy_pass_to_ugettext as _
from mediagoblin.plugins.archivalook.models import FeaturedMedia
def get_media_entry_from_uploader_slug(uploader_username, slug): def get_media_entry_from_uploader_slug(uploader_username, slug):
""" """

View File

@ -31,7 +31,7 @@ from mediagoblin.plugins.archivalook.models import FeaturedMedia
from mediagoblin.plugins.archivalook.utils import feature_template from mediagoblin.plugins.archivalook.utils import feature_template
from mediagoblin.plugins.archivalook.tools import (promote_feature, from mediagoblin.plugins.archivalook.tools import (promote_feature,
demote_feature) demote_feature)
from mediagoblin.tools.translate import lazy_pass_to_ugettext as _
@user_not_banned @user_not_banned
def root_view(request): def root_view(request):
@ -126,7 +126,7 @@ def feature_media(request, media, **kwargs):
already_featured_media_ids = [f.media_entry.id already_featured_media_ids = [f.media_entry.id
for f in FeaturedMedia.query.all()] for f in FeaturedMedia.query.all()]
if not media.id in already_featured_media_ids: if not media.id in already_featured_media_ids:
new_feature = automatically_add_new_feature(media) automatically_add_new_feature(media)
return redirect( return redirect(
request, 'index') request, 'index')

View File

@ -16,7 +16,7 @@
from mediagoblin import mg_globals, messages from mediagoblin import mg_globals, messages
from mediagoblin.auth.tools import register_user from mediagoblin.auth.tools import register_user
from mediagoblin.db.models import User, LocalUser from mediagoblin.db.models import LocalUser
from mediagoblin.decorators import allow_registration, auth_enabled from mediagoblin.decorators import allow_registration, auth_enabled
from mediagoblin.plugins.ldap import forms from mediagoblin.plugins.ldap import forms
from mediagoblin.plugins.ldap.tools import LDAP from mediagoblin.plugins.ldap.tools import LDAP

View File

@ -13,8 +13,8 @@
# #
# You should have received a copy of the GNU Affero General Public License # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import os import os
import uuid
from sqlalchemy import or_ from sqlalchemy import or_

View File

@ -24,10 +24,9 @@ from mediagoblin.tools.translate import pass_to_ugettext as _
from mediagoblin.meddleware.csrf import csrf_exempt from mediagoblin.meddleware.csrf import csrf_exempt
from mediagoblin.auth.tools import check_login_simple from mediagoblin.auth.tools import check_login_simple
from mediagoblin.submit.lib import \ from mediagoblin.submit.lib import \
submit_media, check_file_field, get_upload_file_limits, \ submit_media, check_file_field, \
FileUploadLimit, UserUploadLimit, UserPastUploadLimit FileUploadLimit, UserUploadLimit, UserPastUploadLimit
from mediagoblin.user_pages.lib import add_media_to_collection from mediagoblin.user_pages.lib import add_media_to_collection
from mediagoblin.db.models import Collection from mediagoblin.db.models import Collection

View File

@ -13,11 +13,12 @@
# #
# You should have received a copy of the GNU Affero General Public License # 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/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from sqlalchemy import Column, Integer, Unicode, ForeignKey from sqlalchemy import Column, Integer, Unicode, ForeignKey
from sqlalchemy.orm import relationship from sqlalchemy.orm import relationship
from mediagoblin.db.models import User from mediagoblin.db.base import Base, MediaEntry
from mediagoblin.db.base import Base,MediaEntry
class MediaSubtitleFile(Base): class MediaSubtitleFile(Base):
__tablename__ = "core__subtitle_files" __tablename__ = "core__subtitle_files"

View File

@ -16,24 +16,20 @@
from datetime import datetime from datetime import datetime
from itsdangerous import BadSignature
from werkzeug.exceptions import Forbidden
from werkzeug.utils import secure_filename from werkzeug.utils import secure_filename
from mediagoblin import messages from mediagoblin import messages
from mediagoblin import mg_globals from mediagoblin import mg_globals
from mediagoblin.plugins.subtitles import forms from mediagoblin.plugins.subtitles import forms
from mediagoblin.decorators import (require_active_login, active_user_from_url, from mediagoblin.decorators import (require_active_login,
get_media_entry_by_id, user_may_delete_media) get_media_entry_by_id, user_may_delete_media)
from mediagoblin.tools.metadata import (compact_and_validate, DEFAULT_CHECKER,
DEFAULT_SCHEMA)
from mediagoblin.tools.response import (render_to_response, from mediagoblin.tools.response import (render_to_response,
redirect, redirect_obj, render_404) redirect)
import mimetypes import mimetypes
from mediagoblin.plugins.subtitles.tools import open_subtitle,save_subtitle from mediagoblin.plugins.subtitles.tools import open_subtitle, save_subtitle
UNSAFE_MIMETYPES = [ UNSAFE_MIMETYPES = [
'text/html', 'text/html',

View File

@ -109,7 +109,7 @@ def submit_start(request):
user=request.user.username) user=request.user.username)
except FileTypeNotSupported as e: except FileTypeNotSupported as e:
submit_form.file.errors.append(e) submit_form.file.errors.append(e)
except Exception as e: except Exception:
raise raise
return render_to_response( return render_to_response(

View File

@ -58,8 +58,6 @@ Lifecycle
import logging import logging
from functools import wraps
from mediagoblin import mg_globals from mediagoblin import mg_globals

View File

@ -19,9 +19,8 @@ import datetime
import json import json
from mediagoblin import messages, mg_globals from mediagoblin import messages, mg_globals
from mediagoblin.db.models import (MediaEntry, MediaTag, Collection, Comment, from mediagoblin.db.models import (MediaEntry, MediaTag, Collection,
CollectionItem, LocalUser, Activity, \ CollectionItem, LocalUser, Activity)
GenericModelReference)
from mediagoblin.plugins.api.tools import get_media_file_paths from mediagoblin.plugins.api.tools import get_media_file_paths
from mediagoblin.tools.response import render_to_response, render_404, \ from mediagoblin.tools.response import render_to_response, render_404, \
redirect, redirect_obj redirect, redirect_obj
@ -31,7 +30,7 @@ from mediagoblin.tools.pagination import Pagination
from mediagoblin.tools.federation import create_activity from mediagoblin.tools.federation import create_activity
from mediagoblin.tools.feeds import AtomFeedWithLinks from mediagoblin.tools.feeds import AtomFeedWithLinks
from mediagoblin.user_pages import forms as user_forms from mediagoblin.user_pages import forms as user_forms
from mediagoblin.user_pages.lib import (send_comment_email, from mediagoblin.user_pages.lib import (
add_media_to_collection, build_report_object) add_media_to_collection, build_report_object)
from mediagoblin.notifications import trigger_notification, \ from mediagoblin.notifications import trigger_notification, \
add_comment_subscription, mark_comment_notification_seen add_comment_subscription, mark_comment_notification_seen
@ -50,6 +49,7 @@ from werkzeug.wrappers import Response
_log = logging.getLogger(__name__) _log = logging.getLogger(__name__)
_log.setLevel(logging.DEBUG) _log.setLevel(logging.DEBUG)
@user_not_banned @user_not_banned
@uses_pagination @uses_pagination
def user_home(request, page): def user_home(request, page):
@ -64,7 +64,7 @@ def user_home(request, page):
{'user': user}) {'user': user})
cursor = MediaEntry.query.\ cursor = MediaEntry.query.\
filter_by(actor = user.id).order_by(MediaEntry.created.desc()) filter_by(actor=user.id).order_by(MediaEntry.created.desc())
pagination = Pagination(page, cursor) pagination = Pagination(page, cursor)
media_entries = pagination() media_entries = pagination()
@ -438,7 +438,6 @@ def collection_item_confirm_remove(request, collection_item):
form = user_forms.ConfirmCollectionItemRemoveForm(request.form) form = user_forms.ConfirmCollectionItemRemoveForm(request.form)
if request.method == 'POST' and form.validate(): if request.method == 'POST' and form.validate():
username = collection_item.in_collection.get_actor.username
collection = collection_item.in_collection collection = collection_item.in_collection
if form.confirm.data is True: if form.confirm.data is True:
@ -639,7 +638,7 @@ def collection_atom_feed(request):
'rel': 'hub', 'rel': 'hub',
'href': push_url}) 'href': push_url})
feed = AtomFeed( feed = AtomFeedWithLinks(
"MediaGoblin: Feed for %s's collection %s" % "MediaGoblin: Feed for %s's collection %s" %
(request.matchdict['user'], collection.title), (request.matchdict['user'], collection.title),
feed_url=request.url, feed_url=request.url,