4801 Commits

Author SHA1 Message Date
Andrew Browning
c49e5162ca Fix #5462 - attempt to change email without login
Require an active login when accessing the form to change an email
address associated with an account. This prevents a server crash when
a user is assumed to be part of the request.
2016-07-19 00:16:48 -04:00
Christopher Allan Webber
da686c1998 Prevent erroring out in some cases of checking video metadata 2016-07-14 10:48:28 -05:00
Christopher Allan Webber
1f23be2d85 A bit of a documentation update around celery systemd init files 2016-07-13 09:11:40 -05:00
Leah Velleman
ee828f42c5 use is_rtl variable to detect rtl locales 2016-06-20 22:16:53 -05:00
Leah Velleman
1b009a815a fixed 'older' and 'newer' arrows for rtl locales 2016-06-20 19:45:42 -05:00
Andrew Browning
41302ad2b6 Import messages in blog views 2016-04-03 01:10:22 -04:00
Andrew Browning
5c7b2a6381 Fix #5451 - add_message inconsistencies
Reformat add_message function calls for consistency and PEP8 line
continuations.
2016-04-02 19:59:01 -04:00
Berker Peksag
6b6d14f48a Replace raw_input with six.moves.input
Fixes #5441
2016-04-02 20:48:04 +03:00
宋文武
c7a5551fb5 Fix the blog_delete page for admins.
* mediagoblin/media_types/blog/views.py: Import WARNING from mediagoblin.messages.
2016-04-02 16:55:28 +03:00
Christopher Allan Webber
9e75d4c712 tests: Fix migration tests; foundations are now installed separately
* mediagoblin/tests/test_sql_migrations.py: Import migration.changeset
  even in python 3.
  (FOUNDATIONS): Removed.
  (test_set1_to_set3): Removed foundations checks.
2016-03-29 14:41:57 -07:00
Christopher Allan Webber
c451cd0a6a tests: importorskip migration tests on "migrate" rather than on Python 3
Previously we assumed we wouldn't run migration tests if we're on
Python 3, but now that we support sqlalchemy-migrate with Python 3,
switch to checking based on "migrate" importability.

* mediagoblin/tests/test_sql_migrations.py: Update test skipping to
  rely on "migrate" module presence rather than Python 3 check.
2016-03-29 14:27:07 -07:00
Christopher Allan Webber
fbca3074f7 Now on MediaGoblin 1.0 development cycle!
* configure.ac (AC_INIT):
* mediagoblin/_version.py (__version__): Update version to 1.0.dev.
2016-03-29 14:27:06 -07:00
Christopher Allan Webber
d1ac2d52fd devtools: Update maketarball.sh to use #!/bin/sh as shebang
* devtools/maketarball.sh: Updated shebang.
2016-03-29 12:06:44 -07:00
Christopher Allan Webber
5d96809876 Committing extracted and compiled translations 2016-03-29 19:04:37 +00:00
Christopher Allan Webber
c01572e97f devtools: Use pybabel in virtualenv or on path depending on which is present.
* devtools/update_translations.sh (PYBABEL): New variable, points to
  whichever pybabel we should use.
2016-03-29 12:00:28 -07:00
Christopher Allan Webber
1c6c97c5aa guix: Add additional useful packages for development
* guix-env.scm: Added openssh, git, and rsync in the development package.
2016-03-29 11:59:31 -07:00
Christopher Allan Webber
c09a54f840 devtools: Switching "#!/usr/bin/env bash" -> "#!/bin/sh" again
This makes things easier on Guix and etc.  We don't need Bash
specifically, just something Bourne-compatible, which all Posix
machines should theoretically provide.

* devtools/update_translations.sh: Updated shebang.
2016-03-29 11:47:02 -07:00
Christopher Allan Webber
7e7231aa1a On MediaGoblin 0.9.0!
* configure.ac (AC_INIT):
* mediagoblin/_version.py (__version__): Update to 0.9.0.
2016-03-29 11:42:20 -07:00
Christopher Allan Webber
6686502f17 doc: 0.9.0 release notes
* doc/source/siteadmin/relnotes.rst: Add release notes for 0.9.0.
2016-03-29 11:30:26 -07:00
Christopher Allan Webber
d0e6665951 AUTHORS: Adding new 0.9.0 contributors.
* AUTHORS: Adding new contributors
2016-03-29 10:11:11 -07:00
Christopher Allan Webber
e47ed5c81c migrations: Only don't import "migrate" if it's not available
* mediagoblin/db/migrations.py: Import migrate if available; if not
  print a warning.
