12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- public static int main(string[] args) {
- var creds = new Ppub.CollectionMemberCredentials.from_string("PPCLMC\nPKSIG EDXLsUvOZEne+xcv+huvSaqNBs8TTldCv6hd69GdmYw=\nPKENC WF6pIAlSeol1Ikpr2N5iO8fsjoFGf02DGafJ/aBuSB4=\nSKSIG 0njSgyndiE1tND5IGM8rrd/6QQQ284mDYGarkjfK57MQNcuxS85kSd77Fy/6G69Jqo0GzxNOV0K/qF3r0Z2ZjA==\nSKENC R18jlqqbdjmf4lbocONVudFfNoB+mhSe+iffoH8DEN4=");
- // var uri = new Ppub.CollectionUri.from_string(args[2]);
- var collection_id = new Invercargill.BinaryData.from_base64("y8ibw54A93LDBKbgWm1EJ/WlbOkGX60DK+qp2lBHpjk="); // new Invercargill.BinaryData.from_byte_array(uri.collection_id); //new Invercargill.BinaryData.from_base64("y8ibw54A93LDBKbgWm1EJ/WlbOkGX60DK+qp2lBHpjk=");
-
- var client = new Pprf.HttpPprfClient("http://localhost:8080/");
- var results = client.get_listing(collection_id, 0, 10, Pprf.Messages.ListingColumn.TITLE | Pprf.Messages.ListingColumn.AUTHOR | Pprf.Messages.ListingColumn.POSTER);
- foreach (var result in results.results) {
- print(@"\t$(result.name): $(result.metadata.title) by $(result.metadata.author)");
- if(result.metadata.poster != null) {
- print(@" ($(result.metadata.poster))\n");
- var save = File.new_for_path("image").create(FileCreateFlags.REPLACE_DESTINATION);
- var asset = client.get_asset (collection_id, result.name, result.metadata.poster);
- print(@"Downloading $(result.metadata.poster) ($(asset.mime_type)) $(asset.asset_data.body_size)\n");
- asset.asset_data.write_to (save);
- print(@"Downloading PPUB\n");
- var save2 = File.new_for_path("ppub").create(FileCreateFlags.REPLACE_DESTINATION);
- var pub = client.get_publication(collection_id, result.name);
- pub.ppub_data.write_to(save2);
- }
- else{
- print("\n");
- }
- }
- return 0;
- var upload_file = File.new_for_path(args[1]);
- var file_size = upload_file.query_info("*", FileQueryInfoFlags.NONE).get_size();
- var file_name = upload_file.get_basename();
-
- var collection = client.get_collection(collection_id);
- var member = Pprf.MemberIdentity.get_usable_identities(Invercargill.single(creds), collection).first_or_default();
- if(member == null) {
- print("No usable identity\n");
- return -2;
- }
- // print(@"Acting as $(member.name) on $uri\n");
- print("Regisering name\n");
- var exists = false;
- try {
- client.register_name(collection_id, file_name, member);
- }
- catch(Pprf.Messages.PprfFailureError.NAME_EXISTS e) {
- print("Name already exists, will overwrite\n");
- exists = true;
- }
- print("Beginning upload\n");
- var file_stream = upload_file.read();
- var flags = exists ? Pprf.Messages.FinaliseUploadFlags.OVERWRITE_DESTINATION : 0;
- client.upload(collection_id, file_stream, file_size, file_name, exists, member, cb, flags);
- print("Computing publication signature\n");
- var digest = Pprf.Util.file_checksum(upload_file);
- var publication = new Ppub.CollectionPublication(file_name, new DateTime.now_local(), member.name, creds, digest);
- print("Publishing publication\n");
- client.publish(collection_id, publication, member);
- print("Rebuilding index\n");
- client.rebuild_index(collection_id, member);
-
- print("Done\n");
- return 0;
- }
- void cb(uint64 sent, uint64 total, Pprf.UploadStatus status) {
- var percent = (int)(((float)sent / (float)total)*100);
- print(@"Callback: $sent / $total\t\t$percent%\t$status\n");
- }
|