invenio-github 3.0.1__tar.gz → 3.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. {invenio_github-3.0.1 → invenio_github-3.0.2}/AUTHORS.rst +2 -1
  2. {invenio_github-3.0.1 → invenio_github-3.0.2}/CHANGES.rst +7 -0
  3. {invenio_github-3.0.1 → invenio_github-3.0.2}/PKG-INFO +8 -1
  4. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/__init__.py +1 -1
  5. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/api.py +5 -1
  6. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/assets/semantic-ui/js/invenio_github/index.js +4 -4
  7. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/config.py +11 -1
  8. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/views/github.py +2 -2
  9. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github.egg-info/PKG-INFO +8 -1
  10. {invenio_github-3.0.1 → invenio_github-3.0.2}/.git-blame-ignore-revs +0 -0
  11. {invenio_github-3.0.1 → invenio_github-3.0.2}/.lgtm +0 -0
  12. {invenio_github-3.0.1 → invenio_github-3.0.2}/.travis.yml +0 -0
  13. {invenio_github-3.0.1 → invenio_github-3.0.2}/CONTRIBUTING.rst +0 -0
  14. {invenio_github-3.0.1 → invenio_github-3.0.2}/INSTALL.rst +0 -0
  15. {invenio_github-3.0.1 → invenio_github-3.0.2}/LICENSE +0 -0
  16. {invenio_github-3.0.1 → invenio_github-3.0.2}/MAINTAINERS +0 -0
  17. {invenio_github-3.0.1 → invenio_github-3.0.2}/MANIFEST.in +0 -0
  18. {invenio_github-3.0.1 → invenio_github-3.0.2}/README.rst +0 -0
  19. {invenio_github-3.0.1 → invenio_github-3.0.2}/RELEASE-NOTES.rst +0 -0
  20. {invenio_github-3.0.1 → invenio_github-3.0.2}/babel.ini +0 -0
  21. {invenio_github-3.0.1 → invenio_github-3.0.2}/constraints-pypi.txt +0 -0
  22. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/alembic/5a5428312b2b_create_github_branch.py +0 -0
  23. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/alembic/b0eaee37b545_create_github_tables.py +0 -0
  24. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/errors.py +0 -0
  25. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/ext.py +0 -0
  26. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/models.py +0 -0
  27. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/oauth/handlers.py +0 -0
  28. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/oauth/remote_app.py +0 -0
  29. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/proxies.py +0 -0
  30. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/receivers.py +0 -0
  31. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/tasks.py +0 -0
  32. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/templates/semantic-ui/invenio_github/base.html +0 -0
  33. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/templates/semantic-ui/invenio_github/helpers.html +0 -0
  34. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/templates/semantic-ui/invenio_github/settings/base.html +0 -0
  35. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/templates/semantic-ui/invenio_github/settings/helpers.html +0 -0
  36. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/templates/semantic-ui/invenio_github/settings/index.html +0 -0
  37. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/templates/semantic-ui/invenio_github/settings/index_item.html +0 -0
  38. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/templates/semantic-ui/invenio_github/settings/view.html +0 -0
  39. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/translations/cs/LC_MESSAGES/messages.mo +0 -0
  40. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/translations/cs/LC_MESSAGES/messages.po +0 -0
  41. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/translations/da/LC_MESSAGES/messages.mo +0 -0
  42. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/translations/da/LC_MESSAGES/messages.po +0 -0
  43. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/translations/de/LC_MESSAGES/messages.mo +0 -0
  44. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/translations/de/LC_MESSAGES/messages.po +0 -0
  45. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/translations/en/LC_MESSAGES/messages.mo +0 -0
  46. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/translations/en/LC_MESSAGES/messages.po +0 -0
  47. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/translations/es/LC_MESSAGES/messages.mo +0 -0
  48. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/translations/es/LC_MESSAGES/messages.po +0 -0
  49. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/translations/fr/LC_MESSAGES/messages.mo +0 -0
  50. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/translations/fr/LC_MESSAGES/messages.po +0 -0
  51. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/translations/it/LC_MESSAGES/messages.mo +0 -0
  52. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/translations/it/LC_MESSAGES/messages.po +0 -0
  53. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/translations/messages.pot +0 -0
  54. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/utils.py +0 -0
  55. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/views/__init__.py +0 -0
  56. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/views/badge.py +0 -0
  57. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github/webpack.py +0 -0
  58. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github.egg-info/SOURCES.txt +0 -0
  59. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github.egg-info/dependency_links.txt +0 -0
  60. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github.egg-info/entry_points.txt +0 -0
  61. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github.egg-info/not-zip-safe +0 -0
  62. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github.egg-info/requires.txt +0 -0
  63. {invenio_github-3.0.1 → invenio_github-3.0.2}/invenio_github.egg-info/top_level.txt +0 -0
  64. {invenio_github-3.0.1 → invenio_github-3.0.2}/pyproject.toml +0 -0
  65. {invenio_github-3.0.1 → invenio_github-3.0.2}/requirements-devel.txt +0 -0
  66. {invenio_github-3.0.1 → invenio_github-3.0.2}/run-i18n-tests.sh +0 -0
  67. {invenio_github-3.0.1 → invenio_github-3.0.2}/run-tests.sh +0 -0
  68. {invenio_github-3.0.1 → invenio_github-3.0.2}/setup.cfg +0 -0
  69. {invenio_github-3.0.1 → invenio_github-3.0.2}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  ..