2016-03-29 09:44:34 -07:00
Christopher Allan Webber
dcccf654f5 doc: Update developer migration docs for Alembic as primary migration system
* docs/source/devel/migrations.rst: Update to reflect sqlalchemy-migrate
  as being deprecated and Alembic as being the new way of doing
  migrations.
2016-03-26 11:39:08 -07:00
Christopher Allan Webber
20adec8f26 Update make_example_database.sh to use #!/bin/sh instead of #!/usr/bin/env
* devtools/make_example_database.sh: Update shebang.
2016-03-26 11:39:08 -07:00
Christopher Allan Webber
cca25b6fcf doc: Update plugins documentation in light of alembic branching usage
* docs/source/siteadmin/plugins.rst:
  Added a reminder to run "./bin/gmg dbupdate" after installing a plugin.
  Added a new "Deactivating plugins" section.
  Renamed "Removing plugins" to "Removing plugin packages".
2016-03-26 11:39:08 -07:00
Christopher Allan Webber
e3cfc9a84f dbupdate: Correctly handle plugin foundations
* mediagoblin/gmg_commands/dbupdate.py (run_foundations):
  When adding a plugin's foundations, correctly append both
  the name and the foundations in a tuple to the list.
  This prevents errors.
2016-03-26 11:39:08 -07:00
Christopher Allan Webber
5409a6cf23 doc: Note that plugin authors must NEVER modify tables they don't control
* docs/source/pluginwriter/database.rst: New paragraph.
2016-03-26 11:39:08 -07:00
Christopher Allan Webber
ee843c4783 Update database docs for plugin authors for new alembic branching world
Things have gotten both easier and more complex in the branching world
view.  Plugins branch off of main with their own migrations.
Generating these has become a bit easier, but the steps for doing this
are a bit wordy to explain.

* docs/source/pluginwriter/database.rst: Update both the
  "Creating new Tables" and "Changing the Database Schema Later"
  sections accordingly.
2016-03-26 11:39:08 -07:00
Christopher Allan Webber
8b7343c611 Add comment questioning why run_dbupdate is needed in get_app test utility
* mediagoblin/tests/tools.py (get_app): Add comment
2016-03-26 11:39:08 -07:00
Christopher Allan Webber
544b7b47a1 Fix tests post-alembic-migration-changes.
* mediagoblin/init/__init__.py (setup_database): Update to run alembic
  migrations, skip the old legacy migrations.
2016-03-26 11:39:08 -07:00
Christopher Allan Webber
c527242841 Only run archivalook migration if the tables aren't there.
Standard for anything existing before the Alembic move-over, but I
forgot this one.

* mediagoblin/plugins/archivalook/migrations/b10b5f822789_archivalook_plugin_initial_migration.py
  (upgrade): Add has_table check, skip if such a table already exists.
2016-03-26 11:39:08 -07:00
Christopher Allan Webber
ddbe3fef8c Archivalook plugin initial migration.
* mediagoblin/plugins/archivalook/migrations/b10b5f822789_archivalook_plugin_initial_migration.py:
  New file.
2016-03-26 11:39:08 -07:00
Christopher Allan Webber
efeb1fef99 OpenID plugin initial migration.
* mediagoblin/plugins/openid/migrations/071abb33d1da_openid_plugin_initial_migration.py:
  New file.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
c82716c853 Persona plugin initial migration.
* mediagoblin/plugins/persona/migrations/c7d4840a5592_persona_plugin_initial_migration.py:
  New file.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
90779509bb Blog media type initial migration.
* mediagoblin/media_types/blog/migrations/562bc42a8fff_blog_media_type_initial_migration.py:
  New file.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
c9ab4b8adb PDF media type initial migration.
* mediagoblin/media_types/pdf/migrations/faa209f143b5_pdf_media_type_initial_migration.py:
  New file.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
f1577a7257 STL media type initial migration.
* mediagoblin/media_types/stl/migrations/16134ed134ad_stl_media_type_initial_migration.py:
  New file.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
99a51bbde6 Ascii media type initial migration.
* mediagoblin/db/migrations/versions/72bd70f7eefd_ascii_media_type_initial_migration.py:
  New file.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
7d37209755 Video media type initial migration.
* mediagoblin/media_types/video/migrations/38feb829c545_video_media_type_initial_migration.py:
  New file.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
050bf6f438 Audio media type initial migration.
* mediagoblin/media_types/audio/migrations/e9212d3a12d3_adding_audio_media_type_initial_.py:
  New file.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
2d8b42aab3 Image media type initial migration.
* mediagoblin/media_types/image/migrations/a98c1a320e88_image_media_type_initial.py:
  New file.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
385b5b44f5 Removing erronously installed print statement.
* mediagoblin/gmg_commands/alembic_commands.py (FudgedCommandLine.main):
  Removed call to print.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
406058b340 Allow for passing in --with-plugins to the alembic gmg subcommand.
This allows plugin writers to easily take advantage off alembic's migration
autogeneration support.

* mediagoblin/gmg_commands/alembic_commands.py: Adjusted imports.
  (FudgedCommandLine.main, parser_setup): Add support for importing
  plugins when --with-plugins is passed in.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
f25b476202 Only run sqlalchemy-migrate migrations if we have to; separate foundations
The goal is to get things to the point where Alembic can run on its own
for new databases and initialize the whole database on its own.  There
are risks to not doing so, see #5413 for details.

There's a lot more here that could removed or cleaned up once
sqlalchemy-migrate is *completely* removed in the future.

* mediagoblin/db/migration_tools.py (MigrationManager.foundations):
  Removed attribute.
  (MigrationManager.populate_table_foundations): Removed method.
  (MigrationManager.init_or_migrate): Removed call to deprecated method.
  (populate_table_foundations): New function, refactored from former
  MigrationManager method of same name.

* mediagoblin/gmg_commands/dbupdate.py: Import populate_table_foundations.
  (DatabaseData.foundations): Remove attribute.
  (DatabaseData.make_migration_manager): Adjust instantiation of
  MigrationManager.
  (gather_database_data): Move out the work of building up foundations data.
  (run_foundations): New method, incorporating logic for gathering and
  running foundations which was previously spread across other
  functions and methods.
  (run_alembic_migrations): Remove deprecated comment.
  (run_dbupdate): Only run sqlalchemy migrations if we have to.
  Also run run_foundations if we are setting up this database for the
  first time.
  (sqam_migrations_to_run): New method.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
8a26b07298 Switch initial_revision alembic migration to make tables if they aren't there
This is a necessary step towards deprecating sqlalchemy-migrate.

* mediagoblin/db/migrations/versions/52bf0ccbedc1_initial_revision.py
  (upgrade): Update for adding tables.  Mostly generated via Alembic's
  autogenerate tools.
  (downgrade): Added a comment.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
ae44f97da4 Set target_metadata in alembic's env.py to Base.metadata
This allows us to make use of automatically generated migrations, at
least for core.

* mediagoblin/db/migrations/env.py (target_metadata): Switch to gmg's
  Base.metadata.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
c122a9d24e Update out script.py mako template to support branch_labels
This is important (probably) for long-running plugin branches.

* mediagoblin/db/migrations/script.py.mako: Updated to upstream
  Alembic version of this file.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
05879c1c76 dbupdate updates to use plugin migrations if available
This makes use of the recently added "build_alembic_config" tool and
removes AlembicMigrationManager.

* mediagoblin/db/migration_tools.py (AlembicMigrationManager): Removed.
* mediagoblin/gmg_commands/dbupdate.py (run_alembic_migrations):
  Adjusted to use recently added build_alembic_config tool.
2016-03-26 11:39:07 -07:00
Christopher Allan Webber
731df78225 Ignore .eggs/ directory 2016-03-26 11:39:07 -07:00
Christopher Allan Webber
6e9041aa4b Add build_alembic_config, use it to add plugin migrations to alembic config 2016-03-26 11:39:07 -07:00
Christopher Allan Webber
3f08f780f6 guix-env.scm: Comment on python-numpy pulling in texlive
textlive-texmf is currently a dependency of texlive in Guix, and is
very large.  Users may want to know and disable this dependency, if
they can bear limiting the media types they are developing with.

* guix-env.scm: New comment on returned package.
2016-03-24 14:23:49 -07:00