[PATCH] Added options entry for sshfs

View: New views
2 Messages — Rating Filter:   Alert me  

[PATCH] Added options entry for sshfs

by Armen Baghumian-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

Just added a new entry which you can pass any options to sshfs,
the having port option is pointless so it's been removed.

Regards,
Armen Baghumian

---
 .../Addins/SshSyncService/SshSyncServiceAddin.cs   |   72
+++++++++----------- 1 files changed, 33 insertions(+), 39 deletions(-)

diff --git a/Tomboy/Addins/SshSyncService/SshSyncServiceAddin.cs
b/Tomboy/Addins/SshSyncService/SshSyncServiceAddin.cs index
f0f66d6..8a5f571 100644 ---
a/Tomboy/Addins/SshSyncService/SshSyncServiceAddin.cs +++
b/Tomboy/Addins/SshSyncService/SshSyncServiceAddin.cs @@ -16,6 +16,7 @@
namespace Tomboy.Sync Entry serverEntry;
  Entry folderEntry;
  Entry usernameEntry;
+ Entry optionsEntry;

  /// <summary>
  /// Creates a Gtk.Widget that's used to configure the
service.  This @@ -28,13 +29,11 @@ namespace Tomboy.Sync
  Gtk.Table table = new Gtk.Table (3, 2, false);

  // Read settings out of gconf
- string server, folder, username;
- int port;
- GetConfigSettings (out server, out folder, out
username, out port);
+ string server, folder, username, options;
+
+ GetConfigSettings (out server, out folder, out
username, out options); if (server == null)
  server = string.Empty;
- if (port != 22)
- server += ":" + port.ToString ();
  if (folder == null)
  folder = string.Empty;
  if (username == null)
@@ -58,14 +57,23 @@ namespace Tomboy.Sync
  usernameEntry.Text = username;
  table.Attach (usernameEntry, 1, 2, 1, 2);

