MCPcopy Index your code
hub / github.com/StackStorm/st2 / _content_diff

Function _content_diff

tools/diff-db-disk.py:132–162  ·  view source on GitHub ↗
(
    artifact_type=None, artifact_in_disk=None, artifact_in_db=None, verbose=False
)

Source from the content-addressed store, hash-verified

130
131
132def _content_diff(
133 artifact_type=None, artifact_in_disk=None, artifact_in_db=None, verbose=False
134):
135 artifact_in_disk_str = json.dumps(
136 artifact_in_disk.__json__(), sort_keys=True, indent=4, separators=(",", ": ")
137 )
138 artifact_in_db_str = json.dumps(
139 artifact_in_db.__json__(), sort_keys=True, indent=4, separators=(",", ": ")
140 )
141 diffs = difflib.context_diff(
142 artifact_in_db_str.splitlines(),
143 artifact_in_disk_str.splitlines(),
144 fromfile="DB contents",
145 tofile="Disk contents",
146 )
147 printed = False
148 for diff in diffs:
149 if not printed:
150 identifier = getattr(artifact_in_db, "ref", getattr(artifact_in_db, "name"))
151 print(
152 "%s %s in db differs from what is in disk."
153 % (artifact_type.upper(), identifier)
154 )
155 printed = True
156 print(diff)
157
158 if verbose:
159 print("\n\nOriginal contents:")
160 print("===================\n")
161 print("Artifact in db:\n\n%s\n\n" % artifact_in_db_str)
162 print("Artifact in disk:\n\n%s\n\n" % artifact_in_disk_str)
163
164
165def _diff(

Callers 1

_diffFunction · 0.85

Calls 1

__json__Method · 0.45

Tested by

no test coverage detected