civics-cdf-validator 1.50.dev1__tar.gz → 1.51.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {civics_cdf_validator-1.50.dev1/civics_cdf_validator.egg-info → civics_cdf_validator-1.51.dev0}/PKG-INFO +1 -1
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0/civics_cdf_validator.egg-info}/PKG-INFO +1 -1
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/rules.py +18 -7
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/version.py +1 -1
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/CONTRIBUTING.md +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/LICENSE-2.0.txt +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/MANIFEST.in +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/README.md +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/__init__.py +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/base.py +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/civics_cdf_validator.egg-info/SOURCES.txt +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/civics_cdf_validator.egg-info/dependency_links.txt +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/civics_cdf_validator.egg-info/entry_points.txt +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/civics_cdf_validator.egg-info/requires.txt +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/civics_cdf_validator.egg-info/top_level.txt +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/gpunit_rules.py +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/loggers.py +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/office_utils.py +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/setup.cfg +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/setup.py +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/stats.py +0 -0
- {civics_cdf_validator-1.50.dev1 → civics_cdf_validator-1.51.dev0}/validator.py +0 -0
|
@@ -4322,6 +4322,8 @@ class OfficeHolderSubFeedDatesAreSequential(base.DateRule):
|
|
|
4322
4322
|
class FeedInactiveDateIsLatestDate(base.BaseRule):
|
|
4323
4323
|
"""Partner feeds should have a FeedInactiveDate that occurs after the FullDeliveryDate and EndDate."""
|
|
4324
4324
|
|
|
4325
|
+
ignorable_election_date_statuses = frozenset(["canceled"])
|
|
4326
|
+
|
|
4325
4327
|
def elements(self):
|
|
4326
4328
|
return ["Feed"]
|
|
4327
4329
|
|
|
@@ -4339,13 +4341,22 @@ class FeedInactiveDateIsLatestDate(base.BaseRule):
|
|
|
4339
4341
|
"FeedInactiveDate is older than FullDeliveryDate",
|
|
4340
4342
|
[element],
|
|
4341
4343
|
)
|
|
4342
|
-
for
|
|
4343
|
-
|
|
4344
|
-
|
|
4345
|
-
|
|
4346
|
-
|
|
4347
|
-
|
|
4348
|
-
|
|
4344
|
+
for election_event_element in element.iter("ElectionEvent"):
|
|
4345
|
+
if element_has_text(
|
|
4346
|
+
election_event_element.find("ElectionDateStatus")
|
|
4347
|
+
) and (
|
|
4348
|
+
election_event_element.find("ElectionDateStatus").text
|
|
4349
|
+
in self.ignorable_election_date_statuses
|
|
4350
|
+
):
|
|
4351
|
+
continue
|
|
4352
|
+
if element_has_text(election_event_element.find("EndDate")):
|
|
4353
|
+
end_date_element = election_event_element.find("EndDate")
|
|
4354
|
+
end_date = base.PartialDate.init_partial_date(end_date_element.text)
|
|
4355
|
+
if feed_inactive_date < end_date:
|
|
4356
|
+
raise loggers.ElectionError.from_message(
|
|
4357
|
+
"FeedInactiveDate is older than EndDate",
|
|
4358
|
+
[element],
|
|
4359
|
+
)
|
|
4349
4360
|
|
|
4350
4361
|
|
|
4351
4362
|
class FeedHasValidCountryCode(base.BaseRule):
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|