# Path: datafeed/bidict.py
# class Bidict(dict):
#     def __init__(self, iterable=(), **kwargs):
#         self.update(iterable, **kwargs)
# 
#     def update(self, iterable=(), **kwargs):
#         if hasattr(iterable, 'iteritems'):
#             iterable = iterable.iteritems()
#         for (key, value) in itertools.chain(iterable, kwargs.iteritems()):
#             self[key] = value
# 
#     def __setitem__(self, key, value):
#         if key in self:
#             del self[key]
#         if value in self:
#             del self[value]
#         dict.__setitem__(self, key, value)
#         dict.__setitem__(self, value, key)
# 
#     def __delitem__(self, key):
#         value = self[key]
#         dict.__delitem__(self, key)
#         dict.__delitem__(self, value)
# 
#     def __repr__(self):
#         return '%s(%s)' % (type(self).__name__, dict.__repr__(self))
# 
# Path: datafeed/utils.py
# def json_decode(value):
#     """Returns Python objects for the given JSON string."""
#     return json.loads(value)


import sys
import functools
import logging
        import csv
from datetime import timedelta
from dateutil import parser
from datafeed.bidict import Bidict
from datafeed.exchange import *
from datafeed.quote import *
from datafeed.providers.http_fetcher import *
from datafeed.utils import json_decode
        from cStringIO import StringIO
# -*- coding: utf-8 -*-




__all__ = ['GoogleSecurity', 'currency2float',
           'GoogleReport', 'GoogleReportFetcher',
           'GoogleDay', 'GoogleDayFetcher',
           'GoogleNewsFetcher']

# See: http://www.google.com/intl/en-US/help/stock_disclaimer.html
# Google finance support more exchanges, adding here if you need it.
_EXCHANGES = Bidict({

# Path: datafeed/bidict.py
# class Bidict(dict):
#     def __init__(self, iterable=(), **kwargs):
#         self.update(iterable, **kwargs)
# 
#     def update(self, iterable=(), **kwargs):
#         if hasattr(iterable, 'iteritems'):
#             iterable = iterable.iteritems()
#         for (key, value) in itertools.chain(iterable, kwargs.iteritems()):
#             self[key] = value
# 
#     def __setitem__(self, key, value):
#         if key in self:
#             del self[key]
#         if value in self:
#             del self[value]
#         dict.__setitem__(self, key, value)
#         dict.__setitem__(self, value, key)
# 
#     def __delitem__(self, key):
#         value = self[key]
#         dict.__delitem__(self, key)
#         dict.__delitem__(self, value)
# 
#     def __repr__(self):
#         return '%s(%s)' % (type(self).__name__, dict.__repr__(self))
# 
# Path: datafeed/utils.py
# def json_decode(value):
#     """Returns Python objects for the given JSON string."""
#     return json.loads(value)


# Path: datafeed/providers/google.py
import sys
import functools
import logging
        import csv
from datetime import timedelta
from dateutil import parser
from datafeed.bidict import Bidict
from datafeed.exchange import *
from datafeed.quote import *
from datafeed.providers.http_fetcher import *
from datafeed.utils import json_decode
        from cStringIO import StringIO

# -*- coding: utf-8 -*-




__all__ = ['GoogleSecurity', 'currency2float',
           'GoogleReport', 'GoogleReportFetcher',
           'GoogleDay', 'GoogleDayFetcher',
           'GoogleNewsFetcher']

# See: http://www.google.com/intl/en-US/help/stock_disclaimer.html
# Google finance support more exchanges, adding here if you need it.
_EXCHANGES = Bidict({

        "HK": 'HGK',  #Hongkong