EPrints Technical Mailing List Archive

See the EPrints wiki for instructions on how to join this mailing list and related information.

Message: #09006


< Previous (by date) | Next (by date) > | < Previous (in thread) | Next (in thread) > | Messages - Most Recent First | Threads - Most Recent First

Re: [EP-tech] Generate abstract by item type


CAUTION: This e-mail originated outside the University of Southampton.
Dear David

It was another repo (internal access) only.

I use the latest geneate_abstract you gave.

Are there are 2 steps (command):
1. Generate a list of eprintid (with mysql)
2. generate_abstract those id (arrange with editor)

Or is it can be run once?

Mine got

Unknown option: ?,
Unknown option: i,
Unknown option: auto-rehash
Unknown option: disable-auto-rehash.
Unknown option: skip-auto-rehash
Unknown option: a,
Unknown option: no-auto-rehash
Unknown option: auto-vertical-output
Unknown option: b,
Unknown option: batch
Unknown option: silent.)
Unknown option: bind-address

Izwan


On Thu, Jul 7, 2022 at 2:59 PM David R Newman <drn@ecs.soton.ac.uk> wrote:

Yuri is right, I did not include the -B, which I used when I tested this myself.  Also, I forgot that you could use -N to remove the column name, (save needing the "| tail -n +2").  As you have put the MySQL command in backticks (`), this will effectively remove new lines, so there is no need to include the "GROUP_CONCAT(eprintid SEPARATOR ' ')" you can just use eprintid, so the following will do the job assuming the eprint type cartographic is correct:

./generate_abstracts digimap `mysql -u username -p repopassword eprints  -N -B  -e "SELECT eprintid FROM eprint WHERE type = 'cartographic' AND eprint_status = 'archive';"`

On 07/07/2022 7:43 am, Yuri via Eprints-tech wrote:
CAUTION: This e-mail originated outside the University of Southampton.

I would first run:

mysql -u username -p repopassword eprints -e "SELECT eprintid FROM eprint WHERE type = 'cartographic' AND eprint_status = 'archive';" | tail -n +2

to see if the output is ok (should return a list of pids separated by spaces. Then yes, it should be it. Beware that if the password contains some characters interpreted by bash, maybe some escaping could be necessary.

Note: you've to do it because the format of the command output is:

+----------+
| eprintid |
+----------+
|     XXXX |

...

+----------+

so you will not get the list separated by a space. Is this correct, David? Here you can find some hint, but you can use a editor to get the list of eprintids to get this format:

XXXX ZZZZ WWWW

adding -N -B remove the extra characters from the output (|, headers) and you can use group_concat to get all in one line:

mysql -u username -p repopassword eprints  -N -B  -e "SELECT GROUP_CONCAT(eprintid SEPARATOR ' ') FROM eprint WHERE type = 'cartographic' AND eprint_status = 'archive';"

so the command should be

./generate_abstracts digimap `mysql -u username -p repopassword eprints  -N -B  -e "SELECT GROUP_CONCAT(eprintid SEPARATOR ' ') FROM eprint WHERE type = 'cartographic' AND eprint_status = 'archive';"`


Il 07/07/22 02:36, MOHD.IZWAN SALIM via Eprints-tech ha scritto:
Dear Yuri and David, is this the exact command that I have to run in the terminal?

./generate_abstracts digimap `mysql -u username -p repopassword eprints -e "SELECT eprintid FROM eprint WHERE type = 'cartographic' AND eprint_status = 'archive';" | tail -n +2`

digimap is my repoid
eprints is my database

Izwan
UiTM Institutional Repository


On Wed, Jul 6, 2022 at 7:50 PM Yuri via Eprints-tech <eprints-tech@ecs.soton.ac.uk> wrote:
CAUTION: This e-mail originated outside the University of Southampton.

An idea could be to have a generic utils with a query parameter in json
format, so a search is run with that query and the resulting eprintids
used. For example:

bin/find_eprintids <ARCHIVEID> -query '{"type": "conference_item",
"eprint_status": "archive"}' |  xargs bin/generate_abstracts <ARCHIVEID>

(dates could be expressed in iso format). The util 'find_eprintids'
would do:

foreach $key (keys %fields)
{
  $searchexp->add_field( $ds->get_field( $key ), $fields($key) );
}

my $list = $searchexp->perform_search;

and then return the eprintids from the list.

This could help to combine together multiple search results in a single
file, and cat the file | xargs bin/generate_abstracts <ARCHIVEID>.

I usually use the db as below to get all the eprintids I need to process
but an "eprints" search could be useful/simpler to use.


Il 06/07/22 10:48, David R Newman via Eprints-tech ha scritto:
>
> Hi Izwan,
>
> Unfortunately, there is not currently an easy way to do this bar
> writing your own script.  For the next release of EPrints I have
> expanded the epadmin scripts capabilities so all functions where you
> could only provide a single eprint ID, you can now provide multiple
> eprint IDs or even a sequence of eprint IDs (e.g. 1-10 for the first
> 10 eprint IDs).  What your email has meant I have realised is that as
> generate_abstracts is a separate script, I have not introduced the
> same functionality to that.  I have just been working on fixing that
> oversight and as it is a stand-alone script you should be able to
> download and use the latest version from here:
>
> https://eur03.safelinks.protection.outlook.com/?url="">
>
> Although the script does not allow you to specify a type option you
> can do a little trick from the command line:
>
> bin/generate_abstracts <ARCHIVEID> `mysql -u <DBUSER> -p<DBPASSWORD>
> <DBNAME> -e "SELECT eprintid FROM eprint WHERE type =
> 'conference_item' AND eprint_status = 'archive';" | tail -n +2`
>
> What this does is queries the database for all live archive items of a
> particular eprint type (in this case conference_item) and prints out
> this list of eprint IDs.  the "| tail -n +2" keeps everything from the
> 2nd line onwards (i.e. removes the first line), as this contains the
> name of the column (i.e. eprintid), which is not an eprint ID in itself.
>
> Regards
>
> David Newman
>
> On 06/07/2022 6:15 am, MOHD.IZWAN SALIM via Eprints-tech wrote:
>> *CAUTION:* This e-mail originated outside the University of Southampton.
>> Dear all, can we generate abstract pages by an option item type or
>> other metadata?
>>
>> Regards
>>
>> *Izwan*
>> UiTM Institutional Repository
>>
https://eur03.safelinks.protection.outlook.com/?url="">
>> <
https://eur03.safelinks.protection.outlook.com/?url="">>
>>
>> *PENAFIAN: *E-mel ini dan apa-apa fail yang dihantar bersama-samanya
>> ("Mesej") adalah dihasratkan hanya untuk kegunaan penerima yang
>> dinyatakan di atas dan mungkin mengandungi maklumat yang tidak umum,
>> bermilik, istimewa, sulit dan dikecualikan dari penzahiran di bawah
>> undang-undang yang terpakai termasuklah Akta Rahsia Rasmi 1972. _BACA
>> SELANJUTNYA..._
>> <
https://eur03.safelinks.protection.outlook.com/?url="">>
>>
>> ------------------------------------------------------------------------
>> *DISCLAIMER :*/This e-mail and any files transmitted with it
>> ("Message") is intended only for the use of the recipient(s) named
>> above and may contain information that is non-public,  proprietary,
>> privileged,  confidential and  exempt  from  disclosure under
>> applicable law including the Official Secrets Act 1972. /_READ
>> MORE..._
>> <
https://eur03.safelinks.protection.outlook.com/?url="">>
>>
>> *** Options:
http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
>> *** Archive:https://eur03.safelinks.protection.outlook.com/?url="">
>> *** EPrints community wiki:
https://eur03.safelinks.protection.outlook.com/?url="">
>
> *** Options:
http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
> *** Archive: https://eur03.safelinks.protection.outlook.com/?url="">
> *** EPrints community wiki:
https://eur03.safelinks.protection.outlook.com/?url="">

*** Options:
http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
*** Archive: http://www.eprints.org/tech.php/
*** EPrints community wiki: http://wiki.eprints.org/

PENAFIAN: E-mel ini dan apa-apa fail yang dihantar bersama-samanya ("Mesej") adalah dihasratkan hanya untuk kegunaan penerima yang dinyatakan di atas dan mungkin mengandungi maklumat yang tidak umum, bermilik, istimewa, sulit dan dikecualikan dari penzahiran di bawah undang-undang yang terpakai termasuklah Akta Rahsia Rasmi 1972. BACA SELANJUTNYA...


DISCLAIMER : This e-mail and any files transmitted with it ("Message") is intended only for the use of the recipient(s) named above and may contain information that is non-public,  proprietary,  privileged,  confidential  and  exempt  from  disclosure under applicable law including the Official Secrets Act 1972. READ MORE...

*** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
*** Archive: http://www.eprints.org/tech.php/
*** EPrints community wiki: http://wiki.eprints.org/

PENAFIAN: E-mel ini dan apa-apa fail yang dihantar bersama-samanya ("Mesej") adalah dihasratkan hanya untuk kegunaan penerima yang dinyatakan di atas dan mungkin mengandungi maklumat yang tidak umum, bermilik, istimewa, sulit dan dikecualikan dari penzahiran di bawah undang-undang yang terpakai termasuklah Akta Rahsia Rasmi 1972. BACA SELANJUTNYA...


DISCLAIMER : This e-mail and any files transmitted with it ("Message") is intended only for the use of the recipient(s) named above and may contain information that is non-public,  proprietary,  privileged,  confidential  and  exempt  from  disclosure under applicable law including the Official Secrets Act 1972. READ MORE...