PyFunceble-dev 4.4.2__py3-none-any.whl → 4.4.3__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 (264) hide show
  1. PyFunceble/__init__.py +1 -1
  2. PyFunceble/checker/__init__.py +1 -1
  3. PyFunceble/checker/availability/__init__.py +1 -1
  4. PyFunceble/checker/availability/base.py +1 -1
  5. PyFunceble/checker/availability/domain.py +1 -1
  6. PyFunceble/checker/availability/domain_and_ip.py +1 -1
  7. PyFunceble/checker/availability/extras/__init__.py +1 -1
  8. PyFunceble/checker/availability/extras/base.py +1 -1
  9. PyFunceble/checker/availability/extras/dns.py +1 -1
  10. PyFunceble/checker/availability/extras/etoxic.py +1 -1
  11. PyFunceble/checker/availability/extras/external.py +1 -1
  12. PyFunceble/checker/availability/extras/parked.py +1 -1
  13. PyFunceble/checker/availability/extras/rules.py +1 -1
  14. PyFunceble/checker/availability/extras/subject_switch.py +1 -1
  15. PyFunceble/checker/availability/ip.py +1 -1
  16. PyFunceble/checker/availability/params.py +1 -1
  17. PyFunceble/checker/availability/status.py +1 -1
  18. PyFunceble/checker/availability/url.py +1 -1
  19. PyFunceble/checker/base.py +1 -1
  20. PyFunceble/checker/complex_json_encoder.py +1 -1
  21. PyFunceble/checker/params_base.py +1 -1
  22. PyFunceble/checker/reputation/__init__.py +1 -1
  23. PyFunceble/checker/reputation/base.py +1 -1
  24. PyFunceble/checker/reputation/domain.py +1 -1
  25. PyFunceble/checker/reputation/domain_and_ip.py +1 -1
  26. PyFunceble/checker/reputation/ip.py +1 -1
  27. PyFunceble/checker/reputation/params.py +1 -1
  28. PyFunceble/checker/reputation/status.py +1 -1
  29. PyFunceble/checker/reputation/url.py +1 -1
  30. PyFunceble/checker/status_base.py +1 -1
  31. PyFunceble/checker/syntax/__init__.py +1 -1
  32. PyFunceble/checker/syntax/base.py +1 -1
  33. PyFunceble/checker/syntax/domain.py +1 -1
  34. PyFunceble/checker/syntax/domain_and_ip.py +1 -1
  35. PyFunceble/checker/syntax/domain_base.py +1 -1
  36. PyFunceble/checker/syntax/ip.py +1 -1
  37. PyFunceble/checker/syntax/ipv4.py +1 -1
  38. PyFunceble/checker/syntax/ipv6.py +1 -1
  39. PyFunceble/checker/syntax/params.py +1 -1
  40. PyFunceble/checker/syntax/second_lvl_domain.py +1 -1
  41. PyFunceble/checker/syntax/status.py +1 -1
  42. PyFunceble/checker/syntax/subdomain.py +1 -1
  43. PyFunceble/checker/syntax/url.py +1 -1
  44. PyFunceble/checker/utils/__init__.py +1 -1
  45. PyFunceble/checker/utils/whois.py +1 -1
  46. PyFunceble/cli/__init__.py +1 -1
  47. PyFunceble/cli/continuous_integration/__init__.py +1 -1
  48. PyFunceble/cli/continuous_integration/base.py +1 -1
  49. PyFunceble/cli/continuous_integration/exceptions.py +1 -1
  50. PyFunceble/cli/continuous_integration/github_actions.py +1 -1
  51. PyFunceble/cli/continuous_integration/gitlab_ci.py +1 -1
  52. PyFunceble/cli/continuous_integration/jenkins.py +1 -1
  53. PyFunceble/cli/continuous_integration/standalone.py +1 -1
  54. PyFunceble/cli/continuous_integration/travis_ci.py +1 -1
  55. PyFunceble/cli/continuous_integration/utils.py +1 -1
  56. PyFunceble/cli/credential_loader.py +1 -1
  57. PyFunceble/cli/entry_points/__init__.py +1 -1
  58. PyFunceble/cli/entry_points/clean.py +1 -1
  59. PyFunceble/cli/entry_points/iana.py +1 -1
  60. PyFunceble/cli/entry_points/production.py +1 -1
  61. PyFunceble/cli/entry_points/public_suffix.py +1 -1
  62. PyFunceble/cli/entry_points/pyfunceble/__init__.py +1 -1
  63. PyFunceble/cli/entry_points/pyfunceble/argsparser.py +1 -1
  64. PyFunceble/cli/entry_points/pyfunceble/cli.py +1 -1
  65. PyFunceble/cli/execution_time.py +1 -1
  66. PyFunceble/cli/facility.py +1 -1
  67. PyFunceble/cli/factory.py +1 -1
  68. PyFunceble/cli/file_preloader.py +1 -1
  69. PyFunceble/cli/filesystem/__init__.py +1 -1
  70. PyFunceble/cli/filesystem/cleanup.py +1 -1
  71. PyFunceble/cli/filesystem/counter.py +1 -1
  72. PyFunceble/cli/filesystem/dir_base.py +1 -1
  73. PyFunceble/cli/filesystem/dir_structure/__init__.py +1 -1
  74. PyFunceble/cli/filesystem/dir_structure/backup.py +1 -1
  75. PyFunceble/cli/filesystem/dir_structure/base.py +1 -1
  76. PyFunceble/cli/filesystem/dir_structure/restore.py +1 -1
  77. PyFunceble/cli/filesystem/json_base.py +1 -1
  78. PyFunceble/cli/filesystem/printer/__init__.py +1 -1
  79. PyFunceble/cli/filesystem/printer/base.py +1 -1
  80. PyFunceble/cli/filesystem/printer/file.py +1 -1
  81. PyFunceble/cli/filesystem/printer/stdout.py +1 -1
  82. PyFunceble/cli/filesystem/registrar_counter.py +1 -1
  83. PyFunceble/cli/filesystem/status_file.py +1 -1
  84. PyFunceble/cli/migrators/__init__.py +1 -1
  85. PyFunceble/cli/migrators/alembic.py +1 -1
  86. PyFunceble/cli/migrators/base.py +1 -1
  87. PyFunceble/cli/migrators/csv_file/__init__.py +1 -1
  88. PyFunceble/cli/migrators/csv_file/base.py +1 -1
  89. PyFunceble/cli/migrators/csv_file/inactive_source_delete.py +1 -1
  90. PyFunceble/cli/migrators/csv_file/whois_registrar_add.py +1 -1
  91. PyFunceble/cli/migrators/db_base.py +1 -1
  92. PyFunceble/cli/migrators/file_cleanup/__init__.py +1 -1
  93. PyFunceble/cli/migrators/file_cleanup/base.py +1 -1
  94. PyFunceble/cli/migrators/file_cleanup/hashes_file.py +1 -1
  95. PyFunceble/cli/migrators/file_cleanup/mining_file.py +1 -1
  96. PyFunceble/cli/migrators/file_cleanup/production_config_file.py +1 -1
  97. PyFunceble/cli/migrators/json2csv/__init__.py +1 -1
  98. PyFunceble/cli/migrators/json2csv/base.py +1 -1
  99. PyFunceble/cli/migrators/json2csv/inactive.py +1 -1
  100. PyFunceble/cli/migrators/json2csv/whois.py +1 -1
  101. PyFunceble/cli/migrators/mariadb/__init__.py +1 -1
  102. PyFunceble/cli/migrators/mariadb/base.py +1 -1
  103. PyFunceble/cli/migrators/mariadb/file_and_status.py +1 -1
  104. PyFunceble/cli/migrators/mariadb/whois_record_idna_subject.py +1 -1
  105. PyFunceble/cli/processes/__init__.py +1 -1
  106. PyFunceble/cli/processes/base.py +1 -1
  107. PyFunceble/cli/processes/chancy_producer.py +1 -1
  108. PyFunceble/cli/processes/chancy_tester.py +1 -1
  109. PyFunceble/cli/processes/dir_files_sorter.py +1 -1
  110. PyFunceble/cli/processes/file_sorter.py +1 -1
  111. PyFunceble/cli/processes/migrator.py +1 -1
  112. PyFunceble/cli/processes/miner.py +1 -1
  113. PyFunceble/cli/processes/producer.py +1 -1
  114. PyFunceble/cli/processes/tester.py +1 -1
  115. PyFunceble/cli/processes/workers/__init__.py +1 -1
  116. PyFunceble/cli/processes/workers/base.py +13 -1
  117. PyFunceble/cli/processes/workers/chancy_producer.py +1 -1
  118. PyFunceble/cli/processes/workers/chancy_tester.py +1 -1
  119. PyFunceble/cli/processes/workers/dir_files_sorter.py +1 -1
  120. PyFunceble/cli/processes/workers/file_sorter.py +1 -1
  121. PyFunceble/cli/processes/workers/file_sorter_base.py +1 -1
  122. PyFunceble/cli/processes/workers/migrator.py +4 -1
  123. PyFunceble/cli/processes/workers/miner.py +1 -1
  124. PyFunceble/cli/processes/workers/producer.py +1 -1
  125. PyFunceble/cli/processes/workers/tester.py +1 -1
  126. PyFunceble/cli/scripts/__init__.py +1 -1
  127. PyFunceble/cli/scripts/iana.py +19 -18
  128. PyFunceble/cli/scripts/production.py +1 -1
  129. PyFunceble/cli/scripts/public_suffix.py +1 -1
  130. PyFunceble/cli/storage.py +1 -1
  131. PyFunceble/cli/storage_facility.py +1 -1
  132. PyFunceble/cli/system/__init__.py +1 -1
  133. PyFunceble/cli/system/base.py +1 -1
  134. PyFunceble/cli/system/integrator.py +1 -1
  135. PyFunceble/cli/system/launcher.py +1 -1
  136. PyFunceble/cli/utils/__init__.py +1 -1
  137. PyFunceble/cli/utils/ascii_logo.py +1 -1
  138. PyFunceble/cli/utils/sort.py +1 -1
  139. PyFunceble/cli/utils/stdout.py +1 -1
  140. PyFunceble/cli/utils/testing.py +1 -1
  141. PyFunceble/cli/utils/version.py +1 -1
  142. PyFunceble/config/__init__.py +1 -1
  143. PyFunceble/config/compare.py +1 -1
  144. PyFunceble/config/loader.py +1 -1
  145. PyFunceble/converter/__init__.py +1 -1
  146. PyFunceble/converter/adblock_input_line2subject.py +1 -1
  147. PyFunceble/converter/base.py +1 -1
  148. PyFunceble/converter/cidr2subject.py +1 -1
  149. PyFunceble/converter/input_line2subject.py +1 -1
  150. PyFunceble/converter/internal_url.py +1 -1
  151. PyFunceble/converter/rpz_input_line2subject.py +1 -1
  152. PyFunceble/converter/rpz_policy2subject.py +1 -1
  153. PyFunceble/converter/subject2complements.py +1 -1
  154. PyFunceble/converter/url2netloc.py +1 -1
  155. PyFunceble/converter/wildcard2subject.py +1 -1
  156. PyFunceble/data/alembic/__init__.py +1 -1
  157. PyFunceble/data/alembic/mysql/__init__.py +1 -1
  158. PyFunceble/data/alembic/mysql/env.py +1 -1
  159. PyFunceble/data/alembic/mysql/versions/__init__.py +1 -1
  160. PyFunceble/data/alembic/postgresql/__init__.py +1 -1
  161. PyFunceble/data/alembic/postgresql/env.py +1 -1
  162. PyFunceble/data/alembic/postgresql/versions/__init__.py +1 -1
  163. PyFunceble/database/__init__.py +1 -1
  164. PyFunceble/database/credential/__init__.py +1 -1
  165. PyFunceble/database/credential/base.py +1 -1
  166. PyFunceble/database/credential/mariadb.py +1 -1
  167. PyFunceble/database/credential/mysql.py +1 -1
  168. PyFunceble/database/credential/postgresql.py +1 -1
  169. PyFunceble/database/schemas/__init__.py +1 -1
  170. PyFunceble/database/schemas/autocontinue.py +1 -1
  171. PyFunceble/database/schemas/inactive.py +1 -1
  172. PyFunceble/database/schemas/status.py +1 -1
  173. PyFunceble/database/schemas/whois_record.py +1 -1
  174. PyFunceble/database/session.py +1 -1
  175. PyFunceble/database/sqlalchemy/__init__.py +1 -1
  176. PyFunceble/database/sqlalchemy/all_schemas.py +1 -1
  177. PyFunceble/database/sqlalchemy/base_schema.py +1 -1
  178. PyFunceble/dataset/__init__.py +1 -1
  179. PyFunceble/dataset/autocontinue/__init__.py +1 -1
  180. PyFunceble/dataset/autocontinue/base.py +1 -1
  181. PyFunceble/dataset/autocontinue/csv.py +1 -1
  182. PyFunceble/dataset/autocontinue/sql.py +1 -1
  183. PyFunceble/dataset/base.py +1 -1
  184. PyFunceble/dataset/csv_base.py +1 -1
  185. PyFunceble/dataset/db_base.py +1 -1
  186. PyFunceble/dataset/iana.py +1 -1
  187. PyFunceble/dataset/inactive/__init__.py +1 -1
  188. PyFunceble/dataset/inactive/base.py +1 -1
  189. PyFunceble/dataset/inactive/csv.py +1 -1
  190. PyFunceble/dataset/inactive/sql.py +1 -1
  191. PyFunceble/dataset/ipv4_reputation.py +1 -1
  192. PyFunceble/dataset/public_suffix.py +1 -1
  193. PyFunceble/dataset/sql_base.py +1 -1
  194. PyFunceble/dataset/user_agent.py +1 -1
  195. PyFunceble/dataset/whois/__init__.py +1 -1
  196. PyFunceble/dataset/whois/base.py +1 -1
  197. PyFunceble/dataset/whois/csv.py +1 -1
  198. PyFunceble/dataset/whois/sql.py +1 -1
  199. PyFunceble/downloader/__init__.py +1 -1
  200. PyFunceble/downloader/base.py +1 -1
  201. PyFunceble/downloader/exceptions.py +1 -1
  202. PyFunceble/downloader/iana.py +1 -1
  203. PyFunceble/downloader/ipv4_reputation.py +1 -1
  204. PyFunceble/downloader/public_suffix.py +1 -1
  205. PyFunceble/downloader/user_agents.py +1 -1
  206. PyFunceble/exceptions.py +1 -1
  207. PyFunceble/facility.py +1 -1
  208. PyFunceble/factory.py +1 -1
  209. PyFunceble/helpers/__init__.py +1 -1
  210. PyFunceble/helpers/command.py +1 -1
  211. PyFunceble/helpers/dict.py +1 -1
  212. PyFunceble/helpers/directory.py +1 -1
  213. PyFunceble/helpers/download.py +1 -1
  214. PyFunceble/helpers/environment_variable.py +1 -1
  215. PyFunceble/helpers/exceptions.py +1 -1
  216. PyFunceble/helpers/file.py +1 -1
  217. PyFunceble/helpers/hash.py +1 -1
  218. PyFunceble/helpers/list.py +1 -1
  219. PyFunceble/helpers/merge.py +1 -1
  220. PyFunceble/helpers/regex.py +1 -1
  221. PyFunceble/logger.py +1 -1
  222. PyFunceble/query/__init__.py +1 -1
  223. PyFunceble/query/dns/__init__.py +1 -1
  224. PyFunceble/query/dns/nameserver.py +1 -1
  225. PyFunceble/query/dns/query_tool.py +1 -1
  226. PyFunceble/query/dns/resolver.py +1 -1
  227. PyFunceble/query/http_status_code.py +1 -1
  228. PyFunceble/query/netinfo/__init__.py +1 -1
  229. PyFunceble/query/netinfo/address.py +1 -1
  230. PyFunceble/query/netinfo/base.py +1 -1
  231. PyFunceble/query/netinfo/hostbyaddr.py +1 -1
  232. PyFunceble/query/platform.py +1 -1
  233. PyFunceble/query/record/__init__.py +1 -1
  234. PyFunceble/query/record/base.py +1 -1
  235. PyFunceble/query/record/dns.py +1 -1
  236. PyFunceble/query/record/whois.py +1 -1
  237. PyFunceble/query/requests/__init__.py +1 -1
  238. PyFunceble/query/requests/adapter/__init__.py +1 -1
  239. PyFunceble/query/requests/adapter/base.py +1 -1
  240. PyFunceble/query/requests/adapter/http.py +1 -1
  241. PyFunceble/query/requests/adapter/https.py +1 -1
  242. PyFunceble/query/requests/requester.py +1 -1
  243. PyFunceble/query/whois/__init__.py +1 -1
  244. PyFunceble/query/whois/converter/__init__.py +1 -1
  245. PyFunceble/query/whois/converter/base.py +1 -1
  246. PyFunceble/query/whois/converter/digit2digits.py +1 -1
  247. PyFunceble/query/whois/converter/expiration_date.py +1 -1
  248. PyFunceble/query/whois/converter/month2unified.py +1 -1
  249. PyFunceble/query/whois/converter/registrar.py +1 -1
  250. PyFunceble/query/whois/query_tool.py +1 -1
  251. PyFunceble/sessions.py +1 -1
  252. PyFunceble/storage.py +2 -2
  253. PyFunceble/storage_facility.py +1 -1
  254. PyFunceble/utils/__init__.py +1 -1
  255. PyFunceble/utils/platform.py +1 -1
  256. PyFunceble/utils/profile.py +1 -1
  257. PyFunceble/utils/version.py +1 -1
  258. {pyfunceble_dev-4.4.2.dist-info → pyfunceble_dev-4.4.3.dist-info}/METADATA +98 -98
  259. pyfunceble_dev-4.4.3.dist-info/RECORD +284 -0
  260. {pyfunceble_dev-4.4.2.dist-info → pyfunceble_dev-4.4.3.dist-info}/WHEEL +1 -1
  261. {pyfunceble_dev-4.4.2.dist-info → pyfunceble_dev-4.4.3.dist-info}/licenses/LICENSE +1 -1
  262. pyfunceble_dev-4.4.2.dist-info/RECORD +0 -284
  263. {pyfunceble_dev-4.4.2.dist-info → pyfunceble_dev-4.4.3.dist-info}/entry_points.txt +0 -0
  264. {pyfunceble_dev-4.4.2.dist-info → pyfunceble_dev-4.4.3.dist-info}/top_level.txt +0 -0
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -50,6 +50,7 @@ License:
50
50
  limitations under the License.
