]> git.pld-linux.org Git - packages/librsvg.git/blob - rsvg
- really ported rsvg script to python3; release 2
[packages/librsvg.git] / rsvg
1 #!/usr/bin/python3
2
3 #
4 # This python script subsumes the old 'rsvg' C-based command-line program.
5 # It should be considered deprecated in favor of 'rsvg-convert'.
6 #
7
8 import getopt, sys, os
9
10 def usage():
11     print("""Usage: rsvg [-v?] [-d|--dpi-x <float>] [-p|--dpi-y <float>]
12         [-x|--x-zoom <float>] [-y|--y-zoom <float>] [-w|--width <int>]
13         [-h|--height <int>] [-q|--quality <int>] [-f|--format [png, jpeg]]
14         [-v|--version] [-?|--help] [--usage] [OPTIONS...] file.svg file.png""")
15
16 def help():
17     print("""Usage: rsvg [OPTIONS...] file.svg file.png
18   -d, --dpi-x=<float>          pixels per inch
19   -p, --dpi-y=<float>          pixels per inch
20   -x, --x-zoom=<float>         x zoom factor
21   -y, --y-zoom=<float>         y zoom factor
22   -w, --width=<int>            width
23   -h, --height=<int>           height
24   -q, --quality=<int>          JPEG quality
25   -f, --format=[png, jpeg]     save format
26   -v, --version                show version information
27
28 Help options:
29   -?, --help                   Show this help message
30   --usage                      Display brief usage message""")
31
32 def shellEscape(param):
33     """Escape a string parameter for the shell."""
34     return "'" + param.replace("'", "'\\''") + "'"
35
36 def main():
37     try:
38         opts, args = getopt.getopt(sys.argv[1:], "d:p:x:y:w:h:q:f:v?", ["dpi-x=", "dpi-y=", "x-zoom=", "y-zoom=", "width=", "height=", "quality=", "format=", "version", "usage"])
39     except getopt.GetoptError:
40         help()
41         sys.exit(1)
42
43     command_str = ""
44
45     for o, a in opts:
46         if o in ("-v", "--version"):
47             print("rsvg version %s" % ("2.34.2"))
48             sys.exit(0)
49         elif o in ("--usage"):
50             usage()
51             sys.exit(0)
52         elif o in ("-?", "--help"):
53             help()
54             sys.exit(0)
55         elif (o in ("-f", "--format")):
56             if a in ("jpg", "jpeg"):
57                 print("The JPEG output format is no longer supported", file=sys.stderr)
58                 sys.exit(1)
59         elif (o in ("-q", "--quality")):
60             print("The --quality option is no longer supported")
61             sys.exit(1)
62         else:
63             command_str += " " + shellEscape(o) + " " + shellEscape(a)
64
65     if len(args) != 2:
66         help()
67         sys.exit(1)
68
69     return os.system("%s %s -o %s %s" % (shellEscape(os.path.join("/usr", "bin", "rsvg-convert")), command_str, shellEscape(args[1]), shellEscape(args[0])))
70
71 if __name__ == "__main__":
72     main()
This page took 0.036872 seconds and 4 git commands to generate.