File: plplotcanvas.py

package info (click to toggle)
plplot 5.9.9-5
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 84,772 kB
  • sloc: ansic: 86,290; xml: 26,754; ada: 17,685; cpp: 15,530; php: 11,938; tcl: 11,125; ml: 6,825; perl: 6,736; f90: 6,709; python: 6,237; java: 6,215; sh: 2,042; makefile: 192; lisp: 75; fortran: 64; sed: 52
file content (55 lines) | stat: -rw-r--r-- 1,799 bytes parent folder | download | duplicates (6)
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
"""plplotcanvas.py - Python front-end for the plplotcanvas

  Copyright (C) 2004, 2005 Thomas J. Duck
  All rights reserved.

  Thomas J. Duck <tom.duck@dal.ca>
  Department of Physics and Atmospheric Science,
  Dalhousie University, Halifax, Nova Scotia, Canada, B3H 3J5


NOTICE

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with this library; if not, write to the Free Software
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
  USA 
"""


import plplot
import cplplotcanvas
import exceptions

class Canvas(cplplotcanvas.Canvas):

    def __init__(self):
        cplplotcanvas.Canvas.__init__(self)
        self.devinit()

    def __getattr__(self,name):

        # Select the stream
        Nstream = self.get_stream_number()
        plplot.plsstrm(Nstream)

        # Try to get the function using all of the available prefixes
        if 'pl'+name in dir(plplot):
            return eval('plplot.' + 'pl' + name)
        elif '' + name in dir(plplot):
            return eval('plplot.' + '' + name)
        elif 'pl_' + name in dir(plplot):
            return eval('plplot.' + 'pl_' + name)
        else:
            msg = "'Canvas' object has no attribute '%s'" % (name)
            raise exceptions.AttributeError, msg