Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update legacy zipshelve #3

Open
iabraham opened this issue Mar 22, 2019 · 3 comments
Open

Update legacy zipshelve #3

iabraham opened this issue Mar 22, 2019 · 3 comments

Comments

@iabraham
Copy link
Owner

A minimally working (on UNIX) implementation of shelve with zip has been ported over from here. The linked file is written in legacy Python2 format and follows different PEP and coding conventions.

Its been minimally modified to work on Python3 environment of this repository, however:

  • A stylistic and functional update is highly recommended. For e.g. Utilizing pathlib instead of string operations to parse file names and check if they exist or not.
  • The context clause usage, (i.e. with something as athing:) seems to work, but needs to be double checked to make sure nothing will break.
@iabraham
Copy link
Owner Author

There could also be a python bug. Because I don't seem to be able to open a shelf in readonly mode.

@iabraham
Copy link
Owner Author

The bug is resolved in Ubuntu as per here and links therein.

@iabraham
Copy link
Owner Author

iabraham commented Apr 1, 2019

On MacOS and with then ndbm module there is a known bug on filesize/memory limitation: see here, here and here. This does not seem to be a problem on Windows or Linux.

Possible fixes:

  • Might have to dump shelve or stick to Linux.
  • Ask OSX users to install gdbm via brew install gdbm(see here) and use that instead

The second approach will likely be better since the Campus Cluster usually runs Linux.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant