Commit Graph

36 Commits

Author SHA1 Message Date
8dc28e1524 Extensions: correct return value for pkg_manifest_is_valid_or_error_impl
When requesting all errors, return the error list.
2024-02-22 22:34:08 +11:00
984589bef1 Extensions: improve function name & arguments 2024-02-22 15:35:12 +11:00
b13a5c130a Extensions: pass a "User-Agent" when making requests
This is needed to connect to https://extensions.blender.org.
2024-02-22 14:55:47 +11:00
b1fc5524dd Extensions: ensure reconfigure is available on sys.stdio/stdout 2024-02-20 12:29:04 +11:00
e86a687ec1 Extensions: always use utf-8 encoding for internal commands 2024-02-20 10:54:07 +11:00
27105ca8fe Extensions: increase download chunk size to 16kb
The download chunk size was set very small so it was possible
to see the progress bar when installing files locally.

This reduces overhead from iterating over small chunks,
updating progress for each chunk.
2024-02-09 21:52:15 +11:00
845b74775f Extensions: fix error installing some zipfiles with subdirectories
When the zipfile included the directory on it's own, a file with an
empty string was set, since this becomes the root directory, remove it.
2024-02-09 21:34:59 +11:00
41d04aa430 Extensions: support extensions in a sub-directory of the archive 2024-02-09 15:50:25 +11:00
2787eb1c88 Extensions: use ZIP files instead of XZ for compression
Part of #117286.
2024-02-09 11:06:48 +11:00
4bd41e0368 Extensions: only request JSON for JSON requests 2024-02-09 10:19:05 +11:00
759ae5aaa8 Extensions: Specify JSON in the URL headers
This way the URL can simply be: `https://extesions.blender.org`
Later we will also add the Blender version in the header.

Internally the server will then use this information to point Blender to
the right API entry.

Related:
https://projects.blender.org/infrastructure/extensions-website/pulls/20

Pull Request: https://projects.blender.org/blender/blender-addons-contrib/pulls/24
2024-02-08 12:17:47 +01:00
ecaf13e2b8 Extensions: remove redundant function 2024-02-04 22:39:50 +11:00
29476e7c02 Extensions: validate an archive manifest 2024-02-04 22:27:00 +11:00
be647aa561 Extensions: add support for installing extensions from local files 2024-02-04 18:05:41 +11:00
8fecb4da2c Extensions: refactor reading the manifest from an archive to a function
Validate the manifest before extracting.
2024-02-04 16:52:30 +11:00
13a7d7bd43 Extensions: rename functions 2024-02-04 16:27:00 +11:00
7fac125d2b Extensions: use field "website" instead of "homepage" 2024-02-03 13:17:58 +11:00
1c265b9de8 Extensions: remove description, use tagline 2024-02-02 09:58:31 +11:00
6d24ff6f9e Extensions: rename authors (list) to a single maintainer 2024-02-01 22:33:29 +11:00
abf58db39e Extensions: add additional items to the manifest
- author
- blender_version_min
- license
- schema_version
- tagline
- tags

Also optional fields:

- blender_version_max
- homepage
- copyright
2024-01-31 16:28:12 +11:00
466d5ec656 Extensions: de-duplicate manifest type info, support optional types 2024-01-31 11:16:38 +11:00
2edd2f5dcc Extensions: rename fields and manifest type
- Key Maps > Keymaps
- Type: addon > add-on
- upgrade > update

Ref: !23
2024-01-31 10:21:16 +11:00
fc03f48164 Extensions: validate the manifest "type"
Reject invalid manifest data.
2024-01-30 13:12:51 +11:00
44afb985ac Extensions: use "blender_manifest.toml" for the manifest 2024-01-30 09:38:50 +11:00
5f86977527 Extensions: use consistent naming for package ID's 2024-01-25 17:20:12 +11:00
878521b9a4 Extensions: replace manifest ID regex with a function
This allows extensions to use non ASCII characters as long
as they are valid identifiers.
2024-01-25 17:17:33 +11:00
acc74e9c69 Extensions: validate extensions use valid identifiers 2024-01-25 17:00:52 +11:00
d933db4921 Extensions: correct wrong type in error message in manifest validation 2024-01-25 16:43:57 +11:00
d119ae059e Extensions: fix error in TEXT output for CLI commands
Testing code-paths use JSON output so this only happens when
some commands are run by users directly.
2024-01-25 16:32:00 +11:00
1f9293dd9a Extensions: resolve warnings from "ruff" 2024-01-25 16:07:11 +11:00
27eaecadbd Extensions: fix wrapped --help text in the CLI 2024-01-25 15:59:46 +11:00
e96843084b Extensions: remove unnecessary string format 2024-01-25 15:58:34 +11:00
19ca087856 Extensions: use the TOML instead of converting it to JSON 2024-01-25 15:41:39 +11:00
411789b9b2 Extensions: remove optional tomllib use
This is now part of Python 3.11
2024-01-25 11:59:32 +11:00
8a410a34d3 Extensions: rename bl_ext_pkg.toml to bl_manifest.toml
Prefer a more straightforward name with the prefix to denote this is
Blender related.
2024-01-25 11:05:55 +11:00
d5ec3dd4c5 Add "Blender Extensions" experimental add-on
This add-on implements installing/upgrading extensions and remains
experimental (depends on extension repositories).

Move to a addons_contrib add-on so users can test more easily.

See #117286.
2024-01-24 13:24:08 +11:00