Giter Club home page Giter Club logo

Comments (12)

balihb avatar balihb commented on June 24, 2024 1

from check-jsonschema.

kurtmckee avatar kurtmckee commented on June 24, 2024 1

@balihb I have seen OverflowError pop up with datetime operations on Windows when it's a 32-bit version of Python. Would you run the following to help identify whether this is 32-bit or 64-bit Python?

python -c "import sys; print(sys.version)"

That should help focus the troubleshooting effort, by either identifying -- or eliminating -- one possible cause for that OverflowError. Thanks!

from check-jsonschema.

balihb avatar balihb commented on June 24, 2024 1

from check-jsonschema.

balihb avatar balihb commented on June 24, 2024 1

ok, I have two solution:

    def _lastmod_from_response(self, response: requests.Response) -> float:
        if "last-modified" in response.headers:
            return time.mktime(
                time.strptime(
                    response.headers.get("last-modified"),
                    self._LASTMOD_FMT,
                )
            )
        else:
            return time.mktime(time.gmtime(2*86400)) - 2*86400

but I think this should be enough:

    def _lastmod_from_response(self, response: requests.Response) -> float:
        if "last-modified" in response.headers:
            return time.mktime(
                time.strptime(
                    response.headers.get("last-modified"),
                    self._LASTMOD_FMT,
                )
            )
        else:
            return 0

from check-jsonschema.

sirosen avatar sirosen commented on June 24, 2024

Thanks for the bug report!

I wasn't able to reproduce this. In fact, I'm not able to use that schema at all, as it does not appear to be a valid JSON Schema. Checking it with --check-metaschema fails with a long list of errors.

Maybe the schema has changed between the time of your report and my test? I don't have a lot of bandwidth to look into this right now, but if the schema is valid, that would mean something is wrong with the validation currently done under --check-metaschema.

from check-jsonschema.

balihb avatar balihb commented on June 24, 2024

from check-jsonschema.

sirosen avatar sirosen commented on June 24, 2024

I was trying on Windows. might it be a problem with platform support?

It shouldn't be, but also it shouldn't fail at all so I'm remaining open-minded. 😉

Could you post the results of running one of the failing commands with --traceback-mode full?
My current suspicion is that something is amiss with the handling of Last-Modified times for file downloads, but it's not something I've seen before, so I need a bit more info to track it down.

from check-jsonschema.

kurtmckee avatar kurtmckee commented on June 24, 2024

Thanks @balihb, and have a great weekend!

from check-jsonschema.

balihb avatar balihb commented on June 24, 2024

similar issue I've found:
neo4j/neo4j-python-driver#302
also from the time doc:
The earliest date for which it can generate a time is platform-dependent.

from check-jsonschema.

balihb avatar balihb commented on June 24, 2024

using dateutils might also be a good option:
https://dateutil.readthedocs.io/en/stable/parser.html#dateutil.parser.parse
https://stackoverflow.com/a/52157795

from check-jsonschema.

sirosen avatar sirosen commented on June 24, 2024

Thanks for running this issue down and sharing your research!

@kurtmckee and I chatted about this a little bit, and I'm going to take a slightly different approach to fixing this, using try-except to handle a few different cases.

I'll post a PR shortly, so you'll be able to see the fix with tests, but the additional scenarios we wanted to handle include:

  • Last-Modified was present but malformed (unparseable)
  • Last-Modified was present with a value which triggers the OverflowError

@balihb, I'll make sure to credit you for your work in the changelog! 👍

from check-jsonschema.

sirosen avatar sirosen commented on June 24, 2024

This should be fixed in v0.23.2 which I just released.

Please let me know if you still see this problem or run into other issues!

from check-jsonschema.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.