/+junk/pygooglechart-py3k

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/%2Bjunk/pygooglechart-py3k

« back to all changes in this revision

Viewing changes to pygooglechart.py

  • Committer: gak
  • Date: 2008-08-23 06:05:53 UTC
  • Revision ID: git-v1:11733abbf5cbcf4721836a92ad389aae6d8f2087
 - Added support for QR Code chart (#8)

Show diffs side-by-side

added added

removed removed

Lines of Context:
326
326
        }
327
327
        self.axis = []
328
328
        self.markers = []
329
 
        self.trendline_data = []
330
 
        self.trendline_style = None
331
329
        self.line_styles = {}
332
330
        self.grid = None
333
331
 
361
359
        ret = self.axis_to_url()
362
360
        if ret:
363
361
            url_bits.append(ret)                    
364
 
        if self.trendline_data: 
365
 
            if not self.trendline_style: self.set_trendline_style()
366
 
            url_bits.append('ewtr=0,%s,%.1f' % (self.trendline_colour, self.trendline_thickness))
367
 
            url_bits.append(self.trendline_data_to_url(data_class=data_class))            
368
362
        if self.markers:
369
363
            url_bits.append(self.markers_to_url())        
370
364
        if self.line_styles:
956
950
        return 'cht=gom'
957
951
 
958
952
 
 
953
class QRChart(Chart):
 
954
 
 
955
    def __init__(self, *args, **kwargs):
 
956
        Chart.__init__(self, *args, **kwargs)
 
957
        self.encoding = None
 
958
        self.ec_level = None
 
959
        self.margin = None
 
960
 
 
961
    def type_to_url(self):
 
962
        return 'cht=qr'
 
963
 
 
964
    def data_to_url(self, data_class=None):
 
965
        if not self.data:
 
966
            raise NoDataGivenException()
 
967
        return 'chl=%s' % urllib.quote(self.data[0])
 
968
 
 
969
    def get_url_bits(self, data_class=None):
 
970
        url_bits = Chart.get_url_bits(self, data_class=data_class)
 
971
        if self.encoding:
 
972
            url_bits.append('choe=%s' % self.encoding)
 
973
        if self.ec_level:
 
974
            url_bits.append('chld=%s|%s' % (self.ec_level, self.margin))
 
975
        return url_bits
 
976
 
 
977
    def set_encoding(self, encoding):
 
978
        self.encoding = encoding
 
979
 
 
980
    def set_ec(self, level, margin):
 
981
        self.ec_level = level
 
982
        self.margin = margin
 
983
 
 
984
 
959
985
class ChartGrammar(object):
960
986
 
961
987
    def __init__(self):