54
54
},
55
55
"source-id" : {"type" : "string" },
56
56
"parent-id" : {"type" : "string" },
57
+ "changelog-url-template" : {"type" : "string" },
57
58
},
58
59
"required" : ["type" ],
59
60
}
@@ -204,6 +205,7 @@ class ExternalState(abc.ABC):
204
205
url : str
205
206
version : t .Optional [str ]
206
207
timestamp : t .Optional [datetime .datetime ]
208
+ changelog_url : t .Optional [str ]
207
209
208
210
def _replace (self : _ES , ** kwargs ) -> _ES :
209
211
return dataclasses .replace (self , ** kwargs )
@@ -286,6 +288,11 @@ def set_new_version(self, new_version: ExternalState, is_update: bool = True):
286
288
)
287
289
self .state |= self .State .OUTDATED
288
290
291
+ assert new_version .changelog_url is None
292
+ new_version = new_version ._replace (
293
+ changelog_url = self .current_version .changelog_url
294
+ )
295
+
289
296
self .new_version = new_version
290
297
291
298
@property
@@ -358,6 +365,7 @@ def from_source_impl(
358
365
checksum = MultiDigest .from_source (source )
359
366
size = source .get ("size" )
360
367
checker_data = source .get ("x-checker-data" , {})
368
+ changelog_url = checker_data .get ("changelog-url-template" , None )
361
369
arches = checker_data .get ("arches" ) or source .get ("only-arches" ) or ["x86_64" ]
362
370
363
371
obj = cls (
@@ -374,6 +382,7 @@ def from_source_impl(
374
382
size = size ,
375
383
version = None ,
376
384
timestamp = None ,
385
+ changelog_url = changelog_url ,
377
386
),
378
387
None ,
379
388
)
@@ -519,6 +528,7 @@ def from_source_impl(
519
528
tag = source .get ("tag" )
520
529
branch = source .get ("branch" )
521
530
checker_data = source .get ("x-checker-data" , {})
531
+ changelog_url = checker_data .get ("changelog-url-template" , None )
522
532
arches = checker_data .get ("arches" ) or source .get ("only-arches" ) or ["x86_64" ]
523
533
524
534
obj = cls (
@@ -536,6 +546,7 @@ def from_source_impl(
536
546
branch = branch ,
537
547
version = None ,
538
548
timestamp = None ,
549
+ changelog_url = changelog_url ,
539
550
),
540
551
None ,
541
552
)
0 commit comments