Ignore:
Timestamp:
2010-10-14T23:58:30+13:00 (14 years ago)
Author:
davidb
Message:

Elimination of rand_string

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/cgi-bin/talkback-transfer.pl

    r23091 r23138  
    1 #/usr/bin/perl -w
     1#!/usr/bin/perl -w
    22
    33use strict;
     
    1818
    1919
     20sub get_infodb_type
     21{
     22    my ($collect_home,$collect) = @_;
     23
     24    print STDERR "*** Need to implement extracting infodb_type from collect.cfg\n";
     25    return "gdbm";
     26}
     27
     28
     29sub oid_to_docxml_filename
     30{
     31    my ($collect_home,$collect,$docid) = @_;
     32
     33    my $infodb_type = get_infodb_type($collect_home,$collect);
     34
     35    # Obtain the collect and archive dir   
     36    my $archive_dir = &util::filename_cat($collect_home,$collect,"archives");
     37
     38    # Obtain the doc.xml path for the specified docID
     39    my $arcinfo_doc_filename
     40    = &dbutil::get_infodb_file_path($infodb_type, "archiveinf-doc",
     41                    $archive_dir);
     42    my $doc_rec_string
     43    = &dbutil::read_infodb_entry($infodb_type, $arcinfo_doc_filename,
     44                     $docid);
     45    my $doc_rec = &dbutil::convert_infodb_string_to_hash($doc_rec_string);   
     46    my $doc_xml_file = $doc_rec->{'doc-file'}->[0];
     47   
     48    # The $doc_xml_file is relative to the archives, so now let's get the
     49    # full path
     50    my $archives_dir = &util::filename_cat($collect_home,$collect,"archives");   
     51    my $doc_xml_filename = &util::filename_cat($archives_dir,$doc_xml_file);
     52
     53    return $doc_xml_filename;
     54}
     55
    2056sub main
    2157{
     
    2460    $gsdl_cgi->setup_gsdl();
    2561
     62    my $gsdl_home = $gsdl_cgi->get_gsdl_home();
     63    my $collect_home = &util::filename_cat($gsdl_home,"collect");
     64
     65    require dbutil;
    2666    require talkback;
    2767
    28     my $rand_string;
    29     if (defined $gsdl_cgi->param('rand_string')) {
    30     $rand_string = $gsdl_cgi->param('rand_string');
    31     }
    32     else {
    33     $rand_string = "b310f690273cdc025e5a9b49fca8eee8";
     68    my $oid     = $gsdl_cgi->{'oid'};
     69    my $collect = $gsdl_cgi->{'collect'};
     70
     71    # sanity check
     72    if (!defined $oid || !defined $collect) {
     73    print STDOUT "Content-type:text/plain\n\n";
     74    print STDOUT "ERROR: Malformed CGI argments.  Neeed to specify 'oid' and 'collect'\n";
     75    exit 0;
    3476    }
    3577
    36     my $uploadedfile;
    37     if (defined $gsdl_cgi->param('uploadedfile')) {
    38     $uploadedfile = $gsdl_cgi->param('uploadedfile');
    39     }
    40     else {
    41     $uploadedfile = "C:\\cygwin\\tmp\\test-medium.pdf";
    42     }
     78    my $uniq_prefix = "$collect-$oid";
    4379
    44     my $talktoUploadURL;
    45     if (defined $gsdl_cgi->param('talkbackUpload')) {
    46     $talktoUploadURL = $gsdl_cgi->param('talktoUpload');
    47     }
    48     else {
    49     $talktoUploadURL = "http://www.nzdl.org/gsdl-new/cgi-bin/talkback-progressbar.pl";
    50     }
     80    my $docxml_filename = oid_to_docxml_filename($collect_home,$collect,$oid);
     81
     82    my $talktoUploadURL = $gsdl_cgi->param('talktoUpload');
    5183
    5284    my $browser = LWP::UserAgent->new(agent => 'Perl File Upload');
     
    5688       [ 'yes_upload'   => '1',
    5789         'process'      => '1',
    58          'rand_string'  => $rand_string,
    59          'uploadedfile' => [$uploadedfile, "test-medium.pdf"]
     90         'uploadedfile' => [$docxml_filename, "$uniq_prefix-doc.xml"]
    6091         ],
    6192       'Content_Type' => 'form-data'
Note: See TracChangeset for help on using the changeset viewer.