- l = new Label (Catalog.GetString ("_Folder
Path (optional):"));
+ l = new Label (Catalog.GetString ("SSHFS
_Options:")); l.Xalign = 1;
  table.Attach (l, 0, 1, 2, 3);

+ optionsEntry = new Entry ();
+ l.MnemonicWidget = optionsEntry;
+ optionsEntry.Text = options;
+ table.Attach (optionsEntry, 1, 2, 2, 3);
+
+ l = new Label (Catalog.GetString ("_Folder
Path (optional):"));
+ l.Xalign = 1;
+ table.Attach (l, 0, 1, 3, 4);
+
  folderEntry = new Entry ();
  l.MnemonicWidget = folderEntry;
  folderEntry.Text = folder;
- table.Attach (folderEntry, 1, 2, 2, 3);
+ table.Attach (folderEntry, 1, 2, 3, 4);

  // Text for label describing setup required
for SSH sync addin to work string sshInfo = Catalog.GetString ("SSH
synchronization requires an existing SSH key for this " + @@ -86,10
+94,9 @@ namespace Tomboy.Sync
  protected override bool VerifyConfiguration ()
  {
- string server, folder, username;
- int port;
+ string server, folder, username, options;

- if (!GetPrefWidgetSettings (out server, out
folder, out username, out port)) {
+ if (!GetPrefWidgetSettings (out server, out
folder, out username, out options)) { // TODO: Figure out a way to send
the error back to the client Logger.Debug ("One of url, username was
empty"); throw new TomboySyncException (Catalog.GetString ("Server or
username field is empty.")); @@ -100,12 +107,11 @@ namespace Tomboy.Sync

  protected override void SaveConfigurationValues ()
  {
- string server, folder, username;
- int port;
- GetPrefWidgetSettings (out server, out folder,
out username, out port);
+ string server, folder, username, options;
+ GetPrefWidgetSettings (out server, out folder,
out username, out options);
  Preferences.Set
("/apps/tomboy/sync_sshfs_server", server);
- Preferences.Set
("/apps/tomboy/sync_sshfs_port", port);
+ Preferences.Set
("/apps/tomboy/sync_sshfs_options", options); Preferences.Set
("/apps/tomboy/sync_sshfs_folder", folder); Preferences.Set
("/apps/tomboy/sync_sshfs_username", username); }
@@ -116,7 +122,7 @@ namespace Tomboy.Sync
  protected override void ResetConfigurationValues ()
  {
  Preferences.Set
("/apps/tomboy/sync_sshfs_server", string.Empty);
- Preferences.Set
("/apps/tomboy/sync_sshfs_port", 22);
+ Preferences.Set
("/apps/tomboy/sync_sshfs_options", string.Empty); Preferences.Set
("/apps/tomboy/sync_sshfs_folder", string.Empty); Preferences.Set
("/apps/tomboy/sync_sshfs_username", string.Empty); }
@@ -127,9 +133,8 @@ namespace Tomboy.Sync
  public override bool IsConfigured
  {
  get {
- string server, folder, username;
- int port;
- return GetConfigSettings (out server,
out folder, out username, out port);
+ string server, folder, username,
options;
+ return GetConfigSettings (out server,
out folder, out username, out options); }
  }

@@ -157,21 +162,20 @@ namespace Tomboy.Sync

  protected override string GetFuseMountExeArgs (string
mountPath, bool fromStoredValues) {
- int port = 22;
- string server, folder, username;
+ string server, folder, username, options;
  if (fromStoredValues)
- GetConfigSettings (out server, out
folder, out username, out port);
+ GetConfigSettings (out server, out
folder, out username, out options); else
- GetPrefWidgetSettings (out server, out
folder, out username, out port);
+ GetPrefWidgetSettings (out server, out
folder, out username, out options); return string.Format (
-               "-p {0} {1}@{2}:{3} {4}",
-               port,
+               "{0} {1}@{2}:{3} {4}",
+               options,
                username,
                server,
                folder,
                mountPath);
  }
-
+
  protected override string
GetFuseMountExeArgsForDisplay (string mountPath, bool fromStoredValues)
{ return GetFuseMountExeArgs (mountPath, fromStoredValues);
@@ -199,13 +203,10 @@ namespace Tomboy.Sync
  /// <summary>
  /// Get config settings
  /// </summary>
- private bool GetConfigSettings (out string server, out
string folder, out string username, out int port)
+ private bool GetConfigSettings (out string server, out
string folder, out string username, out string options) {
  server = Preferences.Get
("/apps/tomboy/sync_sshfs_server") as String;
- port = 22;
- try {
- port = (int)Preferences.Get
("/apps/tomboy/sync_sshfs_port");
- } catch {}
+ options = Preferences.Get
("/apps/tomboy/sync_sshfs_options") as String; folder = Preferences.Get
("/apps/tomboy/sync_sshfs_folder") as String; username =
Preferences.Get ("/apps/tomboy/sync_sshfs_username") as String;
@@ -216,19 +217,12 @@ namespace Tomboy.Sync
  /// <summary>
  /// Get config settings
  /// </summary>
- private bool GetPrefWidgetSettings (out string server,
out string folder, out string username, out int port)
+ private bool GetPrefWidgetSettings (out string server,
out string folder, out string username, out string options) {
- port = 22;
  server = serverEntry.Text.Trim ();
- int lastColonIndex = server.LastIndexOf(":");
- if (lastColonIndex > 0) {
- try {
- port = int.Parse
(server.Substring (lastColonIndex + 1));
- } catch {}
- server = server.Substring (0,
lastColonIndex);
- }
  folder = folderEntry.Text.Trim ();
  username = usernameEntry.Text.Trim ();
+ options = optionsEntry.Text.Trim ();

  return !string.IsNullOrEmpty (server)
        && !string.IsNullOrEmpty (username);
--
1.5.5.dirty



_______________________________________________
Tomboy-list mailing list
Tomboy-list@...
http://lists.beatniksoftware.com/listinfo.cgi/tomboy-list-beatniksoftware.com

Re: [PATCH] Added options entry for sshfs

by Sandy Armstrong :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Armen,

Could you please file a bug in GNOME bugzilla for this, add the patch to the bug as an attachment?  I'm going to be out of town for several weeks and don't want this to get lost.

Thanks,
Sandy

On Sat, Jun 27, 2009 at 12:28 PM, <armen@...> wrote:
Hello,

Just added a new entry which you can pass any options to sshfs,
the having port option is pointless so it's been removed.

Regards,
Armen Baghumian

---
 .../Addins/SshSyncService/SshSyncServiceAddin.cs   |   72
+++++++++----------- 1 files changed, 33 insertions(+), 39 deletions(-)

diff --git a/Tomboy/Addins/SshSyncService/SshSyncServiceAddin.cs
b/Tomboy/Addins/SshSyncService/SshSyncServiceAddin.cs index
f0f66d6..8a5f571 100644 ---
a/Tomboy/Addins/SshSyncService/SshSyncServiceAddin.cs +++
b/Tomboy/Addins/SshSyncService/SshSyncServiceAddin.cs @@ -16,6 +16,7 @@
namespace Tomboy.Sync Entry serverEntry;
               Entry folderEntry;
               Entry usernameEntry;
+               Entry optionsEntry;

               /// <summary>
               /// Creates a Gtk.Widget that's used to configure the
service.  This @@ -28,13 +29,11 @@ namespace Tomboy.Sync
                       Gtk.Table table = new Gtk.Table (3, 2, false);

                       // Read settings out of gconf
-                       string server, folder, username;
-                       int port;
-                       GetConfigSettings (out server, out folder, out
username, out port);
+                       string server, folder, username, options;
+
+                       GetConfigSettings (out server, out folder, out
username, out options); if (server == null)
                               server = string.Empty;
-                       if (port != 22)
-                               server += ":" + port.ToString ();
                       if (folder == null)
                               folder = string.Empty;
                       if (username == null)
@@ -58,14 +57,23 @@ namespace Tomboy.Sync
                       usernameEntry.Text = username;
                       table.Attach (usernameEntry, 1, 2, 1, 2);

-                       l = new Label (Catalog.GetString ("_Folder
Path (optional):"));
+                       l = new Label (Catalog.GetString ("SSHFS
_Options:")); l.Xalign = 1;
                       table.Attach (l, 0, 1, 2, 3);

+                       optionsEntry = new Entry ();
+                       l.MnemonicWidget = optionsEntry;
+                       optionsEntry.Text = options;
+                       table.Attach (optionsEntry, 1, 2, 2, 3);
+
+                       l = new Label (Catalog.GetString ("_Folder
Path (optional):"));
+                       l.Xalign = 1;
+                       table.Attach (l, 0, 1, 3, 4);
+
                       folderEntry = new Entry ();
                       l.MnemonicWidget = folderEntry;
                       folderEntry.Text = folder;
-                       table.Attach (folderEntry, 1, 2, 2, 3);
+                       table.Attach (folderEntry, 1, 2, 3, 4);

                       // Text for label describing setup required
for SSH sync addin to work string sshInfo = Catalog.GetString ("SSH
synchronization requires an existing SSH key for this " + @@ -86,10
+94,9 @@ namespace Tomboy.Sync
               protected override bool VerifyConfiguration ()
               {
-                       string server, folder, username;
-                       int port;
+                       string server, folder, username, options;

-                       if (!GetPrefWidgetSettings (out server, out
folder, out username, out port)) {
+                       if (!GetPrefWidgetSettings (out server, out
folder, out username, out options)) { // TODO: Figure out a way to send
the error back to the client Logger.Debug ("One of url, username was
empty"); throw new TomboySyncException (Catalog.GetString ("Server or
username field is empty.")); @@ -100,12 +107,11 @@ namespace Tomboy.Sync

               protected override void SaveConfigurationValues ()
               {
-                       string server, folder, username;
-                       int port;
-                       GetPrefWidgetSettings (out server, out folder,
out username, out port);
+                       string server, folder, username, options;
+                       GetPrefWidgetSettings (out server, out folder,
out username, out options);
                       Preferences.Set
("/apps/tomboy/sync_sshfs_server", server);
-                       Preferences.Set
("/apps/tomboy/sync_sshfs_port", port);
+                       Preferences.Set
("/apps/tomboy/sync_sshfs_options", options); Preferences.Set
("/apps/tomboy/sync_sshfs_folder", folder); Preferences.Set
("/apps/tomboy/sync_sshfs_username", username); }
@@ -116,7 +122,7 @@ namespace Tomboy.Sync
               protected override void ResetConfigurationValues ()
               {
                       Preferences.Set
("/apps/tomboy/sync_sshfs_server", string.Empty);
-                       Preferences.Set
("/apps/tomboy/sync_sshfs_port", 22);
+                       Preferences.Set
("/apps/tomboy/sync_sshfs_options", string.Empty); Preferences.Set
("/apps/tomboy/sync_sshfs_folder", string.Empty); Preferences.Set
("/apps/tomboy/sync_sshfs_username", string.Empty); }
@@ -127,9 +133,8 @@ namespace Tomboy.Sync
               public override bool IsConfigured
               {
                       get {
-                               string server, folder, username;
-                               int port;
-                               return GetConfigSettings (out server,
out folder, out username, out port);
+                               string server, folder, username,
options;
+                               return GetConfigSettings (out server,
out folder, out username, out options); }
               }

@@ -157,21 +162,20 @@ namespace Tomboy.Sync

               protected override string GetFuseMountExeArgs (string
mountPath, bool fromStoredValues) {
-                       int port = 22;
-                       string server, folder, username;
+                       string server, folder, username, options;
                       if (fromStoredValues)
-                               GetConfigSettings (out server, out
folder, out username, out port);
+                               GetConfigSettings (out server, out
folder, out username, out options); else
-                               GetPrefWidgetSettings (out server, out
folder, out username, out port);
+                               GetPrefWidgetSettings (out server, out
folder, out username, out options); return string.Format (
-                                      "-p {0} {1}@{2}:{3} {4}",
-                                      port,
+                                      "{0} {1}@{2}:{3} {4}",
+                                      options,
                                      username,
                                      server,
                                      folder,
                                      mountPath);
               }
-
+
               protected override string
GetFuseMountExeArgsForDisplay (string mountPath, bool fromStoredValues)
{ return GetFuseMountExeArgs (mountPath, fromStoredValues);
@@ -199,13 +203,10 @@ namespace Tomboy.Sync
               /// <summary>
               /// Get config settings
               /// </summary>
-               private bool GetConfigSettings (out string server, out
string folder, out string username, out int port)
+               private bool GetConfigSettings (out string server, out
string folder, out string username, out string options) {
                       server = Preferences.Get
("/apps/tomboy/sync_sshfs_server") as String;
-                       port = 22;
-                       try {
-                               port = (int)Preferences.Get
("/apps/tomboy/sync_sshfs_port");
-                       } catch {}
+                       options = Preferences.Get
("/apps/tomboy/sync_sshfs_options") as String; folder = Preferences.Get
("/apps/tomboy/sync_sshfs_folder") as String; username =
Preferences.Get ("/apps/tomboy/sync_sshfs_username") as String;
@@ -216,19 +217,12 @@ namespace Tomboy.Sync
               /// <summary>
               /// Get config settings
               /// </summary>
-               private bool GetPrefWidgetSettings (out string server,
out string folder, out string username, out int port)
+               private bool GetPrefWidgetSettings (out string server,
out string folder, out string username, out string options) {
-                       port = 22;
                       server = serverEntry.Text.Trim ();
-                       int lastColonIndex = server.LastIndexOf(":");
-                       if (lastColonIndex > 0) {
-                               try {
-                                       port = int.Parse
(server.Substring (lastColonIndex + 1));
-                               } catch {}
-                               server = server.Substring (0,
lastColonIndex);
-                       }
                       folder = folderEntry.Text.Trim ();
                       username = usernameEntry.Text.Trim ();
+                       options = optionsEntry.Text.Trim ();

                       return !string.IsNullOrEmpty (server)
                              && !string.IsNullOrEmpty (username);
--
1.5.5.dirty



_______________________________________________
Tomboy-list mailing list
Tomboy-list@...
http://lists.beatniksoftware.com/listinfo.cgi/tomboy-list-beatniksoftware.com


_______________________________________________
Tomboy-list mailing list
Tomboy-list@...
http://lists.beatniksoftware.com/listinfo.cgi/tomboy-list-beatniksoftware.com