File: test.py

package info (click to toggle)
dia 0.97.3%2Bgit20160930-9
  • links: PTS
  • area: main
  • in suites: bullseye
  • size: 54,372 kB
  • sloc: ansic: 155,065; xml: 16,326; python: 6,641; cpp: 4,935; makefile: 3,833; sh: 540; perl: 137; sed: 19
file content (164 lines) | stat: -rw-r--r-- 3,829 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
import os, sys

# a global object to make it changeable by main()
format_extensions = ["drs", "svg", "png"]

if sys.platform == "win32" :
	print "Adjusting PATH ..."
	sys.path.insert(0, r'd:\graph\dia2\python')
	sys.path.insert(0, r'd:\graph\dia2\bin')
	sys.path.insert(0, r'..\plug-ins\python')
	#format_extensions.insert (0, "wmf")
else : # sorry only Linux and win32 tested ;)
	sys.path.insert (0, os.getcwd() + "/.libs")
	sys.path.insert(0, r'../plug-ins/python')

import dia


def Dump () :
	print dir(dia)

	r = dia.Rectangle
	print r, dir(r)
	o = dia.Object
	print o, dir(o)
	rd = dia.Renderer
	print rd, dir(rd)

if sys.platform == "win32" :
	os.environ["DIA_LIB_PATH"] = r"d:\graph\dia2\dia"
else :
	print "FIXME: trouble with dynamic loading on '%s'?" % (sys.platform,)
	base_path = os.getcwd() + "/.."
	os.environ["DIA_LIB_PATH"] = base_path + "/objects//:" + base_path + "/plug-ins//"
	os.environ["DIA_SHAPE_PATH"] = base_path + "/shapes//"
	os.environ["DIA_XSLT_PATH"] = base_path + "/plug-ins/xslt"

try :
	dia.register_plugins()
except AttributeError :
	print "Wrong '%s' picked up?" % (dia.__file__, )

def Export (name, data) :
	# write data to file, the format is choosen here
	for ext in format_extensions :
		ef = dia.filter_guess_export_filter (name + "." + ext)
		if ef :
			ef.do_export (data, name + "." + ext)
			break
	
def Import () :
	data = dia.DiagramData()
	import diasvg_import
	diasvg_import.import_svg (r"D:\graph\dia2\samples\render-test.svg", data)

	filename = "render-test-swig.svg"
	ef = dia.filter_export_get_by_name ("svg")
	if not ef :
		print "Guessing ..."
		ef = dia.filter_guess_export_filter ("dummy.png")
		filename = "render-test-swig.png"

	print ef, "\n", ef.description, "\n", dir(ef)

	ef.do_export (data, filename)

def Gx () :
	data = dia.DiagramData()

	import diagx
	diagx.ImportXml (r'D:\data\work\camera\Dp70Camera.xml', data)
	Export ("gx-test", data)

def Doc () :
	data = dia.DiagramData()

	import pydiadoc
	res = pydiadoc.autodoc_fresh_cb (data, 1)
	if res :
		data = res
	Export ("pydiadoc", data)

def Dox () :
	data = dia.DiagramData()

	import doxrev
	#doxrev.import_file (r'D:\data\work\dev\include\obscam\xml\classOBS_1_1ICamera.xml', data)
	doxrev.import_files (r'D:\data\work\dev\include\obscam\xml\classOBS_1_1ICamera.xml', data)
	data.update_extents()
	Export ("doxrev-test", data)

def Types () :
	data = dia.DiagramData()

	import otypes
	res = otypes.otypes_cb (data, 0)
	if res :
		data = res
	Export ("otypes", data)

def AObj () :
	data = dia.DiagramData()

	import aobjects
	data = aobjects.aobjects_cb (data, 0)
	Export ("aobjs", data)

def Gen () :
	data = dia.DiagramData()

	import gendia
	data = gendia.dia_generate_dia_cb (data, 0)
	Export ("gendia", data)
def DRaw () :
	data = dia.DiagramData()
	# create something interesting to save
	if 0 :
		import aobjects
		data = aobjects.aobjects_cb (data, 0)
	else :
		import pydiadoc
		data = pydiadoc.autodoc_cb (data, 0)
	import diaraw
	r = diaraw.DiaOutRenderer()
	r.begin_render (data, "diaraw.dia")
	r.end_render ()

def Props () :
	data = dia.DiagramData()
	import allprops
	allprops.allprops_cb(data,0)

def Self () :
	data = dia.DiagramData()
	r = data.extents
	try :
		data.extents = r
	except AttributeError, s :
		print "Expected except", s, r.top, r.left

for arg in sys.argv[1:] :
	if '--dump' == arg : Dump ()
	elif '--import' == arg : Import ()
	elif '--gx' == arg : Gx ()
	elif '--doc' == arg : Doc ()
	elif '--dox' == arg : Dox ()
	elif '--types' == arg : Types ()
	elif '--aobj' == arg : AObj ()
	elif '--gen' == arg : Gen ()
	elif '--self' == arg : Self ()
	elif '--draw' == arg : DRaw ()
	elif '--props' == arg : Props ()
	elif '--all' == arg :
		Dump()
		Import()
		Gx()
		Doc()
		Dox()
		Types()
		AObj ()
		Gen()
		#DRaw()
		Props()
	else : format_extensions.insert(0, arg)