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

Added protocol plugins - continuation of #958 #959

Merged
merged 92 commits into from
Oct 15, 2024
Merged

Conversation

jesper-friis
Copy link
Collaborator

@jesper-friis jesper-friis commented Oct 6, 2024

Description

Continuation of PR #958, but with PR #939 merged in.

Added protocol plugins to separate protocol from storage driver. The protocol plugins are currently only implemented in Python.

Currently 3 protocols plugins has been added: file, http and sftp.


Suggestions from review:

  • Document that dlite.Instance.from_url() now support the following forms:
    - driver://netloc/path?options#id # old form
    - protocol+driver://netloc/path?options#id
    - protocol://netloc/path?driver=driver;options#id
  • Add test for file protocol with a file
  • Add test for file protocol with a directory
  • Add test for sftp protocol against sftp server on localhost
  • Document that it is possible for a plugin to only implement the from_bytes() or to_bytes() class methods

Type of change

  • Bug fix & code cleanup
  • New feature
  • Documentation update
  • Test update

Checklist for the reviewer

This checklist should be used as a help for the reviewer.

  • Is the change limited to one issue?
  • Does this PR close the issue?
  • Is the code easy to read and understand?
  • Do all new feature have an accompanying new test?
  • Has the documentation been updated as necessary?

jesper-friis and others added 30 commits September 3, 2024 22:00
- include utility programs like dlite-getuuid
- include storages
- include README.md and LICENSE
Copy link
Collaborator

@francescalb francescalb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good, I am still missing a bit clearer description of which methods that must be implemented in a plugin and under which conditions.. See my suggestion. Something like this could (should) be added to the template, I think. Otherwise it seem OK.

@jesper-friis
Copy link
Collaborator Author

Good, I am still missing a bit clearer description of which methods that must be implemented in a plugin and under which conditions.. See my suggestion. Something like this could (should) be added to the template, I think. Otherwise it seem OK.

Good suggestion. I committed it.

@jesper-friis jesper-friis merged commit 761701a into master Oct 15, 2024
14 checks passed
@jesper-friis jesper-friis deleted the protocols2 branch October 15, 2024 12:24
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

Successfully merging this pull request may close these issues.

2 participants