1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-11-15 08:36:13 +01:00
Commit Graph

183 Commits

Author SHA1 Message Date
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
0c2238435f
Merge pull request #1184 from dirkmueller/cleanups
Cleanups
2022-12-05 09:30:48 +01:00
Dirk Müller
adb1a9b4ef mark boolean and integer_opts as private
It is unused elsewhere, and only used for unit-testing
2022-12-01 10:05:32 +01:00
dc1470a3d7 store: Remove trailing slash from apiurl 2022-11-07 13:57:24 +01:00
4e773cec32 Implement Store class that will replace store_{read,write}* functions 2022-10-25 13:09:29 +02:00
a4720eb776 Add new osc._private module 2022-10-13 10:52:17 +02:00
5094099f08 Disable configparser interpolation to allow unescaped '%' in values 2022-10-04 09:37:33 +02:00
1fe2b17957
Merge pull request #1144 from dmach/1141-search-requests-created-by-myself
Properly handle osc rq -M/--mine option
2022-09-20 13:09:25 +02:00
c8f4487201 Replace core.findpacs() with Package.from_paths() and Package.from_paths_nofail()
The original findpacs() was returning either [Package]
or ([Package], [str]) depending on the `fatal` option.
This confused pylint and it was returning false-positives:
E1101: Instance of 'list' has no '...' member (no-member)
2022-09-20 11:32:25 +02:00