From 6838bc4848410e69a9918d8b45a60cf486a20f6b Mon Sep 17 00:00:00 2001 From: Lubomír Sedlář Date: Apr 05 2016 17:19:15 +0000 Subject: [PATCH 1/5] Fix typos in hook descriptions and capitalize all hook names. --- diff --git a/pagure/hooks/fedmsg.py b/pagure/hooks/fedmsg.py index 4ccb304..5589df2 100644 --- a/pagure/hooks/fedmsg.py +++ b/pagure/hooks/fedmsg.py @@ -59,8 +59,8 @@ class Fedmsg(BaseHook): ''' Fedmsg hooks. ''' name = 'Fedmsg' - description = 'This hook push the commit messages'\ - ' to the Fedora bus to be consumed by other applications' + description = 'This hook pushes the commit messages'\ + ' to the Fedora bus to be consumed by other applications.' form = FedmsgForm db_object = FedmsgTable backref = 'fedmsg_hook' diff --git a/pagure/hooks/mail.py b/pagure/hooks/mail.py index 4a59f5a..9a17cbd 100644 --- a/pagure/hooks/mail.py +++ b/pagure/hooks/mail.py @@ -65,8 +65,8 @@ class Mail(BaseHook): ''' Mail hooks. ''' name = 'Mail' - description = 'Generate notification emails for pushes to a git repository.'\ - 'This hook sends emails describing changes introduced by pushes to a git repository' + description = 'Generate notification emails for pushes to a git repository. '\ + 'This hook sends emails describing changes introduced by pushes to a git repository.' form = MailForm db_object = MailTable backref = 'mail_hook' diff --git a/pagure/hooks/pagure_hook.py b/pagure/hooks/pagure_hook.py index f47f402..d381f6b 100644 --- a/pagure/hooks/pagure_hook.py +++ b/pagure/hooks/pagure_hook.py @@ -59,7 +59,7 @@ class PagureForm(wtf.Form): class PagureHook(BaseHook): ''' Pagure hook. ''' - name = 'pagure' + name = 'Pagure' description = 'Pagure specific hook to add comment on issues'\ ' if the commits fixes or relates to an issue.' form = PagureForm diff --git a/pagure/hooks/pagure_request_hook.py b/pagure/hooks/pagure_request_hook.py index b37d209..b79a725 100644 --- a/pagure/hooks/pagure_request_hook.py +++ b/pagure/hooks/pagure_request_hook.py @@ -61,8 +61,8 @@ class PagureRequestsForm(wtf.Form): class PagureRequestHook(BaseHook): ''' Pagure request hook. ''' - name = 'pagure requests' - description = 'Pagure specific hook to update pull-requests stored'\ + name = 'Pagure requests' + description = 'Pagure specific hook to update pull-requests stored '\ 'in the database based on the information pushed in the requests git repository.' form = PagureRequestsForm db_object = PagureRequestsTable diff --git a/pagure/hooks/pagure_ticket_hook.py b/pagure/hooks/pagure_ticket_hook.py index f55d323..39203ed 100644 --- a/pagure/hooks/pagure_ticket_hook.py +++ b/pagure/hooks/pagure_ticket_hook.py @@ -60,8 +60,8 @@ class PagureTicketsForm(wtf.Form): class PagureTicketHook(BaseHook): ''' Pagure ticket hook. ''' - name = 'pagure tickets' - description = 'Pagure specific hook to update tickets stored in the database'\ + name = 'Pagure tickets' + description = 'Pagure specific hook to update tickets stored in the database '\ 'based on the information pushed in the tickets git repository.' form = PagureTicketsForm db_object = PagureTicketsTable diff --git a/pagure/hooks/rtd.py b/pagure/hooks/rtd.py index ca287cb..788fcbc 100644 --- a/pagure/hooks/rtd.py +++ b/pagure/hooks/rtd.py @@ -58,7 +58,7 @@ class RtdForm(wtf.Form): [RequiredIf('active')] ) branches = wtforms.TextField( - 'Restrict build to these branches only (coma separated)', + 'Restrict build to these branches only (comma separated)', [wtforms.validators.Optional()] ) From 8421c7fc14c11f48c5fd0f2e33277d11ea438516 Mon Sep 17 00:00:00 2001 From: Lubomír Sedlář Date: Apr 05 2016 17:19:40 +0000 Subject: [PATCH 2/5] Enable using Markdown in plugin description --- diff --git a/pagure/templates/plugin.html b/pagure/templates/plugin.html index 5b48567..0017478 100644 --- a/pagure/templates/plugin.html +++ b/pagure/templates/plugin.html @@ -16,7 +16,7 @@
-

