civics-cdf-validator 1.65.dev2__tar.gz → 1.66__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.
Files changed (22) hide show
  1. {civics_cdf_validator-1.65.dev2/civics_cdf_validator.egg-info → civics_cdf_validator-1.66}/PKG-INFO +1 -1
  2. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66/civics_cdf_validator.egg-info}/PKG-INFO +1 -1
  3. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/rules.py +2 -19
  4. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/version.py +1 -1
  5. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/CONTRIBUTING.md +0 -0
  6. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/LICENSE-2.0.txt +0 -0
  7. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/MANIFEST.in +0 -0
  8. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/README.md +0 -0
  9. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/__init__.py +0 -0
  10. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/base.py +0 -0
  11. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/civics_cdf_validator.egg-info/SOURCES.txt +0 -0
  12. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/civics_cdf_validator.egg-info/dependency_links.txt +0 -0
  13. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/civics_cdf_validator.egg-info/entry_points.txt +0 -0
  14. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/civics_cdf_validator.egg-info/requires.txt +0 -0
  15. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/civics_cdf_validator.egg-info/top_level.txt +0 -0
  16. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/gpunit_rules.py +0 -0
  17. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/loggers.py +0 -0
  18. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/office_utils.py +0 -0
  19. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/setup.cfg +0 -0
  20. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/setup.py +0 -0
  21. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/stats.py +0 -0
  22. {civics_cdf_validator-1.65.dev2 → civics_cdf_validator-1.66}/validator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: civics_cdf_validator
3
- Version: 1.65.dev2
3
+ Version: 1.66
4
4
  Summary: Checks if an election feed follows best practices
5
5
  Home-page: https://github.com/google/civics_cdf_validator
6
6
  Author: Google Civics
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: civics_cdf_validator
3
- Version: 1.65.dev2
3
+ Version: 1.66
4
4
  Summary: Checks if an election feed follows best practices
5
5
  Home-page: https://github.com/google/civics_cdf_validator
6
6
  Author: Google Civics
@@ -943,7 +943,7 @@ class CandidatesReferencedInRelatedContests(base.BaseRule):
943
943
  """Candidate should not be referred to by multiple unrelated contests.
944
944
 
945
945
  A Candidate object should only be referenced from one contest, unless the
946
- contests are related (connected by SubsequentContestId). If a Person is
946
+ contests are related (connected by ComposingContestIds). If a Person is
947
947
  running in multiple unrelated Contests, then that Person is a Candidate
948
948
  several times over, but a Candida(te|cy) can't span unrelated contests.
949
949
  """
@@ -1003,22 +1003,6 @@ class CandidatesReferencedInRelatedContests(base.BaseRule):
1003
1003
  self.contest_graph.add_node(contest.get("objectId"))
1004
1004
 
1005
1005
  for contest in contests:
1006
- subsequent_contest_id = None
1007
- subsequent_contest = contest.find("SubsequentContestId")
1008
- if element_has_text(subsequent_contest):
1009
- subsequent_contest_id = subsequent_contest.text
1010
- # subsequent contest id is not valid if it isn't in the graph
1011
- if not self.contest_graph.has_node(subsequent_contest_id):
1012
- raise loggers.ElectionError.from_message(
1013
- (
1014
- "Contest {} contains a subsequent Contest Id ({}) that does "
1015
- "not exist."
1016
- ).format(contest.get("objectId"), subsequent_contest_id),
1017
- [subsequent_contest],
1018
- )
1019
- self.contest_graph.add_edge(
1020
- contest.get("objectId"), subsequent_contest.text
1021
- )
1022
1006
  # Add the composing contest if it exists
1023
1007
  composing_contests = contest.find("ComposingContestIds")
1024
1008
  if element_has_text(composing_contests):
@@ -1033,8 +1017,7 @@ class CandidatesReferencedInRelatedContests(base.BaseRule):
1033
1017
  ).format(contest.get("objectId"), child),
1034
1018
  [composing_contests],
1035
1019
  )
1036
- if subsequent_contest_id:
1037
- self.contest_graph.add_edge(child, subsequent_contest_id)
1020
+ self.contest_graph.add_edge(contest.get("objectId"), child)
1038
1021
 
1039
1022
  def _check_candidate_contests_are_related(self, contest_id_list):
1040
1023
  for i in range(len(contest_id_list) - 1):
@@ -5,4 +5,4 @@ No dependencies should be added to this module.
5
5
  See https://packaging.python.org/guides/single-sourcing-package-version/
6
6
  """
7
7
 
8
- __version__ = '1.65.dev2'
8
+ __version__ = '1.66'