Git Product home page Git Product logo

Comments (10)

ianare avatar ianare commented on May 26, 2024

Yes unit tests are indeed a major shortcoming of the library. I've started collecting images but have not yet started writting the actual tests.

I thought it more convenient to put these in another repo to not burden the main repo with a lot of binary data. It could be added as a submodule.

https://github.com/ianare/exif-py-tests

from exif-py.

ianare avatar ianare commented on May 26, 2024

I took a quick look at your fork, it looks like really good stuff! Things which I have wanted to do for a long time... many thanks.

One thing which troubles me though is the renaming of the class from EXIF to exifpy. While I admit the original name chose is not the best, I'm concerned that changing it would break any existing scripts or applications. As it is the library is used in several applications.

from exif-py.

rshk avatar rshk commented on May 26, 2024

👍 for keeping the test data in a separate repo, I was thinking about that too.. I'm currently writing some tests for the "utilities" (eg. the functions to read integers with different endianess, etc.); then, I'm going to write some tests to check that the extracted tags match the ones extracted by the old version on all the test images. Do you have any other tool to extract exif data, that can be used for comparison?

For the package rename: I am aware that it would break existing applications, but:

  • In any case, the new library is not 100% compatible with the old one (some kwargs changed, the return value is now a lazy object instead of a dict, ...) so, in any case, it would require some checking to make sure everything is still working properly in the application using it.
  • If there's the need, we could easily write a "wrapper" module, called EXIF, exposing the exact same interface as the previous version, but using the new library underneath
  • I'd bump the major version to clearly mark the changes
  • Since it's not in pypi, nor installable from git due to missing setup.py, I don't think there would be any "automatic breakages" due to the new version being pulled in by another application requirements, right?

from exif-py.

melinath avatar melinath commented on May 26, 2024

Tests still coming?

from exif-py.

rshk avatar rshk commented on May 26, 2024

I'm not working with this library ATM (not bc of better one, just dropped
the main project for which I needed it :))

Anyways, if there is interest I can see what can I do with resuming
development..

from exif-py.

ianare avatar ianare commented on May 26, 2024

The develop branch now uses travis for automated testing.

For now all it does is run all images in the test repo, there is no verification of the output, just that it doesn't fail.

This was done mainly for checking the move to python3 compatibility.

from exif-py.

rshk avatar rshk commented on May 26, 2024

@ianare yeah, I guess I'd have to merge quite a bunch of stuff to keep up with current development.. Did you make any big changes in the meanwhile / integrated something with my fork / ..?

I remember I was replacing eg. all the manual reading of integers to use the struct module, etc. but I'd have to re-read the code, as I worked on it quite a while ago..

from exif-py.

jayvdb avatar jayvdb commented on May 26, 2024

@rshk , your fork still has lots of very good changes. Do you plan on submitting them? There are not significant changes here that conflict with your work.

from exif-py.

jayvdb avatar jayvdb commented on May 26, 2024

I've got the sample exif tests running on a few extra platforms at https://build.opensuse.org/package/show/home:jayvdb:moban/python-ExifRead , using only #58 for Python 3 support, and everything is all green

from exif-py.

ianare avatar ianare commented on May 26, 2024

Closing this. I want to be able to output to JSON for automated testing. Going the functional rather than unit route.

from exif-py.

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.