{{ plugin.description }}

+ {{ plugin.description | markdown | noJS | safe }} {% for field in fields %} {{ render_field_in_row(field) }} From b2804e24a8a8eb34f25fcc3b7014329ffc070076 Mon Sep 17 00:00:00 2001 From: Lubomír Sedlář Date: Apr 05 2016 17:26:20 +0000 Subject: [PATCH 3/5] Improve description of pagure hook --- diff --git a/pagure/hooks/pagure_hook.py b/pagure/hooks/pagure_hook.py index d381f6b..8ba51f9 100644 --- a/pagure/hooks/pagure_hook.py +++ b/pagure/hooks/pagure_hook.py @@ -56,12 +56,32 @@ class PagureForm(wtf.Form): ) +DESCRIPTION = ''' +Pagure specific hook to add a comment to issues if the pushed commits fix them +or relate to them. This is determined based on the commit message. + +To reference an issue you need to use one of recognized keywords followed by an +issue number. The number can optionally be preceded by `#` symbol. +Capitalization does not matter; neither does the colon between keyword and +number. + + * fix + * fixed + * fixes + * relate + * related + * relates + +Instead of an issue number, you can use full URL of the issue. This way it is +possible to reference issues in other projects. +''' + + class PagureHook(BaseHook): ''' Pagure hook. ''' name = 'Pagure' - description = 'Pagure specific hook to add comment on issues'\ - ' if the commits fixes or relates to an issue.' + description = DESCRIPTION form = PagureForm db_object = PagureTable backref = 'pagure_hook' From f16eab22b817864bfcbd741aadc375cc469441d5 Mon Sep 17 00:00:00 2001 From: Lubomír Sedlář Date: Apr 05 2016 17:26:20 +0000 Subject: [PATCH 4/5] Sort hooks by name in settings --- diff --git a/pagure/ui/plugins.py b/pagure/ui/plugins.py index 7c8ba32..9e14872 100644 --- a/pagure/ui/plugins.py +++ b/pagure/ui/plugins.py @@ -35,7 +35,7 @@ def get_plugin_names(blacklist=None): for plugin in plugins if plugin.name not in blacklist ] - return output + return sorted(output) def get_plugin_tables(): From 4443c518bb1155cd58eb0d807e74d35cd9170d1b Mon Sep 17 00:00:00 2001 From: Lubomír Sedlář Date: Apr 06 2016 05:58:35 +0000 Subject: [PATCH 5/5] Fix tests --- diff --git a/tests/test_pagure_flask_ui_plugins.py b/tests/test_pagure_flask_ui_plugins.py index ff3107b..a0aed8a 100644 --- a/tests/test_pagure_flask_ui_plugins.py +++ b/tests/test_pagure_flask_ui_plugins.py @@ -71,7 +71,7 @@ class PagureFlaskPluginstests(tests.Modeltests): sorted(names), [ 'Block non fast-forward pushes', 'Fedmsg', 'IRC', 'Mail', - 'Read the Doc', 'pagure', 'pagure requests', 'pagure tickets' + 'Pagure', 'Pagure requests', 'Pagure tickets', 'Read the Doc', ] ) diff --git a/tests/test_pagure_flask_ui_plugins_pagure_hook.py b/tests/test_pagure_flask_ui_plugins_pagure_hook.py index 24062a8..fd68dfa 100644 --- a/tests/test_pagure_flask_ui_plugins_pagure_hook.py +++ b/tests/test_pagure_flask_ui_plugins_pagure_hook.py @@ -60,12 +60,12 @@ class PagureFlaskPluginPagureHooktests(tests.Modeltests): user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): - output = self.app.get('/test/settings/pagure') + output = self.app.get('/test/settings/Pagure') self.assertEqual(output.status_code, 200) self.assertIn( '
\n' 'test project #1
', output.data) - self.assertTrue('

pagure settings

' in output.data) + self.assertTrue('

Pagure settings

' in output.data) self.assertTrue( '' in output.data) @@ -75,19 +75,19 @@ class PagureFlaskPluginPagureHooktests(tests.Modeltests): data = {} - output = self.app.post('/test/settings/pagure', data=data) + output = self.app.post('/test/settings/Pagure', data=data) self.assertEqual(output.status_code, 200) self.assertIn( '
\n' 'test project #1
', output.data) - self.assertTrue('

pagure settings

' in output.data) + self.assertTrue('

Pagure settings

' in output.data) self.assertTrue( '' in output.data) data['csrf_token'] = csrf_token # No git found - output = self.app.post('/test/settings/pagure', data=data) + output = self.app.post('/test/settings/Pagure', data=data) self.assertEqual(output.status_code, 404) tests.create_projects_git(tests.HERE) @@ -96,21 +96,21 @@ class PagureFlaskPluginPagureHooktests(tests.Modeltests): # With the git repo output = self.app.post( - '/test/settings/pagure', data=data, follow_redirects=True) + '/test/settings/Pagure', data=data, follow_redirects=True) self.assertEqual(output.status_code, 200) self.assertIn( '
\n

Settings for test

', output.data) self.assertTrue( - '\n Hook pagure inactived' + '\n Hook Pagure inactived' in output.data) - output = self.app.get('/test/settings/pagure') + output = self.app.get('/test/settings/Pagure') self.assertEqual(output.status_code, 200) self.assertIn( '
\n' 'test project #1
', output.data) - self.assertTrue('

pagure settings

' in output.data) + self.assertTrue('

Pagure settings

' in output.data) self.assertTrue( '' in output.data) @@ -125,21 +125,21 @@ class PagureFlaskPluginPagureHooktests(tests.Modeltests): } output = self.app.post( - '/test/settings/pagure', data=data, follow_redirects=True) + '/test/settings/Pagure', data=data, follow_redirects=True) self.assertEqual(output.status_code, 200) self.assertIn( '
\n

Settings for test

', output.data) self.assertTrue( - '\n Hook pagure activated' + '\n Hook Pagure activated' in output.data) - output = self.app.get('/test/settings/pagure') + output = self.app.get('/test/settings/Pagure') self.assertEqual(output.status_code, 200) self.assertIn( '
\n' 'test project #1
', output.data) - self.assertTrue('

pagure settings

' in output.data) + self.assertTrue('

Pagure settings

' in output.data) self.assertTrue( '' in output.data) @@ -150,21 +150,21 @@ class PagureFlaskPluginPagureHooktests(tests.Modeltests): # De-Activate hook data = {'csrf_token': csrf_token} output = self.app.post( - '/test/settings/pagure', data=data, follow_redirects=True) + '/test/settings/Pagure', data=data, follow_redirects=True) self.assertEqual(output.status_code, 200) self.assertIn( '
\n

Settings for test

', output.data) self.assertTrue( - '\n Hook pagure inactived' + '\n Hook Pagure inactived' in output.data) - output = self.app.get('/test/settings/pagure') + output = self.app.get('/test/settings/Pagure') self.assertEqual(output.status_code, 200) self.assertIn( '
\n' 'test project #1
', output.data) - self.assertTrue('

pagure settings

' in output.data) + self.assertTrue('

Pagure settings

' in output.data) self.assertTrue( '' in output.data) diff --git a/tests/test_pagure_flask_ui_plugins_pagure_request_hook.py b/tests/test_pagure_flask_ui_plugins_pagure_request_hook.py index 6e56213..a821bae 100644 --- a/tests/test_pagure_flask_ui_plugins_pagure_request_hook.py +++ b/tests/test_pagure_flask_ui_plugins_pagure_request_hook.py @@ -58,12 +58,12 @@ class PagureFlaskPluginPagureRequestHooktests(tests.Modeltests): user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): - output = self.app.get('/test/settings/pagure requests') + output = self.app.get('/test/settings/Pagure requests') self.assertEqual(output.status_code, 200) self.assertIn( '
\n' 'test project #1
', output.data) - self.assertTrue('

pagure requests settings

' in output.data) + self.assertTrue('

Pagure requests settings

' in output.data) self.assertTrue( '' in output.data) @@ -73,19 +73,19 @@ class PagureFlaskPluginPagureRequestHooktests(tests.Modeltests): data = {} - output = self.app.post('/test/settings/pagure requests', data=data) + output = self.app.post('/test/settings/Pagure requests', data=data) self.assertEqual(output.status_code, 200) self.assertIn( '
\n' 'test project #1
', output.data) - self.assertTrue('

pagure requests settings

' in output.data) + self.assertTrue('

Pagure requests settings

' in output.data) self.assertTrue( '' in output.data) data['csrf_token'] = csrf_token # No git found - output = self.app.post('/test/settings/pagure requests', data=data) + output = self.app.post('/test/settings/Pagure requests', data=data) self.assertEqual(output.status_code, 404) # Create both the requests repo @@ -94,22 +94,22 @@ class PagureFlaskPluginPagureRequestHooktests(tests.Modeltests): # With the git repo tests.create_projects_git(tests.HERE) output = self.app.post( - '/test/settings/pagure requests', data=data, + '/test/settings/Pagure requests', data=data, follow_redirects=True) self.assertEqual(output.status_code, 200) self.assertIn( '
\n

Settings for test

', output.data) self.assertTrue( - '\n Hook pagure requests inactived' + '\n Hook Pagure requests inactived' in output.data) - output = self.app.get('/test/settings/pagure requests') + output = self.app.get('/test/settings/Pagure requests') self.assertEqual(output.status_code, 200) self.assertIn( '
\n' 'test project #1
', output.data) - self.assertTrue('

pagure requests settings

' in output.data) + self.assertTrue('

Pagure requests settings

' in output.data) self.assertTrue( '' in output.data) @@ -125,22 +125,22 @@ class PagureFlaskPluginPagureRequestHooktests(tests.Modeltests): } output = self.app.post( - '/test/settings/pagure requests', data=data, + '/test/settings/Pagure requests', data=data, follow_redirects=True) self.assertEqual(output.status_code, 200) self.assertIn( '
\n

Settings for test

', output.data) self.assertTrue( - '\n Hook pagure requests activated' + '\n Hook Pagure requests activated' in output.data) - output = self.app.get('/test/settings/pagure requests') + output = self.app.get('/test/settings/Pagure requests') self.assertEqual(output.status_code, 200) self.assertIn( '
\n' 'test project #1
', output.data) - self.assertTrue('

pagure requests settings

' in output.data) + self.assertTrue('

Pagure requests settings

' in output.data) self.assertTrue( '' in output.data) @@ -152,22 +152,22 @@ class PagureFlaskPluginPagureRequestHooktests(tests.Modeltests): # De-Activate hook data = {'csrf_token': csrf_token} output = self.app.post( - '/test/settings/pagure requests', data=data, + '/test/settings/Pagure requests', data=data, follow_redirects=True) self.assertEqual(output.status_code, 200) self.assertIn( '
\n

Settings for test

', output.data) self.assertTrue( - '\n Hook pagure requests inactived' + '\n Hook Pagure requests inactived' in output.data) - output = self.app.get('/test/settings/pagure requests') + output = self.app.get('/test/settings/Pagure requests') self.assertEqual(output.status_code, 200) self.assertIn( '
\n' 'test project #1
', output.data) - self.assertTrue('

pagure requests settings

' in output.data) + self.assertTrue('

Pagure requests settings

' in output.data) self.assertTrue( '' in output.data) @@ -183,7 +183,7 @@ class PagureFlaskPluginPagureRequestHooktests(tests.Modeltests): } shutil.rmtree(os.path.join(tests.HERE, 'requests', 'test.git')) - output = self.app.post('/test/settings/pagure requests', data=data) + output = self.app.post('/test/settings/Pagure requests', data=data) self.assertEqual(output.status_code, 404) diff --git a/tests/test_pagure_flask_ui_plugins_pagure_ticket_hook.py b/tests/test_pagure_flask_ui_plugins_pagure_ticket_hook.py index de4d541..fcd8baa 100644 --- a/tests/test_pagure_flask_ui_plugins_pagure_ticket_hook.py +++ b/tests/test_pagure_flask_ui_plugins_pagure_ticket_hook.py @@ -58,12 +58,12 @@ class PagureFlaskPluginPagureTicketHooktests(tests.Modeltests): user = tests.FakeUser(username='pingou') with tests.user_set(pagure.APP, user): - output = self.app.get('/test/settings/pagure tickets') + output = self.app.get('/test/settings/Pagure tickets') self.assertEqual(output.status_code, 200) self.assertIn( '
\n' 'test project #1
', output.data) - self.assertTrue('

pagure tickets settings

' in output.data) + self.assertTrue('

Pagure tickets settings

' in output.data) self.assertTrue( '' in output.data) @@ -73,19 +73,19 @@ class PagureFlaskPluginPagureTicketHooktests(tests.Modeltests): data = {} - output = self.app.post('/test/settings/pagure tickets', data=data) + output = self.app.post('/test/settings/Pagure tickets', data=data) self.assertEqual(output.status_code, 200) self.assertIn( '
\n' 'test project #1
', output.data) - self.assertTrue('

pagure tickets settings

' in output.data) + self.assertTrue('

Pagure tickets settings

' in output.data) self.assertTrue( '' in output.data) data['csrf_token'] = csrf_token # No git found - output = self.app.post('/test/settings/pagure tickets', data=data) + output = self.app.post('/test/settings/Pagure tickets', data=data) self.assertEqual(output.status_code, 404) # Create both the tickets repo @@ -94,22 +94,22 @@ class PagureFlaskPluginPagureTicketHooktests(tests.Modeltests): # With the git repo tests.create_projects_git(tests.HERE) output = self.app.post( - '/test/settings/pagure tickets', data=data, + '/test/settings/Pagure tickets', data=data, follow_redirects=True) self.assertEqual(output.status_code, 200) self.assertIn( '
\n

Settings for test

', output.data) self.assertTrue( - '\n Hook pagure tickets inactived' + '\n Hook Pagure tickets inactived' in output.data) - output = self.app.get('/test/settings/pagure tickets') + output = self.app.get('/test/settings/Pagure tickets') self.assertEqual(output.status_code, 200) self.assertIn( '
\n' 'test project #1
', output.data) - self.assertTrue('

pagure tickets settings

' in output.data) + self.assertTrue('

Pagure tickets settings

' in output.data) self.assertTrue( '' in output.data) @@ -125,22 +125,22 @@ class PagureFlaskPluginPagureTicketHooktests(tests.Modeltests): } output = self.app.post( - '/test/settings/pagure tickets', data=data, + '/test/settings/Pagure tickets', data=data, follow_redirects=True) self.assertEqual(output.status_code, 200) self.assertIn( '
\n

Settings for test

', output.data) self.assertTrue( - '\n Hook pagure tickets activated' + '\n Hook Pagure tickets activated' in output.data) - output = self.app.get('/test/settings/pagure tickets') + output = self.app.get('/test/settings/Pagure tickets') self.assertEqual(output.status_code, 200) self.assertIn( '
\n' 'test project #1
', output.data) - self.assertTrue('

pagure tickets settings

' in output.data) + self.assertTrue('

Pagure tickets settings

' in output.data) self.assertTrue( '' in output.data) @@ -152,22 +152,22 @@ class PagureFlaskPluginPagureTicketHooktests(tests.Modeltests): # De-Activate hook data = {'csrf_token': csrf_token} output = self.app.post( - '/test/settings/pagure tickets', data=data, + '/test/settings/Pagure tickets', data=data, follow_redirects=True) self.assertEqual(output.status_code, 200) self.assertIn( '
\n

Settings for test

', output.data) self.assertTrue( - '\n Hook pagure tickets inactived' + '\n Hook Pagure tickets inactived' in output.data) - output = self.app.get('/test/settings/pagure tickets') + output = self.app.get('/test/settings/Pagure tickets') self.assertEqual(output.status_code, 200) self.assertIn( '
\n' 'test project #1
', output.data) - self.assertTrue('

pagure tickets settings

' in output.data) + self.assertTrue('

Pagure tickets settings

' in output.data) self.assertTrue( '' in output.data) @@ -183,7 +183,7 @@ class PagureFlaskPluginPagureTicketHooktests(tests.Modeltests): } shutil.rmtree(os.path.join(tests.HERE, 'tickets', 'test.git')) - output = self.app.post('/test/settings/pagure tickets', data=data) + output = self.app.post('/test/settings/Pagure tickets', data=data) self.assertEqual(output.status_code, 404)