2
2
  This file is part of Invenio.
3
- Copyright (C) 2016 CERN.
3
+ Copyright (C) 2016-2025 CERN.
4
4
 
5
5
  Invenio is free software; you can redistribute it
6
6
  and/or modify it under the terms of the GNU General Public License as
@@ -35,3 +35,4 @@ Invenio module that adds GitHub integration to the platform.
35
35
  - Jiri Kuncar <jiri.kuncar@cern.ch>
36
36
  - Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
37
37
  - Tibor Simko <tibor.simko@cern.ch>
38
+ - Till Korten <t.korten@hzdr.de>
@@ -26,6 +26,13 @@
26
26
  Changes
27
27
  =======
28
28
 
29
+ Version v3.0.2 (released 2025-11-26)
30
+
31
+ - api: optimize sync process with batch task execution
32
+ * prevent GitHub page timeout with 504 after sync
33
+ * optimize sync process with batch task execution
34
+ * add tests for sync() and sync_repo_hooks() methods
35
+
29
36
  Version v3.0.1 (released 2025-07-30)
30
37
 
31
38
  - api: fix set alternate zipball URL when tag and branch having same name
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: invenio-github
3
- Version: 3.0.1
3
+ Version: 3.0.2
4
4
  Summary: "Invenio module that adds GitHub integration to the platform."
5
5
  Home-page: https://github.com/inveniosoftware/invenio-github
6
6
  Author: CERN
@@ -129,6 +129,13 @@ Invenio module that adds GitHub integration to the platform.
129
129
  Changes
130
130
  =======
131
131
 
132
+ Version v3.0.2 (released 2025-11-26)
133
+
134
+ - api: optimize sync process with batch task execution
135
+ * prevent GitHub page timeout with 504 after sync
136
+ * optimize sync process with batch task execution
137
+ * add tests for sync() and sync_repo_hooks() methods
138
+
132
139
  Version v3.0.1 (released 2025-07-30)
133
140
 
134
141
  - api: fix set alternate zipball URL when tag and branch having same name
@@ -27,6 +27,6 @@
27
27
 
28
28
  from .ext import InvenioGitHub
29
29
 
30
- __version__ = "3.0.1"
30
+ __version__ = "3.0.2"
31
31
 
32
32
  __all__ = ("__version__", "InvenioGitHub")
@@ -246,7 +246,11 @@ class GitHubAPI(object):
246
246
  else:
247
247
  # If hooks will run asynchronously, we need to commit any changes done so far
248
248
  db.session.commit()
249
- sync_hooks_task.delay(self.user_id, repos)
249
+ # Create a task for several batches of repositories to speed up the process
250
+ # and ensure that each task finishes within the time limit on Zenodo
251
+ batch_size = current_app.config["GITHUB_WEBHOOK_SYNC_BATCH_SIZE"]
252
+ for i in range(0, len(repos), batch_size):
253
+ sync_hooks_task.delay(self.user_id, repos[i : i + batch_size])
250
254
 
251
255
  def _valid_webhook(self, url):
252
256
  """Check if webhook url is valid.
@@ -1,5 +1,5 @@
1
1
  // This file is part of InvenioGithub
2
- // Copyright (C) 2023 CERN.
2
+ // Copyright (C) 2023-2025 CERN.
3
3
  //
4
4
  // Invenio Github is free software; you can redistribute it and/or modify it
5
5
  // under the terms of the MIT License; see LICENSE file for more details.
@@ -75,7 +75,7 @@ if (sync_button) {
75
75
  resultMessage,
76
76
  "positive",
77
77
  "checkmark",
78
- "Repositories synced successfully. Please reload the page."
78
+ "Repositories synced successfully. Some items may still be updating, please reload the page in about a minute."
79
79
  );
80
80
  sync_button.classList.remove("disabled");
81
81
  setTimeout(function () {
@@ -95,7 +95,7 @@ if (sync_button) {
95
95
  }
96
96
  } catch (error) {
97
97
  loaderIcon.classList.remove("loading");
98
- if(error.message === "timeout"){
98
+ if (error.message === "timeout") {
99
99
  addResultMessage(
100
100
  resultMessage,
101
101
  "warning",
@@ -110,7 +110,7 @@ if (sync_button) {
110
110
  "cancel",
111
111
  `There has been a problem: ${error}`
112
112
  );
113
- setTimeout(function () {
113
+ setTimeout(function () {
114
114
  resultMessage.classList.add("hidden");
115
115
  }, 7000);
116
116
  }
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  #
3
3
  # This file is part of Invenio.
4
- # Copyright (C) 2023 CERN.
4
+ # Copyright (C) 2023-2025 CERN.
5
5
  #
6
6
  # Invenio is free software: you can redistribute it and/or modify
7
7
  # it under the terms of the GNU General Public License as published by
@@ -41,6 +41,16 @@ This configuration variable must be set explicitly. Example::
41
41
  context, doesn't work as expected.
42
42
  """
43
43
 
44
+ GITHUB_WEBHOOK_SYNC_BATCH_SIZE = 20
45
+ """Number of repositories to be processed in a single batch when syncing hooks.
46
+
47
+ If the user has more than 20 repositories, multiple tasks will be created,
48
+ syncing them in parallel. Thereby the sync process should finish in a timely
49
+ manner and we avoid timeouts on platforms like Zenodo.
50
+
51
+ Decrease this value if you experience task timeouts.
52
+ """
53
+
44
54
  GITHUB_SHARED_SECRET = "CHANGEME"
45
55
  """Shared secret between you and GitHub.
46
56
 
@@ -155,7 +155,7 @@ def register_api_routes(blueprint):
155
155
  """
156
156
  try:
157
157
  github = GitHubAPI(user_id=current_user.id)
158
- github.sync(async_hooks=False)
158
+ github.sync()
159
159
  db.session.commit()
160
160
  except Exception as exc:
161
161
  current_app.logger.exception(str(exc))
@@ -171,7 +171,7 @@ def register_api_routes(blueprint):
171
171
  try:
172
172
  github = GitHubAPI(user_id=current_user.id)
173
173
  github.init_account()
174
- github.sync(async_hooks=False)
174
+ github.sync()
175
175
  db.session.commit()
176
176
  except Exception as exc:
177
177
  current_app.logger.exception(str(exc))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: invenio-github
3
- Version: 3.0.1
3
+ Version: 3.0.2
4
4
  Summary: "Invenio module that adds GitHub integration to the platform."
5
5
  Home-page: https://github.com/inveniosoftware/invenio-github
6
6
  Author: CERN
@@ -129,6 +129,13 @@ Invenio module that adds GitHub integration to the platform.
129
129
  Changes
130
130
  =======
131
131
 
132
+ Version v3.0.2 (released 2025-11-26)
133
+
134
+ - api: optimize sync process with batch task execution
135
+ * prevent GitHub page timeout with 504 after sync
136
+ * optimize sync process with batch task execution
137
+ * add tests for sync() and sync_repo_hooks() methods
138
+
132
139
  Version v3.0.1 (released 2025-07-30)
133
140
 
134
141
  - api: fix set alternate zipball URL when tag and branch having same name
File without changes
File without changes
File without changes
File without changes
File without changes