Skip to content

Conversation

ctgraham
Copy link
Member

@ctgraham ctgraham commented Apr 3, 2025

Github issue

(link)

Other Relevant Links (Google Groups discussion, related pull requests, etc.)

Method is called:
https://github.com/SFULibrary/islandora_datastream_crud/blob/1509191b3f21bd2e866f78eaad145103cf2759f3/islandora_datastream_crud.drush.inc#L487
and
https://github.com/SFULibrary/islandora_datastream_crud/blob/1509191b3f21bd2e866f78eaad145103cf2759f3/islandora_datastream_crud.drush.inc#L499

What does this Pull Request do?

This allows for --filename_separator to work as expected in push operations.

What's new?

Calculate the verbatim PID and DSID first, if using the explicit separator. Otherwise, fall back to the lossy underscore logic.

How should this be tested?

islandora_datastream_crud_push_datastreams --filename_separator=^

Additional Notes

Example error output:

Working Temporary Directory: /workbench/mrbst20/tmp.gokjI8YgPZ
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F001_I01^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F002_I01^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F003_I01^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F003_I02^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F004_I01^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F004_I02^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F004_I03^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F005_I01^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F006_I01^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F006_I02^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F007_I01^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F007_I02^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F007_I03^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F008_I01^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F009_I01^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F009_I02^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F009_I03^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F009_I04^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F010_I01^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F010_I02^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F010_I03^RELS-EXT.rdf
/workbench/mrbst20/tmp.gokjI8YgPZ/rels-ext/pitt:PSS031_B001_F011_I01^RELS-EXT.rdf
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
The PID (pitt:PSS031:B001) is not valid.                                                                                 [error]
CRUD push returned an error

Interested parties

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.

1 participant