51
51
  """
52
52
 
53
+ import multiprocessing
53
54
  import traceback
54
55
 
55
56
  import PyFunceble.facility
@@ -69,6 +70,8 @@ class MigratorWorker(WorkerBase):
69
70
  """
70
71
 
71
72
  try:
73
+ if multiprocessing.get_start_method() != "fork":
74
+ self.perform_external_poweron_checks()
72
75
  try:
73
76
  self.target(self.continuous_integration, db_session=self.db_session)
74
77
  except TypeError:
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -67,7 +67,7 @@ class IanaDBGenerator:
67
67
  Provides an interface for the generation of the iana database file.
68
68
  """
69
69
 
70
- UPSTREAM_LINK: str = "https://www.iana.org/domains/root/db"
70
+ UPSTREAM_LINK: str = "https://data.iana.org/TLD/tlds-alpha-by-domain.txt"
71
71
  """
72
72
  Provides the upstream link.
73
73
  """
@@ -199,7 +199,7 @@ class IanaDBGenerator:
199
199
 
200
200
  def get_referrer_from_extension(self, extension: str) -> Optional[str]:
201
201
  """
202
- Given an extension, tries to get or guess its extension.
202
+ Given an extension, tries to get or guess its referrer (WHOIS server).
203
203
  """
204
204
 
205
205
  dummy_domain = f"hello.{extension}"
@@ -235,29 +235,30 @@ class IanaDBGenerator:
235
235
 
236
236
  return None
237
237
 
238
- def get_extension_and_referrer_from_block(
239
- self, block: str
238
+ def get_extension_and_referrer_from_line(
239
+ self, line: str
240
240
  ) -> Tuple[Optional[str], Optional[str]]:
241
241
  """
242
- Given an HTML block, we try to extract an extension and it's underlying
243
- referrer (WHOIS server).
242
+ Given a line from the IANA TLD list, we try to extract an extension and
243
+ it's underlying referrer (WHOIS server).
244
244
 
245
245
  The referrer is extracted from the official IANA page, and guessed if
246
246
  missing.
247
247
 
248
- :param block:
249
- The block to parse.
248
+ :param line:
249
+ The line to parse.
250
250
  """
251
251
 
252
- regex_valid_extension = r"(/domains/root/db/)(.*)(\.html)"
252
+ if not line or line.startswith("#"):
253
+ return None, None
253
254
 
254
- if self.regex_helper.set_regex(regex_valid_extension).match(
255
- block, return_match=False
256
- ):
257
- extension = self.regex_helper.match(block, return_match=True, group=2)
255
+ extension = line.strip().lower()
258
256
 
259
- if extension:
260
- return extension, self.get_referrer_from_extension(extension)
257
+ if extension:
258
+ if "#" in extension:
259
+ extension = extension.split("#", 1)[0].strip()
260
+
261
+ return extension, self.get_referrer_from_extension(extension)
261
262
 
262
263
  return None, None
263
264
 
@@ -281,12 +282,12 @@ class IanaDBGenerator:
281
282
  proxies=PyFunceble.storage.PROXY,
282
283
  )
283
284
  .download_text()
284
- .split('<span class="domain tld">')
285
+ .splitlines()[1:]
285
286
  )
286
287
 
287
288
  with concurrent.futures.ThreadPoolExecutor(max_workers=max_workers) as executor:
288
289
  for extension, whois_server in executor.map(
289
- self.get_extension_and_referrer_from_block, raw_data
290
+ self.get_extension_and_referrer_from_line, raw_data
290
291
  ):
291
292
  if extension:
292
293
  self.database[extension] = whois_server
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
PyFunceble/cli/storage.py CHANGED
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -36,7 +36,7 @@ License:
36
36
  ::
37
37
 
38
38
 
39
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
39
+ Copyright 2017-2026 Nissar Chababy
40
40
 
41
41
  Licensed under the Apache License, Version 2.0 (the "License");
42
42
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -36,7 +36,7 @@ License:
36
36
  ::
37
37
 
38
38
 
39
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
39
+ Copyright 2017-2026 Nissar Chababy
40
40
 
41
41
  Licensed under the Apache License, Version 2.0 (the "License");
42
42
  you may not use this file except in compliance with the License.
@@ -36,7 +36,7 @@ License:
36
36
  ::
37
37
 
38
38
 
39
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
39
+ Copyright 2017-2026 Nissar Chababy
40
40
 
41
41
  Licensed under the Apache License, Version 2.0 (the "License");
42
42
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -36,7 +36,7 @@ License:
36
36
  ::
37
37
 
38
38
 
39
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
39
+ Copyright 2017-2026 Nissar Chababy
40
40
 
41
41
  Licensed under the Apache License, Version 2.0 (the "License");
42
42
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -36,7 +36,7 @@ License:
36
36
  ::
37
37
 
38
38
 
39
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
39
+ Copyright 2017-2026 Nissar Chababy
40
40
 
41
41
  Licensed under the Apache License, Version 2.0 (the "License");
42
42
  you may not use this file except in compliance with the License.
@@ -36,7 +36,7 @@ License:
36
36
  ::
37
37
 
38
38
 
39
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
39
+ Copyright 2017-2026 Nissar Chababy
40
40
 
41
41
  Licensed under the Apache License, Version 2.0 (the "License");
42
42
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -36,7 +36,7 @@ License:
36
36
  ::
37
37
 
38
38
 
39
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
39
+ Copyright 2017-2026 Nissar Chababy
40
40
 
41
41
  Licensed under the Apache License, Version 2.0 (the "License");
42
42
  you may not use this file except in compliance with the License.
@@ -36,7 +36,7 @@ License:
36
36
  ::
37
37
 
38
38
 
39
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
39
+ Copyright 2017-2026 Nissar Chababy
40
40
 
41
41
  Licensed under the Apache License, Version 2.0 (the "License");
42
42
  you may not use this file except in compliance with the License.
@@ -36,7 +36,7 @@ License:
36
36
  ::
37
37
 
38
38
 
39
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
39
+ Copyright 2017-2026 Nissar Chababy
40
40
 
41
41
  Licensed under the Apache License, Version 2.0 (the "License");
42
42
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -36,7 +36,7 @@ License:
36
36
  ::
37
37
 
38
38
 
39
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
39
+ Copyright 2017-2026 Nissar Chababy
40
40
 
41
41
  Licensed under the Apache License, Version 2.0 (the "License");
42
42
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.
@@ -35,7 +35,7 @@ License:
35
35
  ::
36
36
 
37
37
 
38
- Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024, 2025, 2026 Nissar Chababy
38
+ Copyright 2017-2026 Nissar Chababy
39
39
 
40
40
  Licensed under the Apache License, Version 2.0 (the "License");
41
41
  you may not use this file except in compliance with the License.