xref: /aosp_15_r20/external/cronet/net/docs/generate-dot-to-png.py (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker#!/usr/bin/env python
2*6777b538SAndroid Build Coastguard Worker# Copyright 2018 The Chromium Authors
3*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
4*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file.
5*6777b538SAndroid Build Coastguard Worker
6*6777b538SAndroid Build Coastguard Worker"""The diagrams included in the network stack documentation were
7*6777b538SAndroid Build Coastguard Workergenerated with Graphviz, and both source (.dot) and output (.svg) are
8*6777b538SAndroid Build Coastguard Workerincluded in the repository.  If graphviz is installed, the output may
9*6777b538SAndroid Build Coastguard Workerbe regenerated by running this script."""
10*6777b538SAndroid Build Coastguard Worker
11*6777b538SAndroid Build Coastguard Workerimport glob
12*6777b538SAndroid Build Coastguard Workerimport os
13*6777b538SAndroid Build Coastguard Workerimport subprocess
14*6777b538SAndroid Build Coastguard Worker
15*6777b538SAndroid Build Coastguard Workerdef main():
16*6777b538SAndroid Build Coastguard Worker  for dot_filename in glob.glob("*.dot"):
17*6777b538SAndroid Build Coastguard Worker    png_filename = os.path.splitext(dot_filename)[0] + ".png"
18*6777b538SAndroid Build Coastguard Worker    print "Generating %s from %s" % (png_filename, dot_filename)
19*6777b538SAndroid Build Coastguard Worker    subprocess.check_call(["dot", "-Tpng", dot_filename, "-o", png_filename])
20*6777b538SAndroid Build Coastguard Worker    subprocess.check_call(["optipng", png_filename])
21*6777b538SAndroid Build Coastguard Worker
22*6777b538SAndroid Build Coastguard Worker
23*6777b538SAndroid Build Coastguard Workerif __name__ == "__main__":
24*6777b538SAndroid Build Coastguard Worker  main()
25