)]}'
{"doc/source/install.rst":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"ffbd455716dae39130dd2bc1cd60f381e890ea0b","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    gnocchi-api"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"You then need to run the `gnocchi-metricd` daemon to enable new measures"},{"line_number":84,"context_line":"processing in the background. Some storage drivers (such as `influxdb`) does"},{"line_number":85,"context_line":"not need this process to run – so it will exit gracefully at startup."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Running As A WSGI Application"}],"source_content_type":"text/x-rst","patch_set":31,"id":"1a4dcd0f_ba5d2aee","line":84,"updated":"2015-08-10 10:50:20.000000000","message":"s/does/do/","commit_id":"7e884c97c403f6be24e46f3b6d72c3069dec4d2f"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"c6edd02c88a6b01b96f9cd1bca38c752ddc69697","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    gnocchi-api"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"You then need to run the `gnocchi-metricd` daemon to enable new measures"},{"line_number":84,"context_line":"processing in the background. Some storage drivers (such as `influxdb`) does"},{"line_number":85,"context_line":"not need this process to run – so it will exit gracefully at startup."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Running As A WSGI Application"}],"source_content_type":"text/x-rst","patch_set":31,"id":"1a4dcd0f_d3f25c06","line":84,"in_reply_to":"1a4dcd0f_ba5d2aee","updated":"2015-08-10 13:20:53.000000000","message":"Done","commit_id":"7e884c97c403f6be24e46f3b6d72c3069dec4d2f"}],"gnocchi/exceptions.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e157ba360cc25e367de4a359de0201aaeee2ab5b","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    pass"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class Retry(Exception):"},{"line_number":25,"context_line":"    pass"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"9af37de9_16d56842","line":24,"updated":"2015-05-11 12:06:56.000000000","message":"Move those to utils?","commit_id":"2af48c8c704256b8cf41f1a11658204726edac70"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"13442d62ffb485c6ad02f0f73659edd9b5845d79","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    pass"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class Retry(Exception):"},{"line_number":25,"context_line":"    pass"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"9af37de9_af487a2e","line":24,"in_reply_to":"9af37de9_16d56842","updated":"2015-05-11 15:14:20.000000000","message":"Done","commit_id":"2af48c8c704256b8cf41f1a11658204726edac70"}],"gnocchi/indexer/sqlalchemy_base.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"c5791cdf7b0e84ff84cf9cfa0c048a1f36474b30","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            ondelete\u003d\"RESTRICT\","},{"line_number":151,"context_line":"            name\u003d\"fk_metric_archive_policy_name_archive_policy_name\"),"},{"line_number":152,"context_line":"        nullable\u003dFalse)"},{"line_number":153,"context_line":"    archive_policy \u003d sqlalchemy.orm.relationship(ArchivePolicy, lazy\u003d\"joined\")"},{"line_number":154,"context_line":"    created_by_user_id \u003d sqlalchemy.Column("},{"line_number":155,"context_line":"        sqlalchemy_utils.UUIDType())"},{"line_number":156,"context_line":"    created_by_project_id \u003d sqlalchemy.Column("}],"source_content_type":"text/x-python","patch_set":23,"id":"3a50d1a3_860b192b","line":153,"updated":"2015-07-31 15:29:06.000000000","message":"This is wrong and I need to check why this has been changed (yeah this is a note to myself).","commit_id":"2c4f667d9021adc8c8847efeb9a9d9bbae435751"}],"gnocchi/rest/__init__.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"0bf266de319f8fc69c8d57249ff65d2320bd8e7d","unresolved":false,"context_lines":[{"line_number":306,"context_line":"                # NOTE(jd): set the archive policy to None as it\u0027s not really"},{"line_number":307,"context_line":"                # used and it has a cost to request it from the indexer"},{"line_number":308,"context_line":"                measures \u003d pecan.request.storage.get_cross_metric_measures("},{"line_number":309,"context_line":"                    [storage.Metric(m, None) for m in metric_ids],"},{"line_number":310,"context_line":"                    start, stop, aggregation, needed_overlap)"},{"line_number":311,"context_line":"            # Replace timestamp keys by their string versions"},{"line_number":312,"context_line":"            return [(timeutils.isotime(timestamp, subsecond\u003dTrue), offset, v)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a80dd14_dc03e40d","line":309,"updated":"2015-03-20 09:03:39.000000000","message":"nit: Even this is not yet supported by influxdb and other drivers don\u0027t care, we can replace this None too.","commit_id":"e36a76ad07d0cccf38cfbd9c5eb7e754d62d9fd7"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"c753ddfdac75f3b3f573e80475d646f5999453de","unresolved":false,"context_lines":[{"line_number":1110,"context_line":"            try:"},{"line_number":1111,"context_line":"                stop \u003d Timestamp(stop)"},{"line_number":1112,"context_line":"            except Exception:"},{"line_number":1113,"context_line":"                abort(400, \"Invalid value for stop\")"},{"line_number":1114,"context_line":""},{"line_number":1115,"context_line":"        try:"},{"line_number":1116,"context_line":"            return {"}],"source_content_type":"text/x-python","patch_set":24,"id":"1a4dcd0f_b938bd3e","line":1113,"updated":"2015-08-04 19:14:59.000000000","message":"This needs to be in a different patch.","commit_id":"3179fd4ced2f77c56f997690622906d7030b3d17"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"c753ddfdac75f3b3f573e80475d646f5999453de","unresolved":false,"context_lines":[{"line_number":1119,"context_line":"                    pecan.request.storage.search_value("},{"line_number":1120,"context_line":"                        # NOTE(jd) Don\u0027t pass the archive policy as no"},{"line_number":1121,"context_line":"                        # driver needs it for now"},{"line_number":1122,"context_line":"                        [metric for metric in metrics],"},{"line_number":1123,"context_line":"                        query, start, stop, aggregation)"},{"line_number":1124,"context_line":"                )"},{"line_number":1125,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":24,"id":"1a4dcd0f_594099a5","line":1122,"updated":"2015-08-04 19:14:59.000000000","message":"This is wrong.","commit_id":"3179fd4ced2f77c56f997690622906d7030b3d17"}],"gnocchi/storage/__init__.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"ffbd455716dae39130dd2bc1cd60f381e890ea0b","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"def _get_driver(name, conf):"},{"line_number":121,"context_line":"    \"\"\"Return the driver named name."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    :param name: The name of the driver."},{"line_number":124,"context_line":"    :param conf: The conf to pass to the driver."}],"source_content_type":"text/x-python","patch_set":31,"id":"1a4dcd0f_e63562f7","side":"PARENT","line":121,"updated":"2015-08-10 10:50:20.000000000","message":"docstring out of date","commit_id":"92caf16970fa1cc42ee12ced60e0a3cd2d524e33"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"c6edd02c88a6b01b96f9cd1bca38c752ddc69697","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"def _get_driver(name, conf):"},{"line_number":121,"context_line":"    \"\"\"Return the driver named name."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    :param name: The name of the driver."},{"line_number":124,"context_line":"    :param conf: The conf to pass to the driver."}],"source_content_type":"text/x-python","patch_set":31,"id":"1a4dcd0f_73fee8af","side":"PARENT","line":121,"in_reply_to":"1a4dcd0f_e63562f7","updated":"2015-08-10 13:20:53.000000000","message":"Done","commit_id":"92caf16970fa1cc42ee12ced60e0a3cd2d524e33"}],"gnocchi/storage/influxdb.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"e157ba360cc25e367de4a359de0201aaeee2ab5b","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                        % (e.message, e.code), exc_info\u003dTrue)"},{"line_number":75,"context_line":"            raise"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def _get_metric_id(self, metric):"},{"line_number":78,"context_line":"        return str(metric.id)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def _metric_exists(self, metric):"}],"source_content_type":"text/x-python","patch_set":14,"id":"9af37de9_96c15883","line":77,"updated":"2015-05-11 12:06:56.000000000","message":"@staticmethod","commit_id":"2af48c8c704256b8cf41f1a11658204726edac70"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"13442d62ffb485c6ad02f0f73659edd9b5845d79","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                        % (e.message, e.code), exc_info\u003dTrue)"},{"line_number":75,"context_line":"            raise"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def _get_metric_id(self, metric):"},{"line_number":78,"context_line":"        return str(metric.id)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def _metric_exists(self, metric):"}],"source_content_type":"text/x-python","patch_set":14,"id":"9af37de9_9e628ad7","line":77,"in_reply_to":"9af37de9_96c15883","updated":"2015-05-11 15:14:20.000000000","message":"I hope you have written a bot for that one, until the hacking rules get accepted ;)","commit_id":"2af48c8c704256b8cf41f1a11658204726edac70"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"e12fd2e236879cafb87a3197173aab6a9149ea09","unresolved":false,"context_lines":[{"line_number":39,"context_line":"               default\u003d\u0027root\u0027,"},{"line_number":40,"context_line":"               help\u003d\u0027InfluxDB username\u0027),"},{"line_number":41,"context_line":"    cfg.StrOpt(\u0027influxdb_password\u0027,"},{"line_number":42,"context_line":"               default\u003d\u0027root\u0027,"},{"line_number":43,"context_line":"               help\u003d\u0027InfluxDB password\u0027),"},{"line_number":44,"context_line":"    cfg.StrOpt(\u0027influxdb_database\u0027,"},{"line_number":45,"context_line":"               default\u003d\u0027gnocchi\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"ba3cc151_7fadf682","line":42,"updated":"2015-07-08 13:39:00.000000000","message":"secret\u003dTrue\n\nalso, probably not good to add default","commit_id":"8ffaa4d78373edc9dc7f9db1e45a6551512fab03"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"e12fd2e236879cafb87a3197173aab6a9149ea09","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"class InfluxDBStorage(storage.StorageDriver):"},{"line_number":58,"context_line":"    EPOCH \u003d datetime.datetime(1970, 1, 1)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def __init__(self, conf):"},{"line_number":61,"context_line":"        super(InfluxDBStorage, self).__init__(conf)"}],"source_content_type":"text/x-python","patch_set":17,"id":"ba3cc151_3f41aea9","line":58,"updated":"2015-07-08 13:39:00.000000000","message":"what\u0027s this for?","commit_id":"8ffaa4d78373edc9dc7f9db1e45a6551512fab03"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"a929933712c5eeaef788b01e0801c7ed7d642d68","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    def _wait_points_exists(self, metric_id, where):"},{"line_number":113,"context_line":"        # NOTE(sileht): influxdb query returns even the data is not yet"},{"line_number":114,"context_line":"        # insert in the asked series, the work is done in an async"},{"line_number":115,"context_line":"        # fashion (even the API is sync...), so a immediate get_measures"},{"line_number":116,"context_line":"        # after an add_measures will not returns the just inserted data."},{"line_number":117,"context_line":"        # perhaps related: https://github.com/influxdb/influxdb/issues/2450"},{"line_number":118,"context_line":"        # This is a workaround to wait that data appear in influxdb..."}],"source_content_type":"text/x-python","patch_set":29,"id":"1a4dcd0f_a38a9019","line":115,"updated":"2015-08-05 18:32:18.000000000","message":"\"even the API is sync\" or \"async\"?","commit_id":"84201b921cb3067c8e5e1ddeb38b32890416c376"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"52cc582b5f2fba539422afaf1678052b34cd34b9","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    def _wait_points_exists(self, metric_id, where):"},{"line_number":113,"context_line":"        # NOTE(sileht): influxdb query returns even the data is not yet"},{"line_number":114,"context_line":"        # insert in the asked series, the work is done in an async"},{"line_number":115,"context_line":"        # fashion (even the API is sync...), so a immediate get_measures"},{"line_number":116,"context_line":"        # after an add_measures will not returns the just inserted data."},{"line_number":117,"context_line":"        # perhaps related: https://github.com/influxdb/influxdb/issues/2450"},{"line_number":118,"context_line":"        # This is a workaround to wait that data appear in influxdb..."}],"source_content_type":"text/x-python","patch_set":29,"id":"1a4dcd0f_4a513835","line":115,"in_reply_to":"1a4dcd0f_a38a9019","updated":"2015-08-06 13:02:31.000000000","message":"Done","commit_id":"84201b921cb3067c8e5e1ddeb38b32890416c376"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"ffbd455716dae39130dd2bc1cd60f381e890ea0b","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                                               if right_time else \"\")"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"def find_nearliest_stable_point(timestamp, granularity, next\u003dFalse):"},{"line_number":278,"context_line":"    seconds \u003d timeutils.delta_seconds(START_EPOCH, timestamp)"},{"line_number":279,"context_line":"    seconds \u003d int(seconds - seconds % granularity)"},{"line_number":280,"context_line":"    stable_point \u003d START_EPOCH + datetime.timedelta(seconds\u003dseconds)"}],"source_content_type":"text/x-python","patch_set":31,"id":"1a4dcd0f_9a5b8e2e","line":277,"updated":"2015-08-10 10:50:20.000000000","message":"\"nearliest\" is such a fantastic term I reckon this method deserves a docstring explaining it","commit_id":"7e884c97c403f6be24e46f3b6d72c3069dec4d2f"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"c6edd02c88a6b01b96f9cd1bca38c752ddc69697","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                                               if right_time else \"\")"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"def find_nearliest_stable_point(timestamp, granularity, next\u003dFalse):"},{"line_number":278,"context_line":"    seconds \u003d timeutils.delta_seconds(START_EPOCH, timestamp)"},{"line_number":279,"context_line":"    seconds \u003d int(seconds - seconds % granularity)"},{"line_number":280,"context_line":"    stable_point \u003d START_EPOCH + datetime.timedelta(seconds\u003dseconds)"}],"source_content_type":"text/x-python","patch_set":31,"id":"1a4dcd0f_53f2cc9b","line":277,"in_reply_to":"1a4dcd0f_9a5b8e2e","updated":"2015-08-10 13:20:53.000000000","message":"Done","commit_id":"7e884c97c403f6be24e46f3b6d72c3069dec4d2f"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"5870968d3a97ef1fe07cb5c14e26098323fb1951","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def __init__(self, conf):"},{"line_number":64,"context_line":"        if not influxdb:"},{"line_number":65,"context_line":"            raise ImportError(\"Module influxdb could not be load\")"},{"line_number":66,"context_line":"        super(InfluxDBStorage, self).__init__(conf)"},{"line_number":67,"context_line":"        self._block_until_data_ingested \u003d ("},{"line_number":68,"context_line":"            conf.influxdb_block_until_data_ingested)"}],"source_content_type":"text/x-python","patch_set":32,"id":"1a4dcd0f_6f41f00a","line":65,"updated":"2015-08-11 08:11:00.000000000","message":"loaded","commit_id":"c89a98fd2f620aa8d702e38517541620e5a5f7fb"}],"gnocchi/utils.py":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"5cd0f453326afbf24c91aa911277966fe90918fa","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    return datetime.datetime(*args, tzinfo\u003diso8601.iso8601.UTC)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"def tz_to_utc(timestamp):"},{"line_number":77,"context_line":"    if isinstance(timestamp, datetime.datetime):"},{"line_number":78,"context_line":"        return timestamp.replace(tzinfo\u003diso8601.iso8601.UTC)"},{"line_number":79,"context_line":"    return timestamp"}],"source_content_type":"text/x-python","patch_set":19,"id":"3a50d1a3_4056d9ce","line":76,"updated":"2015-07-29 09:56:35.000000000","message":"Looks used only in one place so put it into influxdb.py","commit_id":"2fdea584717308dfb0cd651d90f165bd7a5614fc"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"5cd0f453326afbf24c91aa911277966fe90918fa","unresolved":false,"context_lines":[{"line_number":74,"context_line":""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"def tz_to_utc(timestamp):"},{"line_number":77,"context_line":"    if isinstance(timestamp, datetime.datetime):"},{"line_number":78,"context_line":"        return timestamp.replace(tzinfo\u003diso8601.iso8601.UTC)"},{"line_number":79,"context_line":"    return timestamp"}],"source_content_type":"text/x-python","patch_set":19,"id":"3a50d1a3_40db394f","line":77,"updated":"2015-07-29 09:56:35.000000000","message":"I don\u0027t like that, it sounds like a \"maybe do something otherwise well, we\u0027ll see\". Also you are blinding replacing the tzinfo without checking that there\u0027s NO tzinfo already.","commit_id":"2fdea584717308dfb0cd651d90f165bd7a5614fc"}],"setup-influxdb-tests.sh":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"5cd0f453326afbf24c91aa911277966fe90918fa","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  enabled \u003d true"},{"line_number":32,"context_line":"EOF"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"influxd -config $INFLUXDB_DATA/config \u003e ${INFLUXDB_DATA}/out 2\u003e\u00261 \u0026"},{"line_number":35,"context_line":"# Wait for InfluxDB to start listening to connections"},{"line_number":36,"context_line":"wait_for_line \"listening on HTTP\" ${INFLUXDB_DATA}/out"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-sh","patch_set":19,"id":"3a50d1a3_609af563","line":34,"updated":"2015-07-29 09:56:35.000000000","message":"If influxd is not installed, the script continues and all the tests fail. You should exit here saying that it won\u0027t work if influxd cannot be found/started.","commit_id":"2fdea584717308dfb0cd651d90f165bd7a5614fc"}],"test-requirements-py3.txt":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"0bf266de319f8fc69c8d57249ff65d2320bd8e7d","unresolved":false,"context_lines":[{"line_number":12,"context_line":"testtools\u003e\u003d0.9.38"},{"line_number":13,"context_line":"WebTest\u003e\u003d2.0.16"},{"line_number":14,"context_line":"doc8"},{"line_number":15,"context_line":"influxdb"}],"source_content_type":"text/plain","patch_set":4,"id":"9a80dd14_bc7390e5","line":15,"updated":"2015-03-20 09:03:39.000000000","message":"Why this is not a url like the other file ?","commit_id":"e36a76ad07d0cccf38cfbd9c5eb7e754d62d9fd7"}],"tox.ini":[{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"e12fd2e236879cafb87a3197173aab6a9149ea09","unresolved":false,"context_lines":[{"line_number":113,"context_line":"basepython \u003d python2.7"},{"line_number":114,"context_line":"commands \u003d {toxinidir}/setup-mysql-tests.sh {toxinidir}/setup-influxdb-tests.sh {toxinidir}/tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"[testenv:py34-postgresql-influxdb]"},{"line_number":117,"context_line":"deps \u003d -r{toxinidir}/requirements.txt"},{"line_number":118,"context_line":"       -r{toxinidir}/test-requirements-py3.txt"},{"line_number":119,"context_line":"setenv \u003d GNOCCHI_TEST_STORAGE_DRIVER\u003dinfluxdb"}],"source_content_type":"text/x-properties","patch_set":17,"id":"ba3cc151_f3effdae","line":116,"updated":"2015-07-08 13:39:00.000000000","message":"is there a reason we skipped mysql-influxdb py34","commit_id":"8ffaa4d78373edc9dc7f9db1e45a6551512fab03"},{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"3d20d869a5f4d2dc3bc75f387d4d21f8762dd0ff","unresolved":false,"context_lines":[{"line_number":113,"context_line":"basepython \u003d python2.7"},{"line_number":114,"context_line":"commands \u003d {toxinidir}/setup-mysql-tests.sh {toxinidir}/setup-influxdb-tests.sh {toxinidir}/tools/pretty_tox.sh \u0027{posargs}\u0027"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"[testenv:py34-postgresql-influxdb]"},{"line_number":117,"context_line":"deps \u003d -r{toxinidir}/requirements.txt"},{"line_number":118,"context_line":"       -r{toxinidir}/test-requirements-py3.txt"},{"line_number":119,"context_line":"setenv \u003d GNOCCHI_TEST_STORAGE_DRIVER\u003dinfluxdb"}],"source_content_type":"text/x-properties","patch_set":17,"id":"ba3cc151_70b2b14a","line":116,"in_reply_to":"ba3cc151_f3effdae","updated":"2015-07-09 16:53:31.000000000","message":"mysql used to not work in py34, I think we can add it now.","commit_id":"8ffaa4d78373edc9dc7f9db1e45a6551512fab03"}]}
