Changeset 23138 for main/trunk/greenstone2/cgi-bin/talkback-transfer.pl
- Timestamp:
- 2010-10-14T23:58:30+13:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/cgi-bin/talkback-transfer.pl
r23091 r23138 1 # /usr/bin/perl -w1 #!/usr/bin/perl -w 2 2 3 3 use strict; … … 18 18 19 19 20 sub 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 29 sub 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 20 56 sub main 21 57 { … … 24 60 $gsdl_cgi->setup_gsdl(); 25 61 62 my $gsdl_home = $gsdl_cgi->get_gsdl_home(); 63 my $collect_home = &util::filename_cat($gsdl_home,"collect"); 64 65 require dbutil; 26 66 require talkback; 27 67 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; 34 76 } 35 77 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"; 43 79 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'); 51 83 52 84 my $browser = LWP::UserAgent->new(agent => 'Perl File Upload'); … … 56 88 [ 'yes_upload' => '1', 57 89 'process' => '1', 58 'rand_string' => $rand_string, 59 'uploadedfile' => [$uploadedfile, "test-medium.pdf"] 90 'uploadedfile' => [$docxml_filename, "$uniq_prefix-doc.xml"] 60 91 ], 61 92 'Content_Type' => 'form-data'
Note:
See TracChangeset
for help on using the changeset viewer.