Hi Tomek,
In data mercoledì 8 maggio 2013 13:03:22, Pazera, Tomasz ha scritto:
> some records harvested via oai cannot afterwards be edited properly.
> This bug seems to appear only if a record has the following datafield
> (after oaiharvest):
> 000145682 8564_
> $$uhttps://bib-pubdb1.desy.de/record/145682/files/art%3A10.1007%2FJHEP02
> %282013%29071.pdf
>
> this file is listed under
> "https://bib-pubdb1.desy.de/record/145682/files/", but if you try to
> access, it ends up in:
> "The requested URL /record/145682/files/art:10.1007/JHEP02(2013)071.pdf
> was not found on this server "
>
> when I try to change any Field in that record(i.e. 980__c:DELETED) via
> bibedit the corresponding bibupload fails:
> #############
> 2013-05-08 12:21:53 --> Task #11341 started.
> 2013-05-08 12:21:53 --> Input file
> '/opt/invenio/var/tmp/bibedit_record_145682_1.xml', input mode
> 'replace'.
> 2013-05-08 12:21:54 --> Stage 2B failed: Error while synchronizing
> 8564 tags: invalid literal for int(): 145682/art:10.1007
> 2013-05-08 12:21:54 --> Restored original record
> #############
>
> It looks like wrong behavior, while escaping special chars in
> filenames or something like that...
> We are running Invenio 1.0.2. Any help would be appreciated
In general it should not be possible to add documents with a “/” in the name.
While this bug is investigated, you might wish to try physically removing the
wrong fulltext file from the record by directly using the BibDocFile APIs.
E.g.:
$ from invenio.bibdocfile import BibRecDocs
$ docs = BibRecDocs(11341)
$ for bibdoc in docs.list_bibdocs():
. bibdoc.delete()
Then if you try to delete the record you should be able to.
Cheers!
Sam
--
Samuele Kaplun
Invenio Developer ** <http://invenio-software.org/>
INSPIRE Service Manager ** <http://inspirehep.net/>