f-spot r4046 - in trunk/extensions: . SmugMugExport SmugMugExport/SmugMugNet
- From: sdelcroix svn gnome org
- To: svn-commits-list gnome org
- Subject: f-spot r4046 - in trunk/extensions: . SmugMugExport SmugMugExport/SmugMugNet
- Date: Thu, 5 Jun 2008 15:54:56 +0000 (UTC)
Author: sdelcroix
Date: Thu Jun 5 15:54:56 2008
New Revision: 4046
URL: http://svn.gnome.org/viewvc/f-spot?rev=4046&view=rev
Log:
2008-05-29 Lorenzo Milesi <maxxer yetopen it>
* SmugMugExport/SmugMugExport.addin.xml: Bump version to 0.4.4.3.
* SmugMugExport/SmugMugExport.cs: fix div by 0. Check if returned
photo_id is valid. fix connection check.
* SmugMugExport/SmugMugNet/SmugMugApi.cs: use JSON instead of REST.
Code by Thomas Van Machelen. fix bgo#534902.
Modified:
trunk/extensions/ChangeLog
trunk/extensions/SmugMugExport/SmugMugExport.addin.xml
trunk/extensions/SmugMugExport/SmugMugExport.cs
trunk/extensions/SmugMugExport/SmugMugNet/SmugMugApi.cs
Modified: trunk/extensions/SmugMugExport/SmugMugExport.addin.xml
==============================================================================
--- trunk/extensions/SmugMugExport/SmugMugExport.addin.xml (original)
+++ trunk/extensions/SmugMugExport/SmugMugExport.addin.xml Thu Jun 5 15:54:56 2008
@@ -1,5 +1,5 @@
<Addin namespace="FSpot"
- version="0.4.4.2"
+ version="0.4.4.3"
name="SmugMug Export"
description="This extension allows you to export your photos to SmugMug."
author="F-Spot team"
Modified: trunk/extensions/SmugMugExport/SmugMugExport.cs
==============================================================================
--- trunk/extensions/SmugMugExport/SmugMugExport.cs (original)
+++ trunk/extensions/SmugMugExport/SmugMugExport.cs Thu Jun 5 15:54:56 2008
@@ -58,7 +58,7 @@
public bool Connected {
get {
- return smugmug_proxy.Connected;
+ return (smugmug_proxy != null && smugmug_proxy.Connected);
}
}
@@ -579,7 +579,7 @@
approx_size = sent_bytes * items.Length / (photo_index - 1);
int image_id = account.SmugMug.Upload (request.Current.LocalPath, album.AlbumID);
- if (Core.Database != null && item is Photo)
+ if (Core.Database != null && item is Photo && image_id >= 0)
Core.Database.Exports.Create ((item as Photo).Id,
(item as Photo).DefaultVersionId,
ExportStore.SmugMugExportType,
@@ -595,8 +595,11 @@
progress_dialog.ProgressText = Mono.Unix.Catalog.GetString ("Error");
System.Console.WriteLine (e);
- if (progress_dialog.PerformRetrySkip ())
+ if (progress_dialog.PerformRetrySkip ()) {
photo_index--;
+ if (photo_index == 0)
+ approx_size = 0;
+ }
}
}
Modified: trunk/extensions/SmugMugExport/SmugMugNet/SmugMugApi.cs
==============================================================================
--- trunk/extensions/SmugMugExport/SmugMugNet/SmugMugApi.cs (original)
+++ trunk/extensions/SmugMugExport/SmugMugNet/SmugMugApi.cs Thu Jun 5 15:54:56 2008
@@ -355,16 +355,31 @@
NameValueCollection queryStringCollection = new NameValueCollection ();
queryStringCollection.Add ("AlbumID", album_id.ToString());
- queryStringCollection.Add ("ResponseType", "REST");
+ // Temporarily disabled because rest doesn't seem to return the ImageID anymore
+ // queryStringCollection.Add ("ResponseType", "REST");
+ // luckily JSON still holds it
+ queryStringCollection.Add ("ResponseType", "JSON");
client.QueryString = queryStringCollection;
byte[] responseArray = client.UploadFile ("http://upload.smugmug.com/photos/xmladd.mg", "POST", file.FullName);
string response = Encoding.ASCII.GetString (responseArray);
- XmlDocument doc = new XmlDocument ();
- doc.LoadXml (response);
+ // JSon approach
+ Regex id_regex = new Regex ("\\\"id\\\": (?<image_id>\\d+),");
+ Match m = id_regex.Match (response);
+
+ int id = -1;
+
+ if (m.Success)
+ id = int.Parse (m.Groups["image_id"].Value);
+
+ return id;
+
+ // REST approach, disabled for now
+ //XmlDocument doc = new XmlDocument ();
+ //doc.LoadXml (response);
+ // return int.Parse (doc.SelectSingleNode ("/rsp/ImageID").InnerText);
- return int.Parse (doc.SelectSingleNode ("/rsp/ImageID").InnerText);
}
catch (Exception ex)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]