7a67786ba4
Add comments with attributes/elements to edited XML
2024-04-25 13:14:03 +02:00
eb2678e0c7
Fix XmlModel to load an empty string in an int field as None
2024-04-17 10:57:59 +02:00
3cfeda45ba
Remove now unused 'retry_on_400' http_request() option from XmlModel
2024-03-12 17:33:41 +01:00
9004d5a5ba
Replace invalid 'if' with 'elif' in BaseModel.dict()
2024-03-05 16:45:52 +01:00
36dd0401ee
Remove a debug print
2024-03-05 15:50:44 +01:00
28326a185d
Add XPathQuery class for translating keyword arguments to an xpath query
2024-03-05 10:06:21 +01:00
cd95478ac8
Implement total ordering on BaseModel
2024-03-04 15:00:12 +01:00
747eb0ec52
Allow storing apiurl in the XmlModel instances
2024-03-04 14:58:40 +01:00
9cce6dbb8e
Allow retrieving default field value from top-level model
2024-03-04 14:58:40 +01:00
4e928a4505
Fix processed node check in XmlModel
2024-02-29 09:26:28 +01:00
7768684461
Fix BaseModel to convert dictionaries to objects on retrieving a model list
2024-02-23 13:14:04 +01:00
acc54919fc
Fix BaseModel to always deepcopy mutable defaults on first use
2024-02-23 13:14:04 +01:00
ab36108871
Implement do_snapshot() and has_changed() methods to determine changes in BaseModel
2024-02-21 09:46:53 +01:00
e5774a5730
Add XmlModel class that encapsulates manipulation with XML
2024-02-21 09:46:53 +01:00
556c97d7ee
Move xml_indent, xml_quote and xml_unquote to osc.util.xml module
2024-02-12 09:27:30 +01:00
8a38a9da82
Implement get_callback that allows modifying returned value to the Field class
2024-01-24 15:47:37 +01:00
7903ade2b4
Add support for List[BaseModel] type to Field class
2024-01-23 20:05:38 +01:00
ea0bf1bb60
Report class name when reporting an error during instantiating BaseModel object
2024-01-23 20:05:33 +01:00
b4a1b29f57
Fix exporting an empty model field in BaseModel.dict()
2024-01-23 20:05:28 +01:00
3baeb4b64e
Fix initializing a sub-model instance from a dictionary
2024-01-23 20:05:24 +01:00
35433fc341
Implement 'Enum' support in models
2024-01-23 20:05:17 +01:00
86e06a341f
Fix Field.origin_type for Optional types
2024-01-23 20:05:11 +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
3c733387af
Store model values in self._values dict instead of private attributes
2024-01-03 21:21:29 +01:00
31059f0f92
Merge pull request #1452 from adrianschroeter/productcompose
...
productcompose: Support building with updateinfo.xml data
2024-01-02 08:05:25 +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
7434a31a89
productcompose: Support building with updateinfo.xml data
2023-11-24 15:47:12 +01:00
930b7a8a4e
Add 'osc.util.models' module implementing an alternative pydantic-like data validation
2023-09-11 21:11:05 +02:00
54d1884e1d
Add 'osc.util.xdg' module for handling XDG paths
2023-09-11 21:11:05 +02:00
Rainer Müller
241b34d645
Refactor tar open functions to return early
2022-09-30 15:51:06 +02:00
Rainer Müller
395df87fa1
Remove workarounds for python2 compatibility
2022-09-30 15:48:36 +02:00
Rainer Müller
bcdc3b1835
Replace double with single underscores to avoid name mangling
2022-09-30 15:47:46 +02:00
Rainer Müller
a6fd4f88d3
Refactor extracting control from Debian package
...
Use separate functions for each compression type instead of a
cascade of conditionals.
2022-09-30 15:45:57 +02:00
Rainer Müller
5a13baf2ab
Handle uncompressed Debian packages
...
Debian packages can also be uncompressed in which case the archive
contains a control.tar file.
2022-09-30 15:44:14 +02:00
959d054ec8
Fix whitespace issues in osc.util
2022-09-12 15:44:27 +02:00
b511be20ff
Always import at the toplevel
2022-09-12 13:45:19 +02:00
6d891d7488
Remove superfluous parens
2022-09-12 13:45:19 +02:00
3296fd8d89
User super() instead of referencing parent classes explicitly
2022-09-12 13:45:19 +02:00
ee39653dc7
Fix indentation
2022-09-09 09:33:51 +02:00
ff63226c2f
Properly test for None
2022-09-09 09:33:51 +02:00
8acad28cc0
git_version: Return version from the source code if there's no matching tag
2022-08-22 11:08:34 +02:00
Anatoli Babenia
0bc142df91
Move format_table
to util.helper
2022-08-02 14:45:23 +03:00
feb53212dd
Modernize code with pyupgrade
...
pyupgrade --keep-percent-format --py36-plus `find -name '*.py'`
2022-07-28 19:14:12 +02:00
229913a77f
Clean imports up, drop python 2 fallbacks
2022-07-28 13:17:43 +02:00
69f75a0278
Open osc 1.0 development
...
Upcoming changes:
- drop python2 support
- replace M2Crypto with cryptography
- replace cmdln.py/optparse with argparse
- various cleanups
2022-07-27 10:46:55 +02:00
2aaefb7c79
Fix detecting version from git in archives from GitHub
...
There seem to be a bug in how GitHub generates archives.
"Format:" and "$" characters get removed from the version string,
setting it to:
version = "%(describe:tags=true)"
2022-07-04 14:43:21 +02:00
fec667c70d
Fix crash in determining git version when git command is not available
2022-06-24 12:24:53 +02:00
40067dce0a
Auto-generate git versions compatible with PEP 440
...
`git archive` is configured to set osc version according to the git tag
via .gitattributes/export-subst
2022-06-08 08:48:50 +02:00