0f8a8430fc
Remove all path quoting, rely on makeurl()
2024-02-09 13:26:37 +01:00
3f14cef53a
Refactor makeurl(), deprecate query taking string or list arguments, drop osc_urlencode()
2024-02-09 13:26:37 +01:00
c7af0e458f
Use Field.get_callback to handle quiet/verbose and http_debug/http_full_debug options
2024-01-24 15:47:37 +01:00
8a38a9da82
Implement get_callback that allows modifying returned value to the Field class
2024-01-24 15:47:37 +01:00
a8c7661627
Implement 'quiet' conf option
2024-01-24 15:47:37 +01:00
01036341d4
Merge pull request #1473 from dmach/nested-models
...
Support nested models + related fixes
2024-01-23 21:09:35 +01:00
0413179709
Fix Password.encode() on python < 3.8
2024-01-23 20:07:13 +01:00
7903ade2b4
Add support for List[BaseModel] type to Field class
2024-01-23 20:05:38 +01:00
b4a1b29f57
Fix exporting an empty model field in BaseModel.dict()
2024-01-23 20:05:28 +01:00
35433fc341
Implement 'Enum' support in models
2024-01-23 20:05:17 +01:00
82216c72b4
Implement reading credentials from environmental variables
...
Options for apiurls can be set via OSC_HOST_<ALIAS>_<OPTION>=...
This requires a configured alias in the config file.
Setting the default apiurl via OSC_APIURL=... was working already.
Also OSC_CONFIG= / --config= was already implemented to skip loading configuration entirely.
Options for the default apiurl can be now set via:
OSC_USERNAME=...
OSC_CREDENTIALS_MGR_CLASS=...
OSC_PASSWORD=...
This, for example, makes running osc in containers with
credentials stored in environmental variables possible:
OSC_CONFIG= OSC_APIURL=<url> OSC_USERNAME=<user> OSC_PASSWORD=<password> osc ...
2024-01-08 15:21:45 +01:00
b8d6c949c9
Drop unused 'exclude_unset' argument from BaseModel.dict() method
2024-01-04 10:20:58 +01:00
16cdc067a5
Store cached model defaults in self._defaults, avoid sharing references to mutable defaults
2024-01-03 21:22:30 +01:00
587c094f61
Limit model attributes to predefined fields by forbidding creating new attributes on fly
2024-01-03 21:21:38 +01:00
608fc76cd2
docs: Update models to avoid including lazy defaults in the rendered man pages
...
Lazy defaults may return different results under different circumstances
and we always want man pages rendered consistently.
2023-12-01 16:22:13 +01:00
69a68b06b3
Fix conf.write_initial_config() to use read_file() instead of deprecated readfp()
2023-11-15 09:18:22 +01:00
c790134aa4
Fix apiurl_aliases handling in OscOptions.__getitem__
2023-10-24 00:33:21 +02:00
a2e7383eca
Allow undefined fields in Options and HostOptions
...
Plugins seem to be using oscrc and osc.conf.config to store their config options.
All fields that are not known to osc are now stored in the 'extra_fields' dictionary
and handled in __getitem__() and __setitem__() as they were regular fields.
Such values are not checked for their types and the dictionary simply holds
strings obtained from oscrc or anything the plugins set through the python API.
2023-10-19 14:23:33 +02:00
268424797a
Fix retrieving config values in core.vc_export_env()
2023-10-13 20:34:09 +02:00
c6900f96d1
tests: Replace 'git init -b' with 'git init' and 'git checkout -b'
2023-10-10 08:32:57 +02:00
ee725ff51b
Fix a crash in 'Fix handling empty vm_type in Store.last_buildroot' when last_buildroot is empty
2023-09-25 14:41:17 +02:00
93cfb76a46
Fix handling empty vm_type in Store.last_buildroot
2023-09-25 10:16:00 +02:00
848f5fe48f
Switch 'osc.conf.config' from dict to Options class with type checking
2023-09-11 21:14:45 +02:00
930b7a8a4e
Add 'osc.util.models' module implementing an alternative pydantic-like data validation
2023-09-11 21:11:05 +02:00
Tammo Oepkes
b9014ccd56
Fix api_host_options for custom CAs ( #1403 )
2023-09-11 21:06:34 +02:00
f9dc3122f9
Add more config options among integer options
2023-08-15 14:29:18 +02:00
7ad815a149
tests: Fix TestMirrorGroup to load oscrc from fixtures
2023-08-09 13:07:06 +02:00
a5816132c7
tests: Fix TestConf to load oscrc from fixtures
2023-08-09 13:04:17 +02:00
79a2a5fda6
tests: Unset OSC_CONFIG env during tearDown()
2023-08-09 13:04:17 +02:00
4138a40e02
Use alternative project if specified in parse_repoarchdescr()
2023-07-28 14:42:52 +02:00
f60db24e15
Add 'git_scm' module for handling packages that live in git scm rather than usual obs scm
2023-07-28 14:41:59 +02:00
99fb94eddf
Improve print_msg() and migrate some arbitrary prints to it
2023-07-27 10:16:08 +02:00
c8fad57151
Add 'output' module for handling console output
2023-06-02 15:58:31 +02:00
309f10633d
Fix grabber to work with old urllib3 versions that do not contain URLSchemeUnknown exception
2023-05-15 22:38:21 +02:00
2502f7a57f
Add glob support to the 'trusted_prj' config option
2023-05-02 09:56:27 +02:00
bc468b7710
commandline: Fix regression in handling default apiurl from oscrc
...
The default apiurl (https://api.opensuse.org ) was always used as default
regardless the settings in oscrc.
2023-04-03 09:12:01 +02:00
26a8fb1acf
commandline: New class-based commands
...
This is based on a prototype we've worked on together
with Laurin Fäller <laurin.faeller@suse.com>.
2023-03-31 09:39:04 +02:00
bacaa29a78
_private.api: Add xml_escape() function
2023-03-06 10:12:59 +01:00
2a9edeec5b
conf: Change how api_host_options determine option types
...
The _integer_opts and _boolean_opts specify option types for both
global options as well as api_host_options
2023-02-21 14:42:30 +01:00
95be11130e
core.Action: Add src_pkg_object and tgt_pkg_object properties providing object wrappers to file lists
2023-02-14 16:24:20 +01:00
6bd2c6eaf1
mv: Fix regression
...
Moved Package.todo handling in one place.
Fixed a situation when path to a file that doesn't exist is passed to Package
2023-01-26 10:11:54 +01:00
fdd2c3a8f0
Fix creating a Package object by providing multiple files on the command line
2023-01-20 16:52:11 +01:00
bce0c3ffe4
Fix develproject arg handling
2023-01-12 13:44:32 +01:00
3ea7d7d908
commandline: Improve argument parsing, add more tests
2023-01-12 11:51:35 +01:00
c77e193bdb
rdiff: Improve CLI handling
2023-01-12 10:49:43 +01:00
ce4cd4e4e9
commandline: Add pop_project_package_targetproject_targetpackage_from_args() function
2022-12-20 16:53:21 +01:00
0384db5e2e
setlinkrev: Write a log message on setting a revision
2022-12-19 14:58:12 +01:00
2735d5a0d1
commandline: Add methods for parsing repo, arch from the arguments
2022-12-15 16:25:17 +01:00
6dcc45f272
Improve argument handling in the 'develproject' command
2022-12-13 08:45:33 +01:00
76b1821f19
Add commandline.pop_project_package_from_args()
2022-12-12 16:48:28 +01:00