troubadix 25.12.4__py3-none-any.whl → 26.1.0__py3-none-any.whl

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 (87) hide show
  1. troubadix/__version__.py +1 -1
  2. troubadix/argparser.py +4 -14
  3. troubadix/helper/date_format.py +3 -7
  4. troubadix/helper/helper.py +1 -3
  5. troubadix/helper/if_block_parser.py +14 -37
  6. troubadix/helper/linguistic_exception_handler.py +6 -18
  7. troubadix/helper/patterns.py +7 -19
  8. troubadix/helper/remove_comments.py +1 -4
  9. troubadix/helper/text_utils.py +1 -3
  10. troubadix/plugin.py +3 -9
  11. troubadix/plugins/__init__.py +6 -20
  12. troubadix/plugins/badwords.py +3 -9
  13. troubadix/plugins/copyright_text.py +2 -5
  14. troubadix/plugins/copyright_year.py +4 -12
  15. troubadix/plugins/creation_date.py +3 -9
  16. troubadix/plugins/cvss_format.py +1 -3
  17. troubadix/plugins/dependencies.py +2 -5
  18. troubadix/plugins/dependency_category_order.py +7 -20
  19. troubadix/plugins/deprecated_dependency.py +6 -16
  20. troubadix/plugins/deprecated_functions.py +1 -2
  21. troubadix/plugins/double_end_points.py +2 -7
  22. troubadix/plugins/duplicate_oid.py +1 -3
  23. troubadix/plugins/forking_nasl_functions.py +1 -4
  24. troubadix/plugins/get_kb_on_services.py +2 -4
  25. troubadix/plugins/grammar.py +6 -16
  26. troubadix/plugins/http_links_in_tags.py +1 -3
  27. troubadix/plugins/illegal_characters.py +5 -13
  28. troubadix/plugins/log_messages.py +1 -2
  29. troubadix/plugins/malformed_dependencies.py +2 -6
  30. troubadix/plugins/missing_desc_exit.py +1 -3
  31. troubadix/plugins/multiple_re_parameters.py +2 -6
  32. troubadix/plugins/newlines.py +1 -2
  33. troubadix/plugins/overlong_description_lines.py +2 -6
  34. troubadix/plugins/prod_svc_detect_in_vulnvt.py +1 -4
  35. troubadix/plugins/script_add_preference_id.py +3 -10
  36. troubadix/plugins/script_add_preference_type.py +2 -7
  37. troubadix/plugins/script_calls_empty_values.py +3 -3
  38. troubadix/plugins/script_calls_recommended.py +5 -8
  39. troubadix/plugins/script_copyright.py +1 -3
  40. troubadix/plugins/script_family.py +1 -2
  41. troubadix/plugins/script_tag_form.py +1 -3
  42. troubadix/plugins/script_tag_whitespaces.py +4 -8
  43. troubadix/plugins/script_tags_mandatory.py +2 -5
  44. troubadix/plugins/script_version_and_last_modification_tags.py +6 -17
  45. troubadix/plugins/script_xref_form.py +1 -3
  46. troubadix/plugins/script_xref_url.py +3 -7
  47. troubadix/plugins/security_messages.py +6 -17
  48. troubadix/plugins/severity_date.py +3 -9
  49. troubadix/plugins/severity_format.py +1 -3
  50. troubadix/plugins/severity_origin.py +1 -3
  51. troubadix/plugins/solution_text.py +6 -10
  52. troubadix/plugins/solution_type.py +1 -2
  53. troubadix/plugins/spaces_before_dots.py +2 -8
  54. troubadix/plugins/spaces_in_filename.py +1 -2
  55. troubadix/plugins/spelling.py +5 -14
  56. troubadix/plugins/trailing_spaces_tabs.py +2 -5
  57. troubadix/plugins/using_display.py +2 -6
  58. troubadix/plugins/valid_oid.py +51 -60
  59. troubadix/plugins/valid_script_tag_names.py +2 -5
  60. troubadix/plugins/variable_assigned_in_if.py +2 -7
  61. troubadix/plugins/variable_redefinition_in_foreach.py +2 -6
  62. troubadix/plugins/vt_placement.py +2 -8
  63. troubadix/reporter.py +6 -19
  64. troubadix/results.py +2 -8
  65. troubadix/runner.py +5 -14
  66. troubadix/standalone_plugins/allowed_rev_diff.py +8 -25
  67. troubadix/standalone_plugins/changed_creation_date.py +3 -9
  68. troubadix/standalone_plugins/changed_cves.py +4 -12
  69. troubadix/standalone_plugins/changed_oid.py +2 -6
  70. troubadix/standalone_plugins/changed_packages/changed_packages.py +3 -8
  71. troubadix/standalone_plugins/changed_packages/marker/changed_update.py +1 -3
  72. troubadix/standalone_plugins/changed_packages/marker/dropped_architecture.py +1 -3
  73. troubadix/standalone_plugins/changed_packages/package.py +2 -5
  74. troubadix/standalone_plugins/dependency_graph/checks.py +5 -15
  75. troubadix/standalone_plugins/dependency_graph/dependency_graph.py +5 -13
  76. troubadix/standalone_plugins/deprecate_vts.py +3 -9
  77. troubadix/standalone_plugins/file_extensions.py +3 -10
  78. troubadix/standalone_plugins/last_modification.py +3 -9
  79. troubadix/standalone_plugins/no_solution.py +12 -32
  80. troubadix/standalone_plugins/version_updated.py +4 -12
  81. troubadix/troubadix.py +1 -4
  82. {troubadix-25.12.4.dist-info → troubadix-26.1.0.dist-info}/METADATA +1 -1
  83. troubadix-26.1.0.dist-info/RECORD +116 -0
  84. troubadix-25.12.4.dist-info/RECORD +0 -116
  85. {troubadix-25.12.4.dist-info → troubadix-26.1.0.dist-info}/WHEEL +0 -0
  86. {troubadix-25.12.4.dist-info → troubadix-26.1.0.dist-info}/entry_points.txt +0 -0
  87. {troubadix-25.12.4.dist-info → troubadix-26.1.0.dist-info}/licenses/LICENSE +0 -0
@@ -53,9 +53,7 @@ MONTH_AS_DAYS = 365 / 12
53
53
  def parse_solution_date(date_string: str) -> datetime:
54
54
  """Convert date string to date trying different formats"""
55
55
 
56
- date_string = re.sub(
57
- r"(?P<date>.\d{1,2})(st|nd|rd|th)", r"\g<date>", date_string
58
- )
56
+ date_string = re.sub(r"(?P<date>.\d{1,2})(st|nd|rd|th)", r"\g<date>", date_string)
59
57
 
60
58
  for strptime in SOLUTION_DATE_FORMATS:
61
59
  try:
@@ -99,8 +97,7 @@ def parse_args() -> Namespace:
99
97
  dest="threshold",
100
98
  type=int,
101
99
  default=12,
102
- help="The threshold after which to assume no solution "
103
- "will be provided anymore",
100
+ help="The threshold after which to assume no solution " "will be provided anymore",
104
101
  )
105
102
 
106
103
  parser.add_argument(
@@ -118,10 +115,7 @@ def parse_args() -> Namespace:
118
115
 
119
116
  def check_skip_script(file_content: str) -> bool:
120
117
  solution_type = SOLUTION_TYPE_PATTERN.search(file_content)
121
- if (
122
- solution_type
123
- and solution_type.group("value") != SOLUTION_TYPE_NONE_AVAILABLE
124
- ):
118
+ if solution_type and solution_type.group("value") != SOLUTION_TYPE_NONE_AVAILABLE:
125
119
  return True
126
120
 
127
121
  cvss = CVSS_PATTERN.search(file_content)
@@ -148,9 +142,7 @@ def extract_tags(content: str) -> Optional[Tuple[str, datetime, datetime]]:
148
142
  if not creation_match:
149
143
  return None
150
144
 
151
- creation_date = datetime.strptime(
152
- creation_match.group("value")[:10], CREATION_DATE_FORMAT
153
- )
145
+ creation_date = datetime.strptime(creation_match.group("value")[:10], CREATION_DATE_FORMAT)
154
146
 
155
147
  oid_match = OID_PATTERN.search(content)
156
148
  if not oid_match:
@@ -164,9 +156,7 @@ def extract_tags(content: str) -> Optional[Tuple[str, datetime, datetime]]:
164
156
  def get_no_solution_vts(
165
157
  files: Iterable[Path],
166
158
  ) -> Iterable[Tuple[Path, str, datetime, datetime]]:
167
- file_contents = (
168
- (file, file.read_text(encoding=CURRENT_ENCODING)) for file in files
169
- )
159
+ file_contents = ((file, file.read_text(encoding=CURRENT_ENCODING)) for file in files)
170
160
  return (
171
161
  (file, *extract_tags(content))
172
162
  for file, content in file_contents
@@ -191,22 +181,17 @@ def check_no_solutions(
191
181
  (
192
182
  milestone
193
183
  for milestone in milestones
194
- if solution_date
195
- < creation_date + timedelta(days=milestone * MONTH_AS_DAYS)
196
- and milestone * MONTH_AS_DAYS
197
- <= (datetime.now() - creation_date).days
184
+ if solution_date < creation_date + timedelta(days=milestone * MONTH_AS_DAYS)
185
+ and milestone * MONTH_AS_DAYS <= (datetime.now() - creation_date).days
198
186
  ),
199
187
  None,
200
188
  )
201
189
 
202
- if solution_date > creation_date + timedelta(
203
- days=last_milestone * MONTH_AS_DAYS
204
- ):
190
+ if solution_date > creation_date + timedelta(days=last_milestone * MONTH_AS_DAYS):
205
191
  milestone = last_milestone
206
192
 
207
193
  if not milestone or (
208
- milestone == last_milestone
209
- and (datetime.now() - solution_date) < snooze_duration
194
+ milestone == last_milestone and (datetime.now() - solution_date) < snooze_duration
210
195
  ):
211
196
  continue
212
197
 
@@ -255,8 +240,7 @@ def print_report(
255
240
  )
256
241
  else:
257
242
  term.bold_info(
258
- f"{len(vts)} VTs with no solution for "
259
- f"more than {milestone} month(s)"
243
+ f"{len(vts)} VTs with no solution for " f"more than {milestone} month(s)"
260
244
  )
261
245
 
262
246
  for vt, oid, creation, solution in vts:
@@ -265,9 +249,7 @@ def print_report(
265
249
  with term.indent():
266
250
  term.print(f"OID: {oid}")
267
251
  term.print(f"Created: {creation.strftime('%Y-%m-%d')}")
268
- term.print(
269
- f"Last solution update: {solution.strftime('%Y-%m-%d')}"
270
- )
252
+ term.print(f"Last solution update: {solution.strftime('%Y-%m-%d')}")
271
253
 
272
254
  term.print()
273
255
 
@@ -284,9 +266,7 @@ def main():
284
266
 
285
267
  term = ConsoleTerminal()
286
268
 
287
- print_info(
288
- term, milestones, arguments.threshold, arguments.snooze, root
289
- )
269
+ print_info(term, milestones, arguments.threshold, arguments.snooze, root)
290
270
 
291
271
  summary = check_no_solutions(files, milestones, arguments.snooze)
292
272
 
@@ -31,9 +31,7 @@ from troubadix.helper.patterns import (
31
31
  )
32
32
  from troubadix.standalone_plugins.common import git
33
33
 
34
- SCRIPT_VERSION_PATTERN = re.compile(
35
- r"^\+\s*" + SCRIPT_VERSION_ANY_VALUE_PATTERN, re.MULTILINE
36
- )
34
+ SCRIPT_VERSION_PATTERN = re.compile(r"^\+\s*" + SCRIPT_VERSION_ANY_VALUE_PATTERN, re.MULTILINE)
37
35
  SCRIPT_LAST_MODIFICATION_PATTERN = re.compile(
38
36
  r"^\+\s*" + LAST_MODIFICATION_ANY_VALUE_PATTERN, re.MULTILINE
39
37
  )
@@ -88,9 +86,7 @@ def check_version_updated(files: List[Path], commit_range: str) -> bool:
88
86
  if not files:
89
87
  files = [
90
88
  Path(f)
91
- for f in git(
92
- "diff", "--name-only", "--diff-filter=d", commit_range
93
- ).splitlines()
89
+ for f in git("diff", "--name-only", "--diff-filter=d", commit_range).splitlines()
94
90
  ]
95
91
 
96
92
  rcode = True
@@ -113,9 +109,7 @@ def check_version_updated(files: List[Path], commit_range: str) -> bool:
113
109
  )
114
110
 
115
111
  if not SCRIPT_VERSION_PATTERN.search(text):
116
- print(
117
- f"{nasl_file}: Missing updated script_version", file=sys.stderr
118
- )
112
+ print(f"{nasl_file}: Missing updated script_version", file=sys.stderr)
119
113
  rcode = False
120
114
 
121
115
  if not SCRIPT_LAST_MODIFICATION_PATTERN.search(text):
@@ -135,9 +129,7 @@ def main() -> int:
135
129
  git_base = git("rev-parse", "--show-toplevel")
136
130
  os.chdir(git_base.rstrip("\n"))
137
131
  except subprocess.SubprocessError:
138
- print(
139
- "Your current working directory doesn't belong to a git repository"
140
- )
132
+ print("Your current working directory doesn't belong to a git repository")
141
133
  return 1
142
134
 
143
135
  parsed_args = parse_args(args)
troubadix/troubadix.py CHANGED
@@ -98,10 +98,7 @@ def generate_patterns(
98
98
  def from_file(include_file: Path, term: Terminal) -> Iterable[Path]:
99
99
  """Parse the given file containing a list of files into"""
100
100
  try:
101
- return [
102
- Path(f)
103
- for f in include_file.read_text(encoding="utf-8").splitlines()
104
- ]
101
+ return [Path(f) for f in include_file.read_text(encoding="utf-8").splitlines()]
105
102
  except FileNotFoundError:
106
103
  term.error(f"File {include_file} containing the file list not found.")
107
104
  sys.exit(1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: troubadix
3
- Version: 25.12.4
3
+ Version: 26.1.0
4
4
  Summary: A linting and QA check tool for NASL files
5
5
  License: GPL-3.0-or-later
6
6
  License-File: LICENSE
@@ -0,0 +1,116 @@
1
+ troubadix/__init__.py,sha256=K7sIXXDrC7YRb7BvIpdQ6ZfG_QkT0qUH_wAlHROVRfM,716
2
+ troubadix/__version__.py,sha256=Cp9QkvisoG6GTt37BiiC5Mhyuj_IoWIhmGalrkYE_aY,103
3
+ troubadix/argparser.py,sha256=VVntELpTVfRMUFZT7VlIhWxomnO4qdpN_H4GLfD9-Wk,7383
4
+ troubadix/codespell/codespell.additions,sha256=_nGI5znfb2BRta4O0tubGYQSLjOusgqT_sz_HFZvbm8,585
5
+ troubadix/codespell/codespell.exclude,sha256=4arAzknuJxPvGz0-tAFp4A3_VLaPR4_XdUE7UfIAGRI,148629
6
+ troubadix/codespell/codespell.ignore,sha256=2CP8u6O2VENcDpt2FfEDNmfa1Eh3D80yeYHT54GM1X4,1512
7
+ troubadix/helper/__init__.py,sha256=tp2fPLzwGEA_2eiJbvuePiY6rjYSFxx7VUsCV4fSwvw,1110
8
+ troubadix/helper/date_format.py,sha256=DrZy5A8YTrqgkPlUA3USSphcKqSZKk7S7heQcGR5rtc,2454
9
+ troubadix/helper/helper.py,sha256=hoL725E5rIjgUS8tcWttXP_0gSlhcRc7Wvsn7KvMkps,3099
10
+ troubadix/helper/if_block_parser.py,sha256=jrD3KklKnBS8NgzA6HPNOCSJvvvLO2WFmmaIMdzFpeo,7924
11
+ troubadix/helper/linguistic_exception_handler.py,sha256=ydvNdF3LrCA_3EjofltUE1IQB4DwZ2iu0ZO-K_NnCIc,6703
12
+ troubadix/helper/patterns.py,sha256=dV6J9d5JOtE50r4Y5x-U7Fj9IRnMQsp1X4WhQMToNmc,9680
13
+ troubadix/helper/remove_comments.py,sha256=jB4nT8bY8A9mEeVzKpypYJPEF8h7ABx0CUYazR8J_uU,1210
14
+ troubadix/helper/text_utils.py,sha256=LOpabVTRgJmpUMvKDWvlALSvEeAQDV62vwBzTVMD2uo,3162
15
+ troubadix/plugin.py,sha256=tBteosz-soLPqY_AdjsCqN2qKaS5ahxcJ_hSoFlSPlY,3459
16
+ troubadix/plugins/__init__.py,sha256=5ks5gnSKdghUc8h1VTtnk-P8tnbf2DdqsNq7BMyFOds,8666
17
+ troubadix/plugins/badwords.py,sha256=E_YBoD-6xEDqp5N7TlU5mJu6fWReTydAgtaweLDpTpc,4864
18
+ troubadix/plugins/copyright_text.py,sha256=0dQH5-E6cxNJLFZLzGzUvtrFAXVsIwpqVP4hv8zXCxo,3549
19
+ troubadix/plugins/copyright_year.py,sha256=7fA_EHphxlIgOhkDPJ2FJlcGzF0t8CKtCdlOCw93A-M,5398
20
+ troubadix/plugins/creation_date.py,sha256=kGfFQVJqwO36GJcA0ByPqZ42mspeGcuLJAA3xyW50aE,2337
21
+ troubadix/plugins/cve_format.py,sha256=Ue6b9RzuQZWOdBd6y5ruqdEq2zyRb2_FSUQScnjHOUQ,3400
22
+ troubadix/plugins/cvss_format.py,sha256=hmObghOvp0Gw3yn-wAJnHTwjcjILaVljyvfldxi_pmA,1904
23
+ troubadix/plugins/dependencies.py,sha256=6ugVY10zA7LKM4PVnUtbEcCB58yDGW8D4MucWIkZg-o,4044
24
+ troubadix/plugins/dependency_category_order.py,sha256=3JqexxSD4u4SL0NjK1ZEdagjHEh01a6gW6s3bpNdSTM,6802
25
+ troubadix/plugins/deprecated_dependency.py,sha256=tNc0vY64ueXZjG5zUx1cIU7qTLD3VbV_YfKLgi_oL18,3603
26
+ troubadix/plugins/deprecated_functions.py,sha256=6gkwF1oXuWD0TGtjd6z9Y0OFJhr-N5qSXngpZoG8Rs8,2548
27
+ troubadix/plugins/double_end_points.py,sha256=RpZGQzCliUrCaO-Q3hAXw_9nrZ6Embl5dksBozFZnf0,2403
28
+ troubadix/plugins/duplicate_oid.py,sha256=dWxvQSW2kTiDGMs5-Zzpn1Dunx9mYkYfB89UCWZo9zQ,2622
29
+ troubadix/plugins/duplicated_script_tags.py,sha256=UPBR2jbU15JLKJlVk1e2GFREH5Wj5Ax2yDFrmRKq74Y,3123
30
+ troubadix/plugins/encoding.py,sha256=Ow_ZpyjtL2_nqhbukY_3EUhiR0agfSxMxJ4IcMSGsT4,2768
31
+ troubadix/plugins/forking_nasl_functions.py,sha256=HXnlyR5yGVUYvzIOUKVRy2VPfuZc5uoehDt-HkEXo7k,6033
32
+ troubadix/plugins/get_kb_on_services.py,sha256=1wLMohNZoEg1P7DiCRcpe6639SfvOsSMZWTta12VmgQ,3365
33
+ troubadix/plugins/grammar.py,sha256=2_kSHN_kIFh3op4Ar6-rDyvf7E9suygxyhJlqCUzNzI,10917
34
+ troubadix/plugins/http_links_in_tags.py,sha256=SWugC4KC0XdUlENpQ1edI9xZ6wGb9crV4WYFnvk0gJ4,7485
35
+ troubadix/plugins/if_statement_syntax.py,sha256=5BRJwCCghvZn1AfvYzmk8l9S7aRqbVaLHhSKod_Q9zw,1429
36
+ troubadix/plugins/illegal_characters.py,sha256=9HgBcjDxzxBKplNy64hf4zz6uUiQYxKoVHGllDoBZjM,4240
37
+ troubadix/plugins/log_messages.py,sha256=ST5pwr8cZNMgxdMiSV2wm3jCFG34Rxd-6y-ozIcI070,2948
38
+ troubadix/plugins/malformed_dependencies.py,sha256=El9v-Hlc3rMzXFNyW-1WZrTcJWXTGURErWc92Jpopis,2962
39
+ troubadix/plugins/misplaced_compare_in_if.py,sha256=lqiKk09ksmaavhFhxfivttIQKXEr-nwYHHyhtVxPJJQ,4826
40
+ troubadix/plugins/missing_desc_exit.py,sha256=YwZlSY1RTTTBa_EBK6JAzCg9_jlCs8Oyp5pclNY-UkI,2381
41
+ troubadix/plugins/missing_tag_solution.py,sha256=iO7_6Us3w12AVPuiGK3AUU3S62K1lcZvcGK_-fvvQtk,2828
42
+ troubadix/plugins/multiple_re_parameters.py,sha256=cfylzQNmQXum4R9GsoS2E7BucljhwlAokim0v0NDdj4,1402
43
+ troubadix/plugins/newlines.py,sha256=2Uqsb4lG7rXEoCZD3Tdoku4YmB7WGqLQUPC3tJiEEso,2772
44
+ troubadix/plugins/overlong_description_lines.py,sha256=0fs-5MePqRuIN6Mng71Xb7G2Ekc4t7fWVkR9mHXcpGw,3291
45
+ troubadix/plugins/overlong_script_tags.py,sha256=LKJQxX9s2fkExkM0MOIqYZGOKbEe9eth7DEcxFo3A8k,2356
46
+ troubadix/plugins/prod_svc_detect_in_vulnvt.py,sha256=5NX335QQLquxNamNt0_WGDpvB-XgNguv-77neEnKmx8,4234
47
+ troubadix/plugins/qod.py,sha256=OMEjZR3fbimLX4F3LsMZZn4IZi32j4soMYp1uQFv5Sc,4164
48
+ troubadix/plugins/reporting_consistency.py,sha256=yp4FQ8T6gVPzLDF5334mGG5m8n9x8c2I_ApfHzZpVRA,4024
49
+ troubadix/plugins/script_add_preference_id.py,sha256=ra_HROAarILUGFGKHgBlFet3gCRMPNML835IONiRbTU,1597
50
+ troubadix/plugins/script_add_preference_type.py,sha256=iyOC8DCyj0cAXFXFiUYWf1Wz79GLHMnGWOtGleItTnU,3589
51
+ troubadix/plugins/script_calls_empty_values.py,sha256=_MJ0hCb-VZzrnnzjPBaQrQvdbH4iOyxwcPcXtAZzbjw,2512
52
+ troubadix/plugins/script_calls_recommended.py,sha256=VI7iTQWGixV3m6pzgAzCaKHhjAtla22QQeS_4_moWLI,3138
53
+ troubadix/plugins/script_category.py,sha256=EsFoR6fKjnJNNJb2gLkftwXDhJ3RCfa5g8796N-jxX8,2184
54
+ troubadix/plugins/script_copyright.py,sha256=TcWw7D4WIYuD3XGKQ-gfPbd_px_iLXE68gwl5l7kdcE,2288
55
+ troubadix/plugins/script_family.py,sha256=A7V6OwuJfzemHhZ2NrJdwW5XtYfcKTLgqEvJkD5lJaM,4082
56
+ troubadix/plugins/script_tag_form.py,sha256=k0PQv1LOTQVbs16X9RRYSV4vywl_AUCXa215w32FwI0,1735
57
+ troubadix/plugins/script_tag_whitespaces.py,sha256=pOUcJpxK4RfWvb0poq28BHiHPOFqHy7BNNJVk7gSxJE,2275
58
+ troubadix/plugins/script_tags_mandatory.py,sha256=qNRNEcMxw75aoNOue9tZIiGC7EdHNYUb5K7Q5rucAD8,2645
59
+ troubadix/plugins/script_version_and_last_modification_tags.py,sha256=MY05rTqviaP1tzsCD4fJRUD5d_zwVAU3dHNHuh8aOaA,7508
60
+ troubadix/plugins/script_xref_form.py,sha256=cJsn2JNF39mY74Kc9fo-6o27PUdqCnlYH_2bjw-KxRU,1802
61
+ troubadix/plugins/script_xref_url.py,sha256=gXDRgwewWKO1rsREUPm1yPKEq58iD7bQSyOotftI6YA,5317
62
+ troubadix/plugins/security_messages.py,sha256=tfuyoPf937XqH9-GlhKNOntF9BjpKYDOFdQR9DRh5-A,4501
63
+ troubadix/plugins/set_get_kb_calls.py,sha256=WGu1CKLjn3VhbDo33IJ4TtWQ-kz9gInkJskTqOSMM6k,3415
64
+ troubadix/plugins/severity_date.py,sha256=wewIeZxTFi_42ZBCrxonmBUKH0mxuD0UELH-h_czpFg,1426
65
+ troubadix/plugins/severity_format.py,sha256=J9j6sKsjQwaPJsnnBQLU2OO76ABKTVwFqZy5gGTRv30,958
66
+ troubadix/plugins/severity_origin.py,sha256=MAZK3OXa03omJiK1vWhfl4I186pgvMhjAj-e_yvl3kA,958
67
+ troubadix/plugins/solution_text.py,sha256=xUe1wkA-5k3wNMeSA2ZCnicD3SF2kK3DPhWuKkUPelk,5808
68
+ troubadix/plugins/solution_type.py,sha256=5MxR_cRNpKka3-bPbyA0LaPL7QuLgRE7-6KShN1p9iQ,2590
69
+ troubadix/plugins/spaces_before_dots.py,sha256=mP1zplgOT5KAt36Og34MQRFHXodWnIrrc7WkkPDo6_w,4766
70
+ troubadix/plugins/spaces_in_filename.py,sha256=vQFtzNsIalQTwWc_i6ZTEnLhF-htyW5aR_JwVpxE0DA,595
71
+ troubadix/plugins/spelling.py,sha256=8x_4OTZAyofk_aoKkuLipl4WPgKhaR8nLnRRXn7KyLU,9497
72
+ troubadix/plugins/tabs.py,sha256=7zXaTZe4cZoZvrLyqntVfTeNN_W3D8dfQl67QevXxtc,1319
73
+ troubadix/plugins/todo_tbd.py,sha256=MN5fFwBhPmt3JDQ2Hx20B8yUy1vz7LIZC3rDIOzfW9M,1758
74
+ troubadix/plugins/trailing_spaces_tabs.py,sha256=BSec5a8Xrf35fxBEpGprmg_WEATuT7JxagEdbd6dK1w,1835
75
+ troubadix/plugins/using_display.py,sha256=THHw0zOoEPeMwz3ftN2M6w09EdlNcy7IebKG6IWXH1A,3674
76
+ troubadix/plugins/valid_oid.py,sha256=eiItF9BVWlaUFKmtn8KH41X7a38MGn3LDBDuw0TvtA8,17850
77
+ troubadix/plugins/valid_script_tag_names.py,sha256=pxYxEERDgimarP4R8vIlVMe3oMlUh-trR2n1I8X10l4,3401
78
+ troubadix/plugins/variable_assigned_in_if.py,sha256=M9dqY5kugKSvP9Ahdfm2SC0ou36NmNVy4dNv9HljJXw,3203
79
+ troubadix/plugins/variable_redefinition_in_foreach.py,sha256=DhABvLQIPdB1ezwvAOQHtOSQJZhMSAwTb7ky7nrXN0k,2450
80
+ troubadix/plugins/vt_file_permissions.py,sha256=-8rOUD0NpRwB0Ec5oQCcVpDVAaZqsUopqpGPB1To6fY,1521
81
+ troubadix/plugins/vt_placement.py,sha256=R3v2-iguzT7sP-gWw0AQr0wIUylF9dOCat5fyW66E_c,2720
82
+ troubadix/reporter.py,sha256=sPgJPQvF1IILgo5X2psiWctaEKGZLL3CC4Doy_11ZjA,9110
83
+ troubadix/results.py,sha256=jILEBvV9TMSlYba3R0lFXHy1DWdcJkAZkWCInzdysQ4,2523
84
+ troubadix/runner.py,sha256=Ua5BlR3lSLf3PhgwI1dYCv8ilM3Me5RTYKhTnaahzCw,5039
85
+ troubadix/standalone_plugins/__init__.py,sha256=kUR5RAFc7HCeiqdlX36dZOHkUI5wI6V_43RpEcD8b-0,22
86
+ troubadix/standalone_plugins/allowed_rev_diff.py,sha256=WTQFfO1QZF-H8GptcR1UEhhsuQC35suhNmS-Cu-YVzQ,4009
87
+ troubadix/standalone_plugins/changed_creation_date.py,sha256=gx-fCxQ4tKR_gbGRUvVJ7Ryo771pnbZU_ukVolwd4Uo,3468
88
+ troubadix/standalone_plugins/changed_cves.py,sha256=Qc3gdeJHfioD2UfG4PW1wrj_YKfKQcc3ocdFHgxc8Lk,2857
89
+ troubadix/standalone_plugins/changed_oid.py,sha256=2tGp0NWBE3m3xDDfeRI5VXNbvTW210OEKx3lwJzgbpE,3882
90
+ troubadix/standalone_plugins/changed_packages/changed_packages.py,sha256=O-k79wkeCVsKimBsONfKgoI5GYG3jpCFx4hU9B9qpoU,5690
91
+ troubadix/standalone_plugins/changed_packages/marker/__init__.py,sha256=Le59j2KcaXez1MIPjZ8GDJmSuLGkOVI3k2-BWO30Bc0,993
92
+ troubadix/standalone_plugins/changed_packages/marker/added_epoch.py,sha256=PfnG5B1v8SwOJw3ez-eb794PT7k-O4hJKDHMSd9lwNo,1797
93
+ troubadix/standalone_plugins/changed_packages/marker/added_release.py,sha256=W5YXSu1V2dMn8rIlJinYGRs42NZ8qGJOh53lncK3pVM,1486
94
+ troubadix/standalone_plugins/changed_packages/marker/added_udeb.py,sha256=EqSv7cF9vX1YmtT_WymrRPlcCqhYoXHvVLlJ6wBSKs4,1124
95
+ troubadix/standalone_plugins/changed_packages/marker/changed_update.py,sha256=A6nU6-itA32_PEvPSyaSd6pqSFqGc0R6BBvob1YzCCU,1906
96
+ troubadix/standalone_plugins/changed_packages/marker/dropped_architecture.py,sha256=VWEhhf3aia0orj_ISK1-1r0NJIOgCVbHTylP6h-pfXg,1602
97
+ troubadix/standalone_plugins/changed_packages/marker/marker.py,sha256=7uZXR2Ds_8soB_2wugCkOSz_3hoX03KMh2NAW0G5Dzg,1278
98
+ troubadix/standalone_plugins/changed_packages/package.py,sha256=KC1btPysu_r5KkLrJiOLmp8qVerWkls1-fOv6n7J1NE,2701
99
+ troubadix/standalone_plugins/common.py,sha256=PkScV-lisNY4WyrzwjV3dK1DF26hJv5JXTcREblJ0v0,1028
100
+ troubadix/standalone_plugins/dependency_graph/__init__.py,sha256=SQSaQXWmpq5-5ozpqMgvnvoYTK8oj64A5kie1m_5bWQ,88
101
+ troubadix/standalone_plugins/dependency_graph/checks.py,sha256=riE0miS5gQsynSBDK0LRlHLtVyUI1Q8mAttIY_mIOqQ,3998
102
+ troubadix/standalone_plugins/dependency_graph/cli.py,sha256=RIyGeSm83XJ88N7Ati6z417hXkMajzzAtqdxnOg-urI,1305
103
+ troubadix/standalone_plugins/dependency_graph/dependency_graph.py,sha256=qevcgWF-vVvU9rY34TeCLBhEJQGyL0Ze_kFt853AfzA,5458
104
+ troubadix/standalone_plugins/dependency_graph/models.py,sha256=7kLrjFRdyReTRTgxte6-3KCBve4evg91AcqkX4I8VJU,1002
105
+ troubadix/standalone_plugins/deprecate_vts.py,sha256=0IhSpk6Dk63suus1xVRwGiXJ_I1Bl_OaukSn8xg6kIM,9462
106
+ troubadix/standalone_plugins/file_extensions.py,sha256=6r8ex2qfsRKVVMQ9lUubIdrWUDhz6QpWspnT9E04Ako,2297
107
+ troubadix/standalone_plugins/last_modification.py,sha256=U6eP0c-ZcQkM7iuZlrQqecBX2WtavPdLbt2atr_ZBnc,4280
108
+ troubadix/standalone_plugins/no_solution.py,sha256=bzKU1cAn_PtZrARsg8WEkHkxX3aErPIP0hp7Jtei9C4,8544
109
+ troubadix/standalone_plugins/util.py,sha256=JTXGmi-_BJouTNe6QzEosLlXUt9jKW-3fz4db05RJJw,696
110
+ troubadix/standalone_plugins/version_updated.py,sha256=SVGxIY35AqCfWl7Bl_8uUA5uuN3z6WrrY0mkjp3-DKQ,4115
111
+ troubadix/troubadix.py,sha256=tLYO_J5Wh3KQ9b45UCVAbF31R2990R1UFi_3dkBgcV8,6005
112
+ troubadix-26.1.0.dist-info/METADATA,sha256=K_LusmbkrEUC-_6kgZPI1u4nQeSc4DLSHzjj3qsxPUo,4535
113
+ troubadix-26.1.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
114
+ troubadix-26.1.0.dist-info/entry_points.txt,sha256=ETEPBi4fKv3o7hzkzceX4838G6g5_5wRdEddYot8N6A,920
115
+ troubadix-26.1.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
116
+ troubadix-26.1.0.dist-info/RECORD,,
@@ -1,116 +0,0 @@
1
- troubadix/__init__.py,sha256=K7sIXXDrC7YRb7BvIpdQ6ZfG_QkT0qUH_wAlHROVRfM,716
2
- troubadix/__version__.py,sha256=O02hJbTZlTup2mh9xuF6iy5Mnxf_koOOA3Xa0WzShAA,104
3
- troubadix/argparser.py,sha256=-H07Jhqh68_M4Mbjq9qJjTr3MShy_N2pxl2qHA6cfRU,7481
4
- troubadix/codespell/codespell.additions,sha256=_nGI5znfb2BRta4O0tubGYQSLjOusgqT_sz_HFZvbm8,585
5
- troubadix/codespell/codespell.exclude,sha256=4arAzknuJxPvGz0-tAFp4A3_VLaPR4_XdUE7UfIAGRI,148629
6
- troubadix/codespell/codespell.ignore,sha256=2CP8u6O2VENcDpt2FfEDNmfa1Eh3D80yeYHT54GM1X4,1512
7
- troubadix/helper/__init__.py,sha256=tp2fPLzwGEA_2eiJbvuePiY6rjYSFxx7VUsCV4fSwvw,1110
8
- troubadix/helper/date_format.py,sha256=2m8EWZPmTQ1kxgv4i5hrPoPlAA8usjz28aRff352zNU,2488
9
- troubadix/helper/helper.py,sha256=GXapYLii2rLKwkX2ok31YoAdUSizBnyPjWz-aPP6HM8,3105
10
- troubadix/helper/if_block_parser.py,sha256=_51UlsYrELt4GwWzJIU7qc7HIZPdpmExLG8WM8xtjTg,8294
11
- troubadix/helper/linguistic_exception_handler.py,sha256=Bq7ULjDdWTKUpFNTUX6XMPdD4s4v8eIjZPyqBe8VLws,6811
12
- troubadix/helper/patterns.py,sha256=qhiAtNQs89Hk6-yRGrjjRO4DdVIMhYLd8IEQ48REpu4,9752
13
- troubadix/helper/remove_comments.py,sha256=zjhXPQXgKaEOparAdu4aBXcJlEul8LbNaP3uLCYGwHw,1244
14
- troubadix/helper/text_utils.py,sha256=YM0qaiBDsWJSUkQoRPFjVGEvQsLVDxN90GwNb240Lb8,3184
15
- troubadix/plugin.py,sha256=3fQPj3Qe_hgwHerlYE4hbdzYMzRU557NxJ-UwtE9mOI,3525
16
- troubadix/plugins/__init__.py,sha256=C6ym0txssNcF7a4MiSl6uhDOeWYL3b-GcTa03pm5Edk,8842
17
- troubadix/plugins/badwords.py,sha256=ppTJT7yl6kPo51PT-mHxpbmuKMJpBgEKzLDU0sLktig,5014
18
- troubadix/plugins/copyright_text.py,sha256=jYsLWmTbT_A78XQQxQFK-5kMMHkh3xdvlh7mEF2dZGU,3583
19
- troubadix/plugins/copyright_year.py,sha256=XzM9MHVzOXwNLwHpfuaWj8PUOmswr56SBVOLBdvxjd4,5478
20
- troubadix/plugins/creation_date.py,sha256=PRM5z_7cgQhRQ7Kx7ufF8E8LzVNGP5hLSeH25UWJEn8,2403
21
- troubadix/plugins/cve_format.py,sha256=Ue6b9RzuQZWOdBd6y5ruqdEq2zyRb2_FSUQScnjHOUQ,3400
22
- troubadix/plugins/cvss_format.py,sha256=KxZ1n_4hU4BCxlABD1rsHrQMHlEElOWcxr-802ItgFI,1926
23
- troubadix/plugins/dependencies.py,sha256=zLCioIiHlBYO6ViO3vXOIQboESyHaIQ9y6pSuoYP9aU,4118
24
- troubadix/plugins/dependency_category_order.py,sha256=CrEWJHDeuD4zdSnKghsjf_D5EICQDN2Dv72OsVrYgnU,7010
25
- troubadix/plugins/deprecated_dependency.py,sha256=TFTe9fO4A0S3JTXpxdHaVnQ9ZSHR3lLQjggS_FjGY-s,3831
26
- troubadix/plugins/deprecated_functions.py,sha256=6e46woXd-3hUBnnuIXLlaqlcP6F7c99Y0ZGeXfsbQYc,2568
27
- troubadix/plugins/double_end_points.py,sha256=1TLVc8HFYEKS870zaIoKmsAjBsRU9WZpaMKReRDUoLo,2509
28
- troubadix/plugins/duplicate_oid.py,sha256=lemYl3CUoOMFtRTLnlfjwPptnN51sQby3D9YjFtOv2Q,2652
29
- troubadix/plugins/duplicated_script_tags.py,sha256=UPBR2jbU15JLKJlVk1e2GFREH5Wj5Ax2yDFrmRKq74Y,3123
30
- troubadix/plugins/encoding.py,sha256=Ow_ZpyjtL2_nqhbukY_3EUhiR0agfSxMxJ4IcMSGsT4,2768
31
- troubadix/plugins/forking_nasl_functions.py,sha256=IUtCrTK_sGDx79jAPS8lF_aN8zSG2AkzfC6duTMvJOw,6069
32
- troubadix/plugins/get_kb_on_services.py,sha256=oFmcjiF7ZD3x5tEbJEoZNn80y1qUzNgeSZNsogSqaZ0,3401
33
- troubadix/plugins/grammar.py,sha256=Sz9TgbdLcKlEbCdI7z1LCicH-e7GI-fXSbr34YOYGKU,11013
34
- troubadix/plugins/http_links_in_tags.py,sha256=MmjMkjjlhLDrn-GvYQhPuXR4BSHImOrYi_nede-H-8w,7507
35
- troubadix/plugins/if_statement_syntax.py,sha256=5BRJwCCghvZn1AfvYzmk8l9S7aRqbVaLHhSKod_Q9zw,1429
36
- troubadix/plugins/illegal_characters.py,sha256=B6q_RU85AxCjLry56Oc-RhMSpnJU8mTrxclRzi1FVFU,4406
37
- troubadix/plugins/log_messages.py,sha256=COrnp3bXMG8PRIAD2x5Ka9hk-jI16We9ifXj6JBZI0c,2960
38
- troubadix/plugins/malformed_dependencies.py,sha256=96W5RJX8CbMkprA2M601qVLgBV-ibJ96bAmtyoSrgFw,3000
39
- troubadix/plugins/misplaced_compare_in_if.py,sha256=lqiKk09ksmaavhFhxfivttIQKXEr-nwYHHyhtVxPJJQ,4826
40
- troubadix/plugins/missing_desc_exit.py,sha256=GAd4FXhjX1ZEkb4hz3HqqDQVSxfuXVtuKKjLgwHROXk,2411
41
- troubadix/plugins/missing_tag_solution.py,sha256=iO7_6Us3w12AVPuiGK3AUU3S62K1lcZvcGK_-fvvQtk,2828
42
- troubadix/plugins/multiple_re_parameters.py,sha256=9NugrcdHBmX2UO9mOuWiqxbIX1sXniZ2AhSW2pguSBE,1422
43
- troubadix/plugins/newlines.py,sha256=aEQOzkzd3rl9DjEi7q0EOB1M8h41WXr0O5Qf4jMFEvM,2788
44
- troubadix/plugins/overlong_description_lines.py,sha256=qBGlZpZn-WToJQhBpPMkHLvHjXpPtasvKS3PrtqtBOc,3345
45
- troubadix/plugins/overlong_script_tags.py,sha256=LKJQxX9s2fkExkM0MOIqYZGOKbEe9eth7DEcxFo3A8k,2356
46
- troubadix/plugins/prod_svc_detect_in_vulnvt.py,sha256=AnHF5jPNz4wEr-etZ2fkJNqqMH2he-9ofOdzWJyPeK4,4292
47
- troubadix/plugins/qod.py,sha256=OMEjZR3fbimLX4F3LsMZZn4IZi32j4soMYp1uQFv5Sc,4164
48
- troubadix/plugins/reporting_consistency.py,sha256=yp4FQ8T6gVPzLDF5334mGG5m8n9x8c2I_ApfHzZpVRA,4024
49
- troubadix/plugins/script_add_preference_id.py,sha256=LcmvhMLnYNqEp3S1j9HdMZ1w-cUWdmMTlts8Pru0aR8,1669
50
- troubadix/plugins/script_add_preference_type.py,sha256=PHySUVWqI8dG51xI0CIzaB2a83GicCryPtbcugE8jgE,3643
51
- troubadix/plugins/script_calls_empty_values.py,sha256=XdtqTGWI3k_3eId-XAgxwXLxucENqC5CIQJG8Ncn1_M,2512
52
- troubadix/plugins/script_calls_recommended.py,sha256=GHnfCKBlmutfCXrkvvujvDR7TJDxr2Dx2KZDMa1z_TU,3180
53
- troubadix/plugins/script_category.py,sha256=EsFoR6fKjnJNNJb2gLkftwXDhJ3RCfa5g8796N-jxX8,2184
54
- troubadix/plugins/script_copyright.py,sha256=z8TjoDDMonne1xEUjEmwOVKvuGJ0CkEk9rtrNBoiKCY,2310
55
- troubadix/plugins/script_family.py,sha256=Nhro0DrGm7MLaLZWYEMPGKZg5xDjoCoUotyOMS8Ml80,4098
56
- troubadix/plugins/script_tag_form.py,sha256=J5vZcwgvvyeMa4sulfQinEQpU7braKhDWdZ9j3UfoM0,1773
57
- troubadix/plugins/script_tag_whitespaces.py,sha256=2ZqiNufPIyr5Wmcuap3Wy8RXO_CHGUepvYOL_2za59c,2319
58
- troubadix/plugins/script_tags_mandatory.py,sha256=NTAxypWalrfyd2YjzK-kH4BHeah4MZiFNeyNaKHNz-c,2695
59
- troubadix/plugins/script_version_and_last_modification_tags.py,sha256=Yz9dQwrsRfIqXwPd8Re8aDu--SBjgufWOA6U7tW4JW4,7638
60
- troubadix/plugins/script_xref_form.py,sha256=5L1KPUHiKbe-71o-X0cUBT844XvIOsAJbB14gnYTod0,1848
61
- troubadix/plugins/script_xref_url.py,sha256=niUIbMhB8KDo98eKSAHJTUNnHtV2NRl18-dX2fuPmP0,5347
62
- troubadix/plugins/security_messages.py,sha256=EPu3-YB0iP5_hfbQjrfvvTrQRiPgDjC85GTz3V-by0Q,4629
63
- troubadix/plugins/set_get_kb_calls.py,sha256=WGu1CKLjn3VhbDo33IJ4TtWQ-kz9gInkJskTqOSMM6k,3415
64
- troubadix/plugins/severity_date.py,sha256=PtVQrZfJNZ23FO-hDFbAaA5YZdv5gm4Se0llFL7sKLM,1492
65
- troubadix/plugins/severity_format.py,sha256=5NSuAE8HH5BesDtVfbuLCv0Dd9PGw9jNRKXPvKhr0oQ,980
66
- troubadix/plugins/severity_origin.py,sha256=OsHfkLPLd8UQkEyBXcJ8v_woV1aL-iTSXexTq_4_Y0I,980
67
- troubadix/plugins/solution_text.py,sha256=4Gs84Qsyg-1iTDP7Y7o8Bo5AH4hKlwGPW0NfwMpx2fU,5852
68
- troubadix/plugins/solution_type.py,sha256=6wq7lj0bCL6tTaZ-d_aGKq6a_jVlCD73GltHJsJhmm8,2602
69
- troubadix/plugins/spaces_before_dots.py,sha256=8metqLHLN3y259CzZckrglatwA0Uwn4mvV_bkFZZbT4,4844
70
- troubadix/plugins/spaces_in_filename.py,sha256=v8OqzzZSeI4_iXATHYzkf-HoAMxc_xb2Nj0HPAVevpk,611
71
- troubadix/plugins/spelling.py,sha256=3AW5sNtLL67OthKLaCH_y2HCVJ5YH_eyF9xjTJMIDG4,9593
72
- troubadix/plugins/tabs.py,sha256=7zXaTZe4cZoZvrLyqntVfTeNN_W3D8dfQl67QevXxtc,1319
73
- troubadix/plugins/todo_tbd.py,sha256=MN5fFwBhPmt3JDQ2Hx20B8yUy1vz7LIZC3rDIOzfW9M,1758
74
- troubadix/plugins/trailing_spaces_tabs.py,sha256=nMly8ZsmGprxHvwCDclKBDRB0eq6JEkjERYKvtStkY4,1873
75
- troubadix/plugins/using_display.py,sha256=jCl55MXujaO4VlwN_yex269CKnH-oHiMeq8WqvDmGRI,3760
76
- troubadix/plugins/valid_oid.py,sha256=-V38BX8AttZ1iiHsNelnynL9oBBr6Arws1RriLnI7ys,17712
77
- troubadix/plugins/valid_script_tag_names.py,sha256=6uMJsBdV-Zx-k1F2_MWmQPHXNo1u0ifuosbftbg-27E,3447
78
- troubadix/plugins/variable_assigned_in_if.py,sha256=NNz8iuzyQ4rSM6My4WYC1s5TABQqgs7us15PkDA-VV0,3285
79
- troubadix/plugins/variable_redefinition_in_foreach.py,sha256=SfaA70TkpD9dsvNbhwJEA3eLAHWvj4YwksN-qeBMowg,2470
80
- troubadix/plugins/vt_file_permissions.py,sha256=-8rOUD0NpRwB0Ec5oQCcVpDVAaZqsUopqpGPB1To6fY,1521
81
- troubadix/plugins/vt_placement.py,sha256=m9AaswV2w6Qk_EaG_KuO82OUzIAyIBpXoTW0T4Ya76Y,2800
82
- troubadix/reporter.py,sha256=ljZReqAHY8I4C0ROB-A7bBB5xsksG_y7bEgPFzLn_A8,9288
83
- troubadix/results.py,sha256=PAe3n0A99XXNYeP8gLliuDFt0V9J5a7oPun_bKU4LG4,2599
84
- troubadix/runner.py,sha256=RHyZe7YMBzJpCGBVfBUg2BMkVi13CmI9u0DVG2z4518,5195
85
- troubadix/standalone_plugins/__init__.py,sha256=kUR5RAFc7HCeiqdlX36dZOHkUI5wI6V_43RpEcD8b-0,22
86
- troubadix/standalone_plugins/allowed_rev_diff.py,sha256=5Zc8xTZlkMOPVNRdxNkosFFtwaQ6J8RiJYzaYXEuN40,4145
87
- troubadix/standalone_plugins/changed_creation_date.py,sha256=6iaWnvWPlhkAM2FKtBVgEZOsMIctz3f6dgPR4k2LcTY,3518
88
- troubadix/standalone_plugins/changed_cves.py,sha256=nEWwDa33QXekvpwcmnGMrdPHrJISz9p9j6lX09teDlk,2921
89
- troubadix/standalone_plugins/changed_oid.py,sha256=9eLvuBuPgZYnHHst-Y-J0TgCcgwmlOWjszWJ57kG9cg,3934
90
- troubadix/standalone_plugins/changed_packages/changed_packages.py,sha256=tyNwpJgaZS2o0X6xywXAQ_i7LB9HsEQYbDZ3Tcvtsdo,5742
91
- troubadix/standalone_plugins/changed_packages/marker/__init__.py,sha256=Le59j2KcaXez1MIPjZ8GDJmSuLGkOVI3k2-BWO30Bc0,993
92
- troubadix/standalone_plugins/changed_packages/marker/added_epoch.py,sha256=PfnG5B1v8SwOJw3ez-eb794PT7k-O4hJKDHMSd9lwNo,1797
93
- troubadix/standalone_plugins/changed_packages/marker/added_release.py,sha256=W5YXSu1V2dMn8rIlJinYGRs42NZ8qGJOh53lncK3pVM,1486
94
- troubadix/standalone_plugins/changed_packages/marker/added_udeb.py,sha256=EqSv7cF9vX1YmtT_WymrRPlcCqhYoXHvVLlJ6wBSKs4,1124
95
- troubadix/standalone_plugins/changed_packages/marker/changed_update.py,sha256=Gag73zgAVYn25HBBwZQM08xkySfXupQViiTeGpsIjMs,1952
96
- troubadix/standalone_plugins/changed_packages/marker/dropped_architecture.py,sha256=NrW5naBaMgV4_AuCxCGJ64RH_qBuYJp_KOzW-ixap9U,1634
97
- troubadix/standalone_plugins/changed_packages/marker/marker.py,sha256=7uZXR2Ds_8soB_2wugCkOSz_3hoX03KMh2NAW0G5Dzg,1278
98
- troubadix/standalone_plugins/changed_packages/package.py,sha256=Pcr2tcwiPTzD3jB0iteqA7-TajL-dl5Onh1dvC_H9xk,2743
99
- troubadix/standalone_plugins/common.py,sha256=PkScV-lisNY4WyrzwjV3dK1DF26hJv5JXTcREblJ0v0,1028
100
- troubadix/standalone_plugins/dependency_graph/__init__.py,sha256=SQSaQXWmpq5-5ozpqMgvnvoYTK8oj64A5kie1m_5bWQ,88
101
- troubadix/standalone_plugins/dependency_graph/checks.py,sha256=O4KyiVKpKxrgdmADXiduKY794nZndyy7epilbbY7JLo,4074
102
- troubadix/standalone_plugins/dependency_graph/cli.py,sha256=RIyGeSm83XJ88N7Ati6z417hXkMajzzAtqdxnOg-urI,1305
103
- troubadix/standalone_plugins/dependency_graph/dependency_graph.py,sha256=_4x_btU9GTdh5MZw56R7hfUwpdejNa2iXXxRRIPiEGU,5536
104
- troubadix/standalone_plugins/dependency_graph/models.py,sha256=7kLrjFRdyReTRTgxte6-3KCBve4evg91AcqkX4I8VJU,1002
105
- troubadix/standalone_plugins/deprecate_vts.py,sha256=2Lk7aPVsD8iUWSglSr46bcibnxG1KsWsKB9CA1TsmwQ,9528
106
- troubadix/standalone_plugins/file_extensions.py,sha256=fqswrhCcQqygIszcnobS9hFQmSpv3gDkvlufoaTckBg,2355
107
- troubadix/standalone_plugins/last_modification.py,sha256=ROzwVzzYilXJ0llVt4Lv0w8b9BJKoahl6YxPDiub614,4338
108
- troubadix/standalone_plugins/no_solution.py,sha256=p_-az9Igl4GH6HnhLLYbYlWIiEP64OTQLpX-z3JAshs,8760
109
- troubadix/standalone_plugins/util.py,sha256=JTXGmi-_BJouTNe6QzEosLlXUt9jKW-3fz4db05RJJw,696
110
- troubadix/standalone_plugins/version_updated.py,sha256=6YHF0OjL5NWszQdsSh7XzlSji1e6Uaqwu_Y6m3R0mvI,4203
111
- troubadix/troubadix.py,sha256=5__Jz3bYSrya4aG6RCBWxqnsDepXfwXZ3v0bjCzEFi0,6039
112
- troubadix-25.12.4.dist-info/METADATA,sha256=R5Lc78uTVO480F6yPLL6QfFZWaxTWcuk_0RttFlfDDM,4536
113
- troubadix-25.12.4.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
114
- troubadix-25.12.4.dist-info/entry_points.txt,sha256=ETEPBi4fKv3o7hzkzceX4838G6g5_5wRdEddYot8N6A,920
115
- troubadix-25.12.4.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
116
- troubadix-25.12.4.dist-info/RECORD,,