Gitlab will migrate to a new storage backend starting 0300 UTC on 2020-04-04. We do not anticipate a maintenance window for this migration. Performance may be impacted over the weekend. Thanks for your patience.

  1. 18 Sep, 2018 32 commits
  2. 17 Sep, 2018 1 commit
  3. 13 Sep, 2018 1 commit
  4. 31 Jul, 2018 2 commits
    • Leo Pound Singer's avatar
      Make HTTPError pickleable · dd107fa3
      Leo Pound Singer authored
      According to the [Celery manual]:
      
      > A rarely known Python fact is that exceptions must conform to
      > some simple rules to support being serialized by the pickle
      > module.
      >
      > Tasks that raise exceptions that aren’t pickleable won’t work
      > properly when Pickle is used as the serializer.
      >
      > To make sure that your exceptions are pickleable the exception
      > MUST provide the original arguments it was instantiated with in
      > its .args attribute. The simplest way to ensure this is to have
      > the exception call Exception.__init__.
      
      The class `ligo.gracedb.exceptions.HTTPError` does not follow
      these rules, so it is not pickleable. Here is a demonstration of
      that:
      
          >>> import pickle
          >>> from ligo.gracedb.exceptions import HTTPError
          >>> pickle.loads(pickle.dumps(HTTPError(404, 'foo', 'bar')))
          Traceback (most recent call last):
            File "<stdin>", line 1, in <module>
          TypeError: __init__() missing 2 required positional arguments:
          'reason' and 'message'
      
      This patch makes `HTTPError` pickleable so that it can be properly
      represented in Celery task stack traces.
      
      [Celery manual]: http://docs.celeryproject.org/en/latest/userguide/tasks.html#creating-pickleable-exceptions
      dd107fa3
    • Duncan Macleod's avatar
      setup.py: parse version from version.py don't import · ab32741c
      Duncan Macleod authored
      its simpler to parse the version number from `ligo.gracedb.version`, rather than importing, so that `six` isn't required on the build machine _before_ building. importing in setup.py has also been seen to confuse some coverage parsers, and other profiling tools.
      ab32741c
  5. 12 Jul, 2018 4 commits