MCPcopy Index your code
hub / github.com/plotly/dash / digest

Method digest

dash/development/build_process.py:81–107  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

79
80 @job("compute the hash digest for assets")
81 def digest(self):
82 if not os.path.exists(self.deps_folder):
83 try:
84 os.makedirs(self.deps_folder)
85 except OSError:
86 logger.exception("🚨 having issues manipulating %s", self.deps_folder)
87 sys.exit(1)
88
89 payload = {self.name: self.version}
90
91 for folder in (self.deps_folder, self.build_folder):
92 copies = tuple(
93 _
94 for _ in os.listdir(folder)
95 if os.path.splitext(_)[-1] in {".js", ".map"}
96 )
97 logger.info("bundles in %s %s", folder, copies)
98
99 for copy in copies:
100 payload[f"SHA256 ({copy})"] = compute_hash(self._concat(folder, copy))
101
102 with open(self._concat(self.main, "digest.json"), "w", encoding="utf-8") as fp:
103 json.dump(payload, fp, sort_keys=True, indent=4, separators=(",", ":"))
104 logger.info(
105 "bundle digest in digest.json:\n%s",
106 json.dumps(payload, sort_keys=True, indent=4),
107 )
108
109 @job("copy and generate the bundles")
110 def bundles(self, build=None): # pylint:disable=too-many-locals

Callers 3

buildMethod · 0.95
_hashMethod · 0.80
async-export.jsFile · 0.80

Calls 4

_concatMethod · 0.95
compute_hashFunction · 0.85
exitMethod · 0.80
existsMethod · 0.45

Tested by

no test coverage detected