24 from gettext
import gettext
as _
52 sys.stderr.write(
"%s:%d: error: %s\n" % (
57 sys.stderr.write(
"%s:%d: warning: %s\n" % (
71 def read(path, format = None, **kwds):
78 f, path, format, pixmap_basepath = os.path.dirname(path), **kwds)
102 def read_file(f, name, format, log = None,
103 load_symbols =
False,
104 load_pixmaps =
False,
105 pixmap_basepath =
None, **kwds):
110 referenced_symbols = {}
112 referenced_pixmaps = {}
114 def load_symbol(basename, fallback_available):
121 if fallback_available:
123 _(
"symbol \"%s\" not found in library") % basename)
126 _(
"symbol \"%s\" not found in library") % basename)
129 if fallback_available:
133 return referenced_symbols[basename]
136 referenced_symbols[basename] = symbol
139 def load_pixmap(filename, fallback_available):
141 pixmap = referenced_pixmaps[filename]
144 referenced_pixmaps[filename] = pixmap
147 if pixmap_basepath
is not None:
148 real_filename = os.path.join(pixmap_basepath, filename)
150 real_filename = filename
152 f = open(real_filename,
'rb')
154 pixmap.data = f.read()
158 if fallback_available:
159 log.warn(_(
"can't read pixmap file \"%s\": %s")
160 % (real_filename, e.strerror))
162 log.error(_(
"can't read pixmap file \"%s\": %s")
163 % (real_filename, e.strerror))
165 if pixmap.data
is None and fallback_available:
169 if format == xorn.geda.fileformat.FORMAT_SYM
or \
170 format == xorn.geda.fileformat.FORMAT_SCH:
172 f, name, log, load_symbol, load_pixmap, **kwds)
173 if format == xorn.geda.fileformat.FORMAT_SYM_XML
or \
174 format == xorn.geda.fileformat.FORMAT_SCH_XML:
176 f, name, log, load_symbol, load_pixmap, **kwds)
Raised when parsing a malformed file.
Reading gEDA schematic/symbol files in XML format.
Reading gEDA schematic/symbol files.
def read
Read a symbol or schematic file.
Default behavior for handling file read errors and warnings.
The component library system.
Referenced symbols and pixmaps.
def read_file
Read a symbol or schematic file in libgeda format from a file object.
def lookup_symbol
Get symbol object for a given symbol name.
def read_file
Read a symbol or schematic file from a file object.