remove the diff
authorDhananjay Sathe <dhananjaysathe@gmail.com>
Sat, 10 Sep 2011 19:25:45 +0000 (19:25 +0000)
committerDhananjay Sathe <dhananjaysathe@gmail.com>
Sat, 10 Sep 2011 19:25:45 +0000 (19:25 +0000)
Dhananjay_Sathe.diff [deleted file]

diff --git a/Dhananjay_Sathe.diff b/Dhananjay_Sathe.diff
deleted file mode 100644 (file)
index 4482c2f..0000000
+++ /dev/null
@@ -1,6289 +0,0 @@
-commit 204aa75536d5508ca326bddd273d7d7e617109b1
-Author: Dhananjay Sathe <dhananjaysathe@gmail.com>
-Date:   Tue Aug 16 19:27:39 2011 +0000
-
-     pep fixes to dialogs (pysrvsvc.py)
-
-diff --git a/sambagtk/pysrvsvc.py b/sambagtk/pysrvsvc.py
-index b433d6d..5fa6e0c 100644
---- a/sambagtk/pysrvsvc.py
-+++ b/sambagtk/pysrvsvc.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python2.6
-+#!/usr/bin/python
- # -*- coding: utf-8 -*-
- #       pysrvsvc.py
-@@ -24,8 +24,6 @@
- #
- #
--
--
- """ srvsvc related dialogues"""
- import gtk
-@@ -33,7 +31,6 @@ import gobject
- import os
- import sys
--
- from samba.dcerpc import srvsvc
-@@ -41,15 +38,9 @@ class srvsvcConnectDialog(gtk.Dialog):
-     """Connect Dialog"""
--    def __init__(
--        self,
--        server,
--        transport_type,
--        username,
--        password='',
--        ):
--        super(srvsvcConnectDialog, self).__init__()
-+    def __init__(self, server, transport_type, username, password=''):
-+        super(srvsvcConnectDialog, self).__init__()
-         self.server_address = server
-         self.username = username
-@@ -61,6 +52,7 @@ class srvsvcConnectDialog(gtk.Dialog):
-         self.set_modal(True)
-         self.update_sensitivity()
-+        self.about_dialog = gtk.AboutDialog()
-     def create(self):
-         self.set_title('Connect to Samba Share Server')
-@@ -72,10 +64,10 @@ class srvsvcConnectDialog(gtk.Dialog):
-         self.vbox.set_spacing(5)
-         # artwork TODO remove post decession
--
-+        
-         self.artwork = gtk.VBox()
--        self.samba_image_filename = os.path.join(sys.path[0],'images',
-+        self.samba_image_filename = os.path.join(sys.path[0], 'images',
-                 'samba-logo-small.png')
-         self.samba_image = gtk.Image()
-         self.samba_image.set_from_file(self.samba_image_filename)
-@@ -106,37 +98,44 @@ class srvsvcConnectDialog(gtk.Dialog):
-         label = gtk.Label(' Server address: ')
-         label.set_alignment(0, 0.5)
--        table.attach(label, 0, 1, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 0, 1, gtk.FILL,
-+                        gtk.FILL | gtk.EXPAND, 0, 0)
-         self.server_address_entry = gtk.Entry()
-         self.server_address_entry.set_text(self.server_address)
-         self.server_address_entry.set_activates_default(True)
--        self.server_address_entry.set_tooltip_text('Enter the Server Address')
--        table.attach(self.server_address_entry, 1, 2, 0, 1, gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
-+        self.server_address_entry.set_tooltip_text(
-+                                        'Enter the Server Address')
-+        table.attach(self.server_address_entry, 1, 2, 0, 1,
-+                gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
-         label = gtk.Label(' Username: ')
-         label.set_alignment(0, 0.5)
--        table.attach(label,0,1,1,2,gtk.FILL,gtk.FILL | gtk.EXPAND,0,0)
-+        table.attach(label, 0, 1, 1, 2, gtk.FILL,
-+                        gtk.FILL | gtk.EXPAND, 0, 0)
-         self.username_entry = gtk.Entry()
-         self.username_entry.set_text(self.username)
-         self.username_entry.set_activates_default(True)
-         self.username_entry.set_tooltip_text('Enter your Username')
--        table.attach(self.username_entry,1,2,1,2,gtk.FILL | gtk.EXPAND,gtk.FILL | gtk.EXPAND,1,1)
-+        table.attach(self.username_entry, 1, 2, 1, 2,
-+                gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
-         label = gtk.Label(' Password: ')
-         label.set_alignment(0, 0.5)
--        table.attach(label, 0, 1, 2, 3, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 2, 3, gtk.FILL,
-+                        gtk.FILL | gtk.EXPAND, 0, 0)
-         self.password_entry = gtk.Entry()
-         self.password_entry.set_text(self.password)
-         self.password_entry.set_visibility(False)
-         self.password_entry.set_activates_default(True)
-         self.password_entry.set_tooltip_text('Enter your Password')
--        table.attach(self.password_entry, 1, 2, 2, 3, gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
-+        table.attach(self.password_entry, 1, 2, 2, 3,
-+                gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
-         # transport frame
--
-+        
-         self.transport_frame = gtk.Frame(' Transport type ')
-         self.vbox.pack_start(self.transport_frame, False, True, 0)
-@@ -146,21 +145,22 @@ class srvsvcConnectDialog(gtk.Dialog):
-         self.rpc_smb_tcpip_radio_button = gtk.RadioButton(None,
-                 'RPC over SMB over TCP/IP ')
--        self.rpc_smb_tcpip_radio_button.set_tooltip_text('ncacn_np type : Recomended (default)'
--                )  # # according MS-SRVS specification
-+        self.rpc_smb_tcpip_radio_button.set_tooltip_text(
-+                                'ncacn_np type : Recomended (default)')
-+        # Default according MS-SRVS specification
-+
-         self.rpc_smb_tcpip_radio_button.set_active(self.transport_type
-                  == 0)
-         vbox.pack_start(self.rpc_smb_tcpip_radio_button)
--
-         self.rpc_tcpip_radio_button = \
-             gtk.RadioButton(self.rpc_smb_tcpip_radio_button,
-                             'RPC over TCP/IP')
--        self.rpc_tcpip_radio_button.set_tooltip_text('ncacn_ip_tcp type')
-+        self.rpc_tcpip_radio_button.set_tooltip_text('ncacn_ip_tcp type'
-+                )
-         self.rpc_tcpip_radio_button.set_active(self.transport_type == 1)
-         vbox.pack_start(self.rpc_tcpip_radio_button)
--
-         self.localhost_radio_button = \
-             gtk.RadioButton(self.rpc_tcpip_radio_button, 'Localhost')
-         self.localhost_radio_button.set_tooltip_text('ncalrpc type')  # # MS-SRVS specification
-@@ -188,42 +188,42 @@ class srvsvcConnectDialog(gtk.Dialog):
-                 self.on_radio_button_toggled)
-     def get_server_address(self):
--            if self.get_transport_type() is 2:
--                return '127.0.0.1'
--            return self.server_address_entry.get_text().strip()
-+        if self.get_transport_type() is 2:
-+            return '127.0.0.1'
-+        return self.server_address_entry.get_text().strip()
-     def get_username(self):
--            return self.username_entry.get_text().strip()
-+        return self.username_entry.get_text().strip()
-     def get_password(self):
--            return self.password_entry.get_text()
-+        return self.password_entry.get_text()
-     def update_sensitivity(self):
--            server_required = \
--                not self.localhost_radio_button.get_active()
--            self.server_address_entry.set_sensitive(server_required)
-+        server_required = not self.localhost_radio_button.get_active()
-+        self.server_address_entry.set_sensitive(server_required)
-     def get_transport_type(self):
--            if self.rpc_smb_tcpip_radio_button.get_active():
--                return 0
--            elif self.rpc_tcpip_radio_button.get_active():
--                return 1
--            elif self.localhost_radio_button.get_active():
--                return 2
--            else:
--                return -1
-+        if self.rpc_smb_tcpip_radio_button.get_active():
-+            return 0
-+        elif self.rpc_tcpip_radio_button.get_active():
-+            return 1
-+        elif self.localhost_radio_button.get_active():
-+            return 2
-+        else:
-+            return -1
-     def on_radio_button_toggled(self, widget):
--            self.update_sensitivity()
-+        self.update_sensitivity()
- class ShareAddEditDialog(gtk.Dialog):
--    """ Share add and edit dialog
-+    """
-+    Share add and edit dialog
-- If 'edit_mode' is set to True then in Edit mode .
-- Immutable fields are automatically greyed out.
--  """
-+    If 'edit_mode' is set to True then in Edit mode .
-+    Immutable fields are automatically greyed out.
-+    """
-     def __init__(self, pipe_manager, share=None):
-         """ Class initialiser """
-@@ -232,12 +232,11 @@ class ShareAddEditDialog(gtk.Dialog):
-         self.pipe = pipe_manager
-         self.islocal = self.pipe.islocal
--
--        if share is None :
-+        if share is None:
-             self.edit_mode = 0
-             self.share = self.pipe.get_share_object()
--        else :
--            self.edit_mode =  1
-+        else:
-+            self.edit_mode = 1
-             self.share = share
-         self.share_to_fields()
-         self.create()
-@@ -245,10 +244,9 @@ class ShareAddEditDialog(gtk.Dialog):
-         self.set_window_mode()
-         self.set_modal(True)
--
--
-     def set_window_mode(self):
-         """ Deactivates a bunch of widgets in Edit mode """
-+
-         if self.edit_mode:
-             self.share_name_entry.set_sensitive(False)
-             self.stype_disktree_radio_button.set_sensitive(False)
-@@ -257,70 +255,73 @@ class ShareAddEditDialog(gtk.Dialog):
-             self.sflag_temp_check_button.set_sensitive(False)
-             self.sflag_hidden_check_button.set_sensitive(False)
--
--
--    def  get_stype_final(self):
-+    def get_stype_final(self):
-         """ Calculates share type from base type and share flags """
-+
-         stype = self.stype
--        if self.flags[0] :
-+        if self.flags[0]:
-             stype |= srvsvc.STYPE_TEMPORARY
--        if self.flags[1] :
--            stype |= -(srvsvc.STYPE_HIDDEN)
-+        if self.flags[1]:
-+            stype |= -srvsvc.STYPE_HIDDEN
-         return stype
--
--
-     def validate_fields(self):
-+        """ Checks for some Errors"""
--        if type(self) is ShareAddEditDialog :
-+        if type(self) is ShareAddEditDialog:
-             name = self.share_name_entry.get_text()
--        elif type(self) is ShareWizardDialog :
-+        elif type(self) is ShareWizardDialog:
-             name = self.sname
-         if len(name) == 0:
--            return "Share name may not be empty!"
-+            return 'Share name may not be empty!'
-         if not self.pipe.name_validate(name):
--            return "Invalid Share name"
-+            return 'Invalid Share name'
--        if (not self.edit_mode):
-+        if not self.edit_mode:
-             for share in self.pipe.share_list:
-                 if share.name == name:
--                    return ' '.join(["A Share with the name : ", share.name ,"already exists!"])
-+                    return ' '.join(['A Share with the name : ',
-+                                    share.name, 'already exists!'])
-         return None
--
--
--    def toggle_pwd_visiblity(self,widget,Junk):
-+    def toggle_pwd_visiblity(self, widget, Junk):
-         """ Toggels Password visiblity"""
-+
-         mode = self.set_pw_visiblity.get_active()
-         self.share_password_entry.set_visibility(mode)
--
--
--    def  share_to_fields(self):
-+    def share_to_fields(self):
-         """ Gets values from the share . """
-+
-         self.sname = self.share.name
--        self.stype = self.pipe.get_share_type_info(self.share.type,'base_type')
--        self.flags = self.pipe.get_share_type_info(self.share.type,'flags')
-+        self.stype = self.pipe.get_share_type_info(self.share.type,
-+                'base_type')
-+        self.flags = self.pipe.get_share_type_info(self.share.type,
-+                'flags')
-         self.comment = self.share.comment
-         self.max_users = self.share.max_users
-         if self.share.password is None:
--            self.password = ""
-+            self.password = ''
-         else:
-             self.password = self.share.password
-         self.path = self.share.path
--    def fields_to_gui (self):
--        """" Used to reset the gui fields from share fields on apply"""
-+    def fields_to_gui(self):
-+        """ Used to reset the gui fields from share fields on apply"""
-+
-         self.share_name_entry.set_text(self.sname)
-         self.share_comment_entry.set_text(self.comment)
-         self.share_password_entry.set_text(self.password)
--        self.stype_disktree_radio_button.set_active(self.stype == srvsvc.STYPE_DISKTREE)
--        self.stype_printq_radio_button.set_active(self.stype == srvsvc.STYPE_PRINTQ )
--        self.stype_ipc_radio_button.set_active(self.stype == srvsvc.STYPE_IPC)
-+        self.stype_disktree_radio_button.set_active(self.stype
-+                 == srvsvc.STYPE_DISKTREE)
-+        self.stype_printq_radio_button.set_active(self.stype
-+                 == srvsvc.STYPE_PRINTQ)
-+        self.stype_ipc_radio_button.set_active(self.stype
-+                 == srvsvc.STYPE_IPC)
-         self.sflag_temp_check_button.set_active(self.flags[0])
-         self.sflag_hidden_check_button.set_active(self.flags[1])
-@@ -331,91 +332,87 @@ class ShareAddEditDialog(gtk.Dialog):
-             self.file_entry.set_text(self.path)
-         self.max_users_spinbox.set_value(self.max_users)
--
--
-     def collect_fields(self):
-         """ Collects fields from the GUI and saves in class variables """
-+
-         self.sname = self.share_name_entry.get_text()
-         self.comment = self.share_comment_entry.get_text()
-         self.password = self.share_password_entry.get_text()
-+        
-         # Now to handle the share type resolution
--        if self.stype_disktree_radio_button.get_active() :
-+        if self.stype_disktree_radio_button.get_active():
-             self.stype = srvsvc.STYPE_DISKTREE
--        elif self.stype_printq_radio_button.get_active() :
-+        elif self.stype_printq_radio_button.get_active():
-             self.stype = srvsvc.STYPE_PRINTQ
-         else:
-             self.stype = srvsvc.STYPE_IPC
-         # check flags
--        self.flags = [False,False]
-+        self.flags = [False, False]
-         if self.sflag_temp_check_button.get_active():
-             self.flags[0] = True
-         if self.sflag_hidden_check_button.get_active():
-             self.flags[1] = True
--        if self.islocal :
-+        if self.islocal:
-             self.path = self.file_button.get_filename()
-         else:
-             self.path = self.path_entry.get_text()
-         self.max_users = self.max_users_spinbox.get_value_as_int()
--
--
--    def  fields_to_share(self):
-+    def fields_to_share(self):
-         """ Modify a share type 502 object from the fields collected """
-+
-         self.collect_fields()
--        self.share.name= self.sname
--        self.share.type= self.get_stype_final()
--        self.share.comment= self.comment
--        self.share.max_users= self.max_users
--        self.share.password= self.password
-+        self.share.name = self.sname
-+        self.share.type = self.get_stype_final()
-+        self.share.comment = self.comment
-+        self.share.max_users = self.max_users
-+        self.share.password = self.password
-         self.share.path = self.pipe.fix_path_format(self.path)
--
--
--
--
--    def  create(self):
-+    def create(self):
-         """ Create the window """
--        self.set_title(' '.join([(" New Share",
--                    " Edit Share : ")[self.edit_mode],self.sname]))
--        self.icon_name = ["network-folder","network-printer",
--                            "network","network-pipe"][self.stype]
--        self.icon_filename = \
--        os.path.join(sys.path[0],"images",''.join([self.icon_name,'.png']))
-+
-+        self.set_title(' '.join([(' New Share', ' Edit Share : '
-+                       )[self.edit_mode], self.sname]))
-+        self.icon_name = ['network-folder', 'network-printer', 'network'
-+                          , 'network-pipe'][self.stype]
-+        self.icon_filename = os.path.join(sys.path[0], 'images',
-+                ''.join([self.icon_name, '.png']))
-         self.set_icon_from_file(self.icon_filename)
-         self.vbox.set_spacing(3)
-         self.set_border_width(5)
-         self.set_decorated(True)
-         self.set_resizable(False)
--
--
--        #artwork
--        self.desc_box= gtk.HBox()
--        self.vbox.pack_start(self.desc_box,False,True,0)
-+        
-+        # artwork
-+        self.desc_box = gtk.HBox()
-+        self.vbox.pack_start(self.desc_box, False, True, 0)
-         hbox = gtk.HBox()
--        icon =  gtk.Image()
-+        icon = gtk.Image()
-         icon.set_from_file(self.icon_filename)
-         hbox.pack_start(icon, False, True, 0)
--        self.desc_box.pack_start(hbox,False, True, 0)
--
-+        self.desc_box.pack_start(hbox, False, True, 0)
-         hbox = gtk.HBox()
-         label = gtk.Label()
--        if self.edit_mode :
--            label.set_markup("<b>%s</b>" %" ".join(["Editing The Share : ",self.sname]))
--        else :
--            label.set_markup("<b>Add a New Share</b>")
-+        if self.edit_mode:
-+            label.set_markup('<b>%s</b>'
-+                              % ' '.join(['Editing The Share : ',
-+                             self.sname]))
-+        else:
-+            label.set_markup('<b>Add a New Share</b>')
-         label.set_alignment(0.5, 0.5)
-         hbox.pack_start(label, True, True, 0)
--        self.desc_box.pack_start(hbox,True, True, 0)
--
--        # the main form
-+        self.desc_box.pack_start(hbox, True, True, 0)
-+        
-+        # main form box
-         self.form_box = gtk.VBox()
-         self.vbox.pack_start(self.form_box, True, True, 0)
--
--        # Name , password and comment (npc) frame
-+        
-+        # Name , password and comment (npc) frame        
-         frame = gtk.Frame()
-         label = gtk.Label('<b>Name and Comment</b>')
-         label.set_use_markup(True)
-@@ -423,58 +420,68 @@ class ShareAddEditDialog(gtk.Dialog):
-         self.form_box.pack_start(frame, True, True, 0)
-         frame.set_border_width(5)
--        table = gtk.Table(4,2)
-+        table = gtk.Table(4, 2)
-         table.set_border_width(5)
-         table.set_row_spacings(1)
-         table.set_col_spacings(6)
-         frame.add(table)
--        label = gtk.Label(" Share Name : ")
-+        label = gtk.Label(' Share Name : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 0, 1, gtk.FILL,
-+                            gtk.FILL | gtk.EXPAND, 0, 0)
-         self.share_name_entry = gtk.Entry()
-         self.share_name_entry.set_tooltip_text('Enter the Share Name')
-         self.share_name_entry.set_text(self.sname)
-         self.share_name_entry.set_activates_default(True)
--        # dcesrv_srvsvc name check does this but just to reduce chances of an error limit max length
-+              # dcesrv_srvsvc name check does this but just to reduce chances of an error limit max length
-         if self.flags[1]:
-             self.share_name_entry.set_max_length(12)
-         else:
-             self.share_name_entry.set_max_length(80)
--        table.attach(self.share_name_entry, 1, 2, 0, 1, gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
-+        table.attach(self.share_name_entry, 1, 2, 0, 1,
-+                    gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
--        label = gtk.Label(" Comment  : ")
-+        label = gtk.Label(' Comment  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 1, 2, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 1, 2, gtk.FILL,
-+                            gtk.FILL | gtk.EXPAND, 0, 0)
-         self.share_comment_entry = gtk.Entry()
--        self.share_comment_entry.set_max_length(48) # max allowed is 48 MS-SRVS
-+        self.share_comment_entry.set_max_length(48)  # max allowed is 48 MS-SRVS
-         self.share_comment_entry.set_activates_default(True)
-         self.share_comment_entry.set_text(self.comment)
--        self.share_comment_entry.set_tooltip_text('Add a Comment or Description of the Share, Will default to share_type description')
--        table.attach(self.share_comment_entry, 1, 2, 1, 2, gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
-+        self.share_comment_entry.set_tooltip_text('Add a Comment or Description of the Share, Will default to share_type description'
-+                )
-+        table.attach(self.share_comment_entry, 1, 2, 1, 2,
-+                    gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
-         label = gtk.Label(' Password  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 2, 3, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 2, 3, gtk.FILL,
-+                            gtk.FILL | gtk.EXPAND, 0, 0)
-         self.share_password_entry = gtk.Entry()
-         self.share_password_entry.set_activates_default(True)
-         self.share_password_entry.set_text(self.password)
-         self.share_password_entry.set_visibility(False)
--        self.share_password_entry.set_tooltip_text('Set a Share Password')
--        table.attach(self.share_password_entry, 1, 2, 2, 3, gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
--
--        self.set_pw_visiblity = gtk.CheckButton("Visible")
--        self.set_pw_visiblity.set_tooltip_text('Enable or disable the password visiblity')
--        self.set_pw_visiblity.set_active(False)
--        self.set_pw_visiblity.connect("toggled",self.toggle_pwd_visiblity,None)
--        table.attach(self.set_pw_visiblity, 1, 2, 3, 4,gtk.SHRINK,gtk.FILL, 0, 0)
-+        self.share_password_entry.set_tooltip_text(
-+                                                'Set a Share Password')
-+        table.attach(self.share_password_entry, 1, 2, 2, 3,
-+                    gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
-+        self.set_pw_visiblity = gtk.CheckButton('Visible')
-+        self.set_pw_visiblity.set_tooltip_text('Enable or disable the password visiblity'
-+                )
-+        self.set_pw_visiblity.set_active(False)
-+        self.set_pw_visiblity.connect('toggled',
-+                self.toggle_pwd_visiblity, None)
-+        table.attach(self.set_pw_visiblity, 1, 2, 3, 4, gtk.SHRINK,
-+                            gtk.FILL, 0, 0)
-         # Share frame
-         frame = gtk.Frame()
-@@ -484,50 +491,63 @@ class ShareAddEditDialog(gtk.Dialog):
-         self.form_box.pack_start(frame, True, True, 0)
--        table = gtk.Table(1,2,True)
-+        table = gtk.Table(1, 2, True)
-         frame.add(table)
-         # Base Share Types
-         vbox = gtk.VBox()
-         vbox.set_border_width(5)
--        table.attach(vbox,0,1,0,1,gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
-+        table.attach(vbox, 0, 1, 0, 1, gtk.FILL | gtk.EXPAND,
-+                                        gtk.FILL | gtk.EXPAND, 1, 1)
-         # Radio buttons
--        self.stype_disktree_radio_button = gtk.RadioButton(None,'Disktree')
--        self.stype_disktree_radio_button.set_tooltip_text('Disktree (folder) type Share. Default')
--        self.stype_disktree_radio_button.set_active(self.stype == srvsvc.STYPE_DISKTREE)
-+        self.stype_disktree_radio_button = gtk.RadioButton(None,
-+                'Disktree')
-+        self.stype_disktree_radio_button.set_tooltip_text(
-+                            'Disktree (folder) type Share. Default')
-+        self.stype_disktree_radio_button.set_active(self.stype
-+                 == srvsvc.STYPE_DISKTREE)
-         vbox.pack_start(self.stype_disktree_radio_button)
--        self.stype_printq_radio_button = gtk.RadioButton(self.stype_disktree_radio_button,'Print Queue')
--        self.stype_printq_radio_button.set_tooltip_text('Shared Print Queue')
--        self.stype_printq_radio_button.set_active(self.stype == srvsvc.STYPE_PRINTQ)
--        #vbox.pack_start(self.stype_printq_radio_button)
--        #deactivating this option until samba4 is fixed TODO activate once base is fixed
--
--        self.stype_ipc_radio_button = gtk.RadioButton(self.stype_printq_radio_button,'IPC ')
--        self.stype_ipc_radio_button.set_tooltip_text('Shared Interprocess Communication Pipe (IPC).')
--        self.stype_ipc_radio_button.set_active(self.stype == srvsvc.STYPE_IPC)
--        #vbox.pack_start(self.stype_ipc_radio_button)
-+        self.stype_printq_radio_button = \
-+            gtk.RadioButton(self.stype_disktree_radio_button,
-+                            'Print Queue')
-+        self.stype_printq_radio_button.set_tooltip_text(
-+                                                'Shared Print Queue')
-+        self.stype_printq_radio_button.set_active(self.stype
-+                 == srvsvc.STYPE_PRINTQ)
-+        # vbox.pack_start(self.stype_printq_radio_button)
-+        # deactivating this option until samba4 is fixed TODO activate once base is fixed
-+
-+        self.stype_ipc_radio_button = \
-+            gtk.RadioButton(self.stype_printq_radio_button, 'IPC ')
-+        self.stype_ipc_radio_button.set_tooltip_text(
-+                        'Shared Interprocess Communication Pipe (IPC).')
-+        self.stype_ipc_radio_button.set_active(self.stype
-+                 == srvsvc.STYPE_IPC)
-+              #vbox.pack_start(self.stype_ipc_radio_button)
-         #deactivating this option until samba4 is fixed TODO activate once base is fixed
--
-+        
-         # Special Share Flags
-         vbox = gtk.VBox()
-         vbox.set_border_width(5)
--        table.attach(vbox,1,2,0,1,gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
-+        table.attach(vbox, 1, 2, 0, 1, gtk.FILL | gtk.EXPAND,
-+                                    gtk.FILL | gtk.EXPAND, 1, 1)
-         # Check buttons
-         self.sflag_temp_check_button = gtk.CheckButton('Temporary')
--        self.sflag_temp_check_button.set_tooltip_text('Make share Temporary')
-+        self.sflag_temp_check_button.set_tooltip_text(
-+                                            'Make share Temporary')
-         self.sflag_temp_check_button.set_active(self.flags[0])
-         vbox.pack_start(self.sflag_temp_check_button)
-         self.sflag_hidden_check_button = gtk.CheckButton('Hidden ')
--        self.sflag_hidden_check_button.set_tooltip_text('Make share hidden.')
-+        self.sflag_hidden_check_button.set_tooltip_text(
-+                                                'Make share hidden.')
-         self.sflag_hidden_check_button.set_active(self.flags[1])
-         vbox.pack_start(self.sflag_hidden_check_button)
-         # Path frame
--
-         frame = gtk.Frame()
-         label = gtk.Label('<b>Path</b>')
-         label.set_use_markup(True)
-@@ -535,31 +555,37 @@ class ShareAddEditDialog(gtk.Dialog):
-         self.form_box.pack_start(frame, True, True, 0)
-         frame.set_border_width(5)
--        table = gtk.Table(1,2)
-+        table = gtk.Table(1, 2)
-         table.set_col_spacings(6)
-         frame.add(table)
--        label = gtk.Label("Share path : ")
-+        label = gtk.Label('Share path : ')
-         label.set_alignment(0, 0.5)
--        table.attach(label, 0, 1, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--
-+        table.attach(label, 0, 1, 0, 1, gtk.FILL,
-+                                    gtk.FILL | gtk.EXPAND, 0, 0)
-+                                    
-         # FIXME may need another parameter to select type of selctor in combination with local
-         # eg selecting a ipc / printer may be easier with a path
--        if self.islocal :
-+        if self.islocal:
-             self.file_button = gtk.FileChooserButton('Browse')
-             self.file_button.set_current_folder(self.path)
-             self.file_button.set_action(gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER)
--            self.file_button.set_tooltip_text('Select the folder to share')
--            table.attach(self.file_button, 1, 2, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+            self.file_button.set_tooltip_text(
-+                                        'Select the folder to share')
-+            table.attach(self.file_button, 1, 2, 0, 1, gtk.FILL,
-+                            gtk.FILL | gtk.EXPAND, 0, 0)
-+
-         else:
-             self.file_entry = gtk.Entry()
-             self.file_entry.set_text(self.path)
--            self.file_entry.set_tooltip_text('Path to the folder to share')
--            table.attach(self.file_entry, 1, 2, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+            self.file_entry.set_tooltip_text('Path to the folder to share'
-+                    )
-+            table.attach(self.file_entry, 1, 2, 0, 1, gtk.FILL,
-+                            gtk.FILL | gtk.EXPAND, 0, 0)
-         # max users frame
--
-+        
-         frame = gtk.Frame()
-         label = gtk.Label('<b>Max Users</b>')
-         label.set_use_markup(True)
-@@ -567,104 +593,111 @@ class ShareAddEditDialog(gtk.Dialog):
-         self.form_box.pack_start(frame, True, True, 0)
-         frame.set_border_width(5)
--        table = gtk.Table(1,2)
-+        table = gtk.Table(1, 2)
-         table.set_col_spacings(6)
-         frame.add(table)
--        label = gtk.Label(" Max Users : ")
-+        label = gtk.Label(' Max Users : ')
-         label.set_alignment(0, 0.5)
--        table.attach(label, 0, 1, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 0, 1, gtk.FILL,
-+                            gtk.FILL | gtk.EXPAND, 0, 0)
-         # adjustment for max users spinbox
--        self.max_users_adjustment = gtk.Adjustment(self.max_users,1,0xFFFFFFFF,1,5)
-+        self.max_users_adjustment = gtk.Adjustment(self.max_users, 1,
-+                0xFFFFFFFF, 1, 5)
--        self.max_users_spinbox = gtk.SpinButton(self.max_users_adjustment)
-+        self.max_users_spinbox = \
-+            gtk.SpinButton(self.max_users_adjustment)
-         self.max_users_spinbox.set_numeric(True)
--        self.max_users_spinbox.set_tooltip_text('Max Users for the Share')
--        table.attach(self.max_users_spinbox, 1, 2, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        self.max_users_spinbox.set_tooltip_text('Max Users for the Share'
-+                )
-+        table.attach(self.max_users_spinbox, 1, 2, 0, 1,
-+                        gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-         # action area
--
-+        
-         self.action_area.set_layout(gtk.BUTTONBOX_END)
--        self.cancel_button = gtk.Button("Cancel", gtk.STOCK_CANCEL)
-+        self.cancel_button = gtk.Button('Cancel', gtk.STOCK_CANCEL)
-         self.cancel_button.set_flags(gtk.CAN_DEFAULT)
-         self.add_action_widget(self.cancel_button, gtk.RESPONSE_CANCEL)
--        self.apply_button = gtk.Button("Apply", gtk.STOCK_APPLY)
-+        self.apply_button = gtk.Button('Apply', gtk.STOCK_APPLY)
-         self.apply_button.set_flags(gtk.CAN_DEFAULT)
-         self.apply_button.set_sensitive(self.edit_mode)
-         self.add_action_widget(self.apply_button, gtk.RESPONSE_APPLY)
--        self.ok_button = gtk.Button("OK", gtk.STOCK_OK)
-+        self.ok_button = gtk.Button('OK', gtk.STOCK_OK)
-         self.ok_button.set_flags(gtk.CAN_DEFAULT)
-         self.add_action_widget(self.ok_button, gtk.RESPONSE_OK)
-         self.set_default_response(gtk.RESPONSE_OK)
--
--
- class DeleteDialog(gtk.Dialog):
-+
-     """ The delete dialog """
-     def __init__(self, pipe_manager, share=None):
-         """ Class initialiser """
-+
-         super(DeleteDialog, self).__init__()
-         self.pipe = pipe_manager
-         self.set_modal(True)
--
--        if share is None :
--            raise KeyError("Non existant Share cannot be deleted")
-+        if share is None:
-+            raise KeyError('Non existant Share cannot be deleted')
-         self.share = share
-         # resolving some types that are required for gtk dialog creation
--        self.stype = self.pipe.get_share_type_info(self.share.type,'base_type')
--        self.flags = self.pipe.get_share_type_info(self.share.type,'flags')
--        self.generic_typestring = self.pipe.get_share_type_info(self.share.type,'typestring')
--        self.desc = self.pipe.get_share_type_info(self.share.type,'desc')
-+        
-+        self.stype = self.pipe.get_share_type_info(self.share.type,
-+                'base_type')
-+        self.flags = self.pipe.get_share_type_info(self.share.type,
-+                'flags')
-+        self.generic_typestring = \
-+            self.pipe.get_share_type_info(self.share.type, 'typestring')
-+        self.desc = self.pipe.get_share_type_info(self.share.type,
-+                'desc')
-         self.create()
-         self.set_position(gtk.WIN_POS_CENTER)
--
--
--    def  create(self):
-+    def create(self):
-         """ Create the window """
--        self.set_title(' '.join([" Delete Share",self.share.name]))
--        self.icon_name = ["network-folder","network-printer",
--                            "network","network-pipe"][self.stype]
--        self.icon_filename = \
--        os.path.join(sys.path[0],"images",''.join([self.icon_name,'.png']))
-+
-+        self.set_title(' '.join([' Delete Share', self.share.name]))
-+        self.icon_name = ['network-folder', 'network-printer', 'network'
-+                          , 'network-pipe'][self.stype]
-+        self.icon_filename = os.path.join(sys.path[0], 'images',
-+                ''.join([self.icon_name, '.png']))
-         self.set_icon_from_file(self.icon_filename)
-         self.vbox.set_spacing(3)
-         self.set_border_width(5)
-         self.set_decorated(True)
-         self.set_resizable(False)
--
-         #artwork
--        self.desc_box= gtk.HBox()
--        self.vbox.pack_start(self.desc_box,False,True,0)
-+        self.desc_box = gtk.HBox()
-+        self.vbox.pack_start(self.desc_box, False, True, 0)
-         hbox = gtk.HBox()
--        icon =  gtk.Image()
-+        icon = gtk.Image()
-         icon.set_from_file(self.icon_filename)
-         hbox.pack_start(icon, False, True, 0)
--        self.desc_box.pack_start(hbox,False, True, 0)
-+        self.desc_box.pack_start(hbox, False, True, 0)
-         hbox = gtk.HBox()
-         label = gtk.Label()
--        label.set_text("You are deleting the share with the following properties")
-+        label.set_text(
-+            'You are deleting the share with the following properties')
-         label.set_alignment(0, 0.5)
-         hbox.pack_start(label, True, True, 0)
--        self.desc_box.pack_start(hbox,True, True, 0)
--
--        # the main form
-+        self.desc_box.pack_start(hbox, True, True, 0)
-+        # main form box
-         self.form_box = gtk.VBox()
-         self.vbox.pack_start(self.form_box, True, True, 0)
-@@ -675,7 +708,7 @@ class DeleteDialog(gtk.Dialog):
-         self.form_box.pack_start(frame, True, True, 0)
-         frame.set_border_width(5)
--        table = gtk.Table(11,2)
-+        table = gtk.Table(11, 2)
-         table.set_border_width(5)
-         table.set_row_spacings(2)
-         table.set_col_spacings(6)
-@@ -684,117 +717,137 @@ class DeleteDialog(gtk.Dialog):
-         label = gtk.Label(' Share Name  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 0, 1, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(self.share.name)
-         label.set_alignment(0, 0.5)
--        table.attach(label, 1, 2, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 1, 2, 0, 1, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(' Comment  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 1, 2, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 1, 2, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(self.share.comment)
-         label.set_alignment(0, 0.5)
--        table.attach(label, 1, 2, 1, 2, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 1, 2, 1, 2, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(' Path  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 2, 3, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 2, 3, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(self.share.path)
-         label.set_alignment(0, 0.5)
--        table.attach(label, 1, 2, 2, 3, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 1, 2, 2, 3, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(' Password  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 3, 4, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 3, 4, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         if self.share.password:
--            label = gtk.Label("Share Password Enabled")
-+            label = gtk.Label('Share Password Enabled')
-         else:
--            label = gtk.Label("Share Password Disabled")
-+            label = gtk.Label('Share Password Disabled')
-         label.set_alignment(0, 0.5)
--        table.attach(label, 1, 2, 3, 4, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 1, 2, 3, 4, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label('<b> Share Type</b>')
-         label.set_use_markup(True)
-         label.set_alignment(0, 0.5)
--        table.attach(label, 0, 1, 4, 5, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 4, 5, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(' Generic Typestring  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 5, 6, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 5, 6, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(self.generic_typestring)
-         label.set_alignment(0, 0.5)
--        table.attach(label, 1, 2, 5, 6, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 1, 2, 5, 6, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
--        label = gtk.Label(' Type Description  : ') #spaces for Gui align do not change
-+        label = gtk.Label(' Type Description  : ')  # spaces for Gui align do not change
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 6, 7, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 6, 7, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(self.desc)
-         label.set_alignment(0, 0.5)
--        table.attach(label, 1, 2, 6, 7, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 1, 2, 6, 7, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-+
-         label = gtk.Label()
-         label.set_markup('<b> Special Flags </b>')
-         label.set_alignment(0, 0.5)
--        table.attach(label, 0, 1, 7, 8, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 7, 8, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(' Temporary  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 8, 9, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 8, 9, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(str(self.flags[0]))
-         label.set_alignment(0, 0.5)
--        table.attach(label, 1, 2, 8, 9, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 1, 8, 9, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
--        label = gtk.Label(' Hidden  : ') #spaces for Gui align do not change
-+        label = gtk.Label(' Hidden  : ')  # spaces for Gui align do not change
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 9, 10, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 9, 10, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(str(self.flags[1]))
-         label.set_alignment(0, 0.5)
--        table.attach(label, 1, 2, 9, 10, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 1, 2, 9, 10, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(' Max Users  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 10, 11, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 10, 11, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(self.share.max_users)
-         label.set_alignment(0, 0.5)
--        table.attach(label, 1, 2, 10, 11, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 1, 2, 10, 11, gtk.FILL,
-+            gtk.FILL | gtk.EXPAND, 0, 0)
--        box =  gtk.VBox(3)
--        label = gtk.Label("Are yous sure you want to delete the share ?")
--        label.set_alignment(0.5,0.5)
--        box.pack_start(label,True,True,0)
--        warning ="(Please Note this is an irreversable action)"
-+        box = gtk.VBox(3)
-+        label = gtk.Label('Are yous sure you want to delete the share ?'
-+                          )
-+        label.set_alignment(0.5, 0.5)
-+        box.pack_start(label, True, True, 0)
-+        warning = '(Please Note this is an irreversable action)'
-         label = gtk.Label('<span foreground="red">%s</span>' % warning)
-         label.set_use_markup(True)
--        label.set_alignment(0.5,0.5)
--        box.pack_start(label,True,True,0)
-+        label.set_alignment(0.5, 0.5)
-+        box.pack_start(label, True, True, 0)
-         box.set_border_width(5)
--        self.vbox.pack_start(box,True,True,0)
--
--
-+        self.vbox.pack_start(box, True, True, 0)
-         # action area
--
-         self.action_area.set_layout(gtk.BUTTONBOX_END)
--        self.cancel_button = gtk.Button("Cancel", gtk.STOCK_CANCEL)
-+        self.cancel_button = gtk.Button('Cancel', gtk.STOCK_CANCEL)
-         self.cancel_button.set_flags(gtk.CAN_DEFAULT)
-         self.add_action_widget(self.cancel_button, gtk.RESPONSE_CANCEL)
--        self.ok_button = gtk.Button("Delete", gtk.STOCK_OK)
-+        self.ok_button = gtk.Button('Delete', gtk.STOCK_OK)
-         self.add_action_widget(self.ok_button, gtk.RESPONSE_OK)
-         self.set_default_response(gtk.RESPONSE_OK)
-+
- class ShareWizardDialog(ShareAddEditDialog):
-     def create(self):
-@@ -802,12 +855,12 @@ class ShareWizardDialog(ShareAddEditDialog):
-         self.page = 0
-         self.set_default_size(400, 275)
--        self.main_box  = gtk.VBox()
--        self.vbox.pack_start(self.main_box,True,True,0)
-+        self.main_box = gtk.VBox()
-+        self.vbox.pack_start(self.main_box, True, True, 0)
-         vbox = gtk.VBox()
-         vbox.set_border_width(5)
--        samba_image_filename = os.path.join(sys.path[0],'images',
-+        samba_image_filename = os.path.join(sys.path[0], 'images',
-                 'samba-logo-small.png')
-         samba_image = gtk.Image()
-         samba_image.set_from_file(samba_image_filename)
-@@ -815,7 +868,7 @@ class ShareWizardDialog(ShareAddEditDialog):
-         self.main_box.pack_start(vbox, False, True, 0)
-         vbox = gtk.VBox()
--        self.main_box.pack_start(vbox,True,True,0)
-+        self.main_box.pack_start(vbox, True, True, 0)
-         frame = gtk.Frame()
-         frame.set_border_width(10)
-@@ -826,19 +879,18 @@ class ShareWizardDialog(ShareAddEditDialog):
-         frame.add(self.data_box)
-         self.title_label = gtk.Label()
--        self.title_label.set_alignment(0.05,0.5)
--        self.data_box.pack_start(self.title_label,False,True,1)
-+        self.title_label.set_alignment(0.05, 0.5)
-+        self.data_box.pack_start(self.title_label, False, True, 1)
-         self.info_label = gtk.Label()
--        self.info_label.set_alignment(.15,0.5)
--        self.data_box.pack_start(self.info_label,False,True,0)
-+        self.info_label.set_alignment(.15, 0.5)
-+        self.data_box.pack_start(self.info_label, False, True, 0)
-         self.fields_box = gtk.VBox()
--        self.data_box.pack_start(self.fields_box,True,True,3)
--
-+        self.data_box.pack_start(self.fields_box, True, True, 3)
-         # create all entities do not attach them so as to that they are refrenced
--        #name
-+        # name
-         self.share_name_entry = gtk.Entry()
-         self.share_name_entry.set_tooltip_text('Enter the Share Name')
-         self.share_name_entry.set_text(self.sname)
-@@ -849,93 +901,98 @@ class ShareWizardDialog(ShareAddEditDialog):
-         else:
-             self.share_name_entry.set_max_length(80)
--        #comment
-+        # comment
-         self.share_comment_entry = gtk.Entry()
--        self.share_comment_entry.set_max_length(48) # max allowed is 48 MS-SRVS
-+        self.share_comment_entry.set_max_length(48)  # max allowed is 48 MS-SRVS
-         self.share_comment_entry.set_activates_default(True)
-         self.share_comment_entry.set_text(self.comment)
--        self.share_comment_entry.set_tooltip_text('Add a Comment or Description of the Share, Will default to share_type description')
-+        self.share_comment_entry.set_tooltip_text(
-+                        'Add a Comment or Description of the Share. \
-+                                Will default to share_type description')
--        #password
-+        # password
-         self.share_password_entry = gtk.Entry()
-         self.share_password_entry.set_activates_default(True)
-         self.share_password_entry.set_text(self.password)
--        self.share_password_entry.set_visibility(False)
--        self.share_password_entry.set_tooltip_text('Set a Share Password')
-+        self.share_password_entry.set_tooltip_text(
-+                                                'Set a Share Password')
-         # For radio buttons we define other fields on the fly as these
-         # are lost on parent removal , and cause errors on draw .
-         # Radio buttons
--        self.stype_disktree_radio_button = gtk.RadioButton(None,'Disktree')
--        self.stype_printq_radio_button = gtk.RadioButton(self.stype_disktree_radio_button,'Print Queue')
--        self.stype_ipc_radio_button = gtk.RadioButton(self.stype_printq_radio_button,'IPC ')
-+        self.stype_disktree_radio_button = gtk.RadioButton(None,
-+                'Disktree')
-+        self.stype_printq_radio_button = \
-+            gtk.RadioButton(self.stype_disktree_radio_button,
-+                            'Print Queue')
-+        self.stype_ipc_radio_button = \
-+            gtk.RadioButton(self.stype_printq_radio_button, 'IPC ')
-         self.sflag_temp_check_button = gtk.CheckButton('Temporary')
-         self.sflag_hidden_check_button = gtk.CheckButton('Hidden ')
--        #path
-+        # path
-         if self.islocal:
-             self.file_button = gtk.FileChooserButton('Browse')
-         else:
-             self.file_entry = gtk.Entry()
--        #max_users
--        self.max_users_adjustment = gtk.Adjustment(self.max_users,1,0xFFFFFFFF,1,5)
-+        # max_users
-+        self.max_users_adjustment = gtk.Adjustment(self.max_users, 1,
-+                0xFFFFFFFF, 1, 5)
--        self.max_users_spinbox = gtk.SpinButton(self.max_users_adjustment)
-+        self.max_users_spinbox = \
-+            gtk.SpinButton(self.max_users_adjustment)
-         self.max_users_spinbox.set_numeric(True)
--        self.max_users_spinbox.set_tooltip_text('Max Users for the Share')
--
-+        self.max_users_spinbox.set_tooltip_text(
-+                                            'Max Users for the Share')
-         self.action_area.set_layout(gtk.BUTTONBOX_CENTER)
--
--        self.cancel_button = gtk.Button("Cancel", gtk.STOCK_CANCEL)
-+        self.cancel_button = gtk.Button('Cancel', gtk.STOCK_CANCEL)
-         self.cancel_button.set_flags(gtk.CAN_DEFAULT)
-         self.add_action_widget(self.cancel_button, gtk.RESPONSE_CANCEL)
-         self.prev_button = gtk.Button(stock=gtk.STOCK_GO_BACK)
--        self.prev_button.connect("clicked",self.update_fields,-1)
-+        self.prev_button.connect('clicked', self.update_fields, -1)
-         self.action_area.pack_start(self.prev_button, False, False, 10)
-         self.next_button = gtk.Button(stock=gtk.STOCK_GO_FORWARD)
--        self.next_button.connect("clicked", self.update_fields,+1)
-+        self.next_button.connect('clicked', self.update_fields, +1)
-         self.action_area.pack_start(self.next_button, False, False, 0)
--        self.ok_button = gtk.Button("OK", gtk.STOCK_OK)
-+        self.ok_button = gtk.Button('OK', gtk.STOCK_OK)
-         self.ok_button.set_flags(gtk.CAN_DEFAULT)
-         self.add_action_widget(self.ok_button, gtk.RESPONSE_OK)
-         self.set_default_response(gtk.RESPONSE_OK)
--        self.update_fields(None,0)
-+        self.update_fields(None, 0)
--
--    def update_fields(self,widget,change):
-+    def update_fields(self, widget, change):
-         self.collect_fields()
--        self.page+=change
-+        self.page += change
-         for widget in self.fields_box.get_children():
-             self.fields_box.remove(widget)
--        if self.page == 0 :
--            self.title_label.set_markup('<b>Welcome to the New Share Wizard</b>')
-+        if self.page == 0:
-+            self.title_label.set_markup(
-+                            '<b>Welcome to the New Share Wizard</b>')
-             self.info_label.set_text(' ')
--            label =gtk.Label('Please press next to continue.')
--            label.set_alignment(0,0.5)
--            self.fields_box.pack_start(label,False,True,0)
-+            label = gtk.Label('Please press next to continue.')
-+            label.set_alignment(0, 0.5)
-+            self.fields_box.pack_start(label, False, True, 0)
-             self.fields_box.show_all()
-             self.prev_button.set_sensitive(False)
-             self.next_button.set_sensitive(True)
-             self.ok_button.set_sensitive(False)
--
--
-             self.fields_box.show_all()
--
--
-         elif self.page == 1:
-+
-             self.title_label.set_markup('<b>Name and Password</b>')
--            self.info_label.set_text('Please enter a valid name and password (optional) for your share.')
-+            self.info_label.set_text('Please enter a valid name and password (optional) for your share.'
-+                    )
-             self.prev_button.set_sensitive(True)
-             self.next_button.set_sensitive(True)
-             self.ok_button.set_sensitive(False)
-@@ -944,30 +1001,34 @@ class ShareWizardDialog(ShareAddEditDialog):
-             if self.password is not None:
-                 self.share_comment_entry.set_text(self.password)
--            table = gtk.Table(2,2,True)
-+            table = gtk.Table(2, 2, True)
-             table.set_border_width(5)
-             table.set_row_spacings(2)
-             table.set_col_spacings(6)
--            label = gtk.Label("* Share Name : ")
--            label.set_alignment(1,0.5)
-+            label = gtk.Label('* Share Name : ')
-+            label.set_alignment(1, 0.5)
--            table.attach(label, 0, 1, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--            table.attach(self.share_name_entry, 1, 2, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+            table.attach(label, 0, 1, 0, 1, gtk.FILL,
-+                                    gtk.FILL | gtk.EXPAND, 0, 0)
-+            table.attach(self.share_name_entry, 1, 2, 0, 1,
-+                        gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
--            label = gtk.Label("  Share Password : ")
--            label.set_alignment(1,0.5)
--            table.attach(label, 0, 1, 1, 2, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--            table.attach(self.share_password_entry, 1, 2, 1, 2, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+            label = gtk.Label('  Share Password : ')
-+            label.set_alignment(1, 0.5)
-+            table.attach(label, 0, 1, 1, 2, gtk.FILL,
-+                                    gtk.FILL | gtk.EXPAND, 0, 0)
-+            table.attach(self.share_password_entry, 1, 2, 1, 2,
-+                        gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
--            self.fields_box.pack_start(table,False,True,0)
-+            self.fields_box.pack_start(table, False, True, 0)
-             self.fields_box.show_all()
--
--
-         elif self.page == 2:
-+
-             self.title_label.set_markup('<b>Comment and Max Users </b>')
--            self.info_label.set_text('Please enter a  comment(optional) and select max users')
-+            self.info_label.set_text(
-+               'Please enter a  comment(optional) and select max users')
-             self.prev_button.set_sensitive(True)
-             self.next_button.set_sensitive(True)
-             self.ok_button.set_sensitive(False)
-@@ -975,80 +1036,93 @@ class ShareWizardDialog(ShareAddEditDialog):
-                 self.share_comment_entry.set_text(self.comment)
-             self.max_users_spinbox.set_value(self.max_users)
--
--            table = gtk.Table(2,2,True)
-+            table = gtk.Table(2, 2, True)
-             table.set_border_width(5)
-             table.set_row_spacings(2)
-             table.set_col_spacings(6)
--            label = gtk.Label("  Share Comment :")
--            label.set_alignment(1,0.5)
--            table.attach(label, 0, 1, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--            table.attach(self.share_comment_entry, 1, 2, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--
--            label = gtk.Label("  Max Users : ")
--            label.set_alignment(1,0.5)
--            table.attach(label, 0, 1, 1, 2, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--            table.attach(self.max_users_spinbox, 1, 2, 1, 2, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--
--            self.fields_box.pack_start(table,False,True,0)
-+            label = gtk.Label('  Share Comment :')
-+            label.set_alignment(1, 0.5)
-+            table.attach(label, 0, 1, 0, 1, gtk.FILL,
-+                                gtk.FILL | gtk.EXPAND, 0, 0)
-+            table.attach(self.share_comment_entry, 1, 2, 0, 1,
-+                        gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+
-+            label = gtk.Label('  Max Users : ')
-+            label.set_alignment(1, 0.5)
-+            table.attach(label, 0, 1, 1, 2, gtk.FILL,
-+                                    gtk.FILL | gtk.EXPAND, 0, 0)
-+            table.attach(self.max_users_spinbox, 1, 2, 1, 2,
-+                        gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+
-+            self.fields_box.pack_start(table, False, True, 0)
-             self.fields_box.show_all()
--
-         elif self.page == 3:
-+
-             self.title_label.set_markup('<b>Share Type Options</b>')
--            self.info_label.set_text('Please select your share type options.')
-+            self.info_label.set_text('Please select your share type options.'
-+                    )
-             self.prev_button.set_sensitive(True)
-             self.next_button.set_sensitive(True)
-             self.ok_button.set_sensitive(False)
--            # Radio buttons
--            self.stype_disktree_radio_button = gtk.RadioButton(None,'Disktree')
--            self.stype_disktree_radio_button.set_tooltip_text('Disktree (folder) type Share. Default')
--            self.stype_disktree_radio_button.set_active(self.stype == srvsvc.STYPE_DISKTREE)
--
--            self.stype_printq_radio_button = gtk.RadioButton(self.stype_disktree_radio_button,'Print Queue')
--            self.stype_printq_radio_button.set_tooltip_text('Shared Print Queue')
--            self.stype_printq_radio_button.set_active(self.stype == srvsvc.STYPE_PRINTQ)
--
--            self.stype_ipc_radio_button = gtk.RadioButton(self.stype_printq_radio_button,'IPC ')
--            self.stype_ipc_radio_button.set_tooltip_text('Shared Interprocess Communication Pipe (IPC).')
--            self.stype_ipc_radio_button.set_active(self.stype == srvsvc.STYPE_IPC)
-+            self.stype_disktree_radio_button = gtk.RadioButton(None,
-+                    'Disktree')
-+            self.stype_disktree_radio_button.set_tooltip_text('Disktree (folder) type Share. Default'
-+                    )
-+            self.stype_disktree_radio_button.set_active(self.stype
-+                     == srvsvc.STYPE_DISKTREE)
-+
-+            self.stype_printq_radio_button = \
-+                gtk.RadioButton(self.stype_disktree_radio_button,
-+                                'Print Queue')
-+            self.stype_printq_radio_button.set_tooltip_text('Shared Print Queue'
-+                    )
-+            self.stype_printq_radio_button.set_active(self.stype
-+                     == srvsvc.STYPE_PRINTQ)
-+
-+            self.stype_ipc_radio_button = \
-+                gtk.RadioButton(self.stype_printq_radio_button, 'IPC ')
-+            self.stype_ipc_radio_button.set_tooltip_text(
-+                        'Shared Interprocess Communication Pipe (IPC).')
-+            self.stype_ipc_radio_button.set_active(self.stype
-+                     == srvsvc.STYPE_IPC)
--            # Check buttons
-             self.sflag_temp_check_button = gtk.CheckButton('Temporary')
--            self.sflag_temp_check_button.set_tooltip_text('Make share Temporary')
-+            self.sflag_temp_check_button.set_tooltip_text(
-+                                                'Make share Temporary')
-             self.sflag_temp_check_button.set_active(self.flags[0])
-             self.sflag_hidden_check_button = gtk.CheckButton('Hidden ')
--            self.sflag_hidden_check_button.set_tooltip_text('Make share hidden.')
-+            self.sflag_hidden_check_button.set_tooltip_text(
-+                                                'Make share hidden.')
-             self.sflag_hidden_check_button.set_active(self.flags[1])
--            hbox = gtk.HBox(True,10)
-+            hbox = gtk.HBox(True, 10)
-             vbox = gtk.VBox()
-             vbox.set_border_width(5)
--            vbox.pack_start(self.stype_disktree_radio_button,True,True,3)
--            vbox.pack_start(self.stype_printq_radio_button,True,True,3)
--            vbox.pack_start(self.stype_ipc_radio_button,True,True,3)
--            hbox.pack_start(vbox,True,True,0)
-+            vbox.pack_start(self.stype_disktree_radio_button, True,
-+                            True, 3)
-+            vbox.pack_start(self.stype_printq_radio_button, True, True,
-+                            3)
-+            vbox.pack_start(self.stype_ipc_radio_button, True, True, 3)
-+            hbox.pack_start(vbox, True, True, 0)
-             vbox = gtk.VBox()
-             vbox.set_border_width(5)
--            vbox.pack_start(self.sflag_temp_check_button,True,True,3)
--            vbox.pack_start(self.sflag_hidden_check_button,True,True,3)
-+            vbox.pack_start(self.sflag_temp_check_button, True, True, 3)
-+            vbox.pack_start(self.sflag_hidden_check_button, True, True,
-+                            3)
--            hbox.pack_start(vbox,True,True,0)
-+            hbox.pack_start(vbox, True, True, 0)
--
--
--            self.fields_box.pack_start(hbox,True,True,0)
-+            self.fields_box.pack_start(hbox, True, True, 0)
-             self.fields_box.show_all()
-+        else:
--
--
--        else :
-             self.title_label.set_markup('<b>Path</b>')
-             if self.islocal:
-                 self.info_label.set_text('Please select a valid path.')
-@@ -1058,71 +1132,74 @@ class ShareWizardDialog(ShareAddEditDialog):
-             self.next_button.set_sensitive(False)
-             self.ok_button.set_sensitive(True)
--            #path
-             if self.islocal:
-                 self.file_button = gtk.FileChooserButton('Browse')
-                 if self.path is not None:
-                     self.file_button.set_current_folder(self.path)
-                 else:
--                    self.file_button.set_current_folder(".")
--                self.file_button.set_action(gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER)
--                self.file_button.set_tooltip_text('Select the folder to share')
-+                    self.file_button.set_current_folder('.')
-+                self.file_button.set_action(
-+                                 gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER)
-+                self.file_button.set_tooltip_text(
-+                                         'Select the folder to share')
-             else:
-                 self.file_entry = gtk.Entry()
-                 if self.path is not None:
-                     self.file_entry.set_text(self.path)
-                 else:
--                    self.file_entry.set_text("")
--                self.file_entry.set_tooltip_text('Path to the folder to share')
-+                    self.file_entry.set_text('')
-+                self.file_entry.set_tooltip_text(
-+                                        'Path to the folder to share')
--            table = gtk.Table(1,2,True)
-+            table = gtk.Table(1, 2, True)
-             table.set_border_width(5)
-             table.set_row_spacings(2)
-             table.set_col_spacings(6)
--
-             label = gtk.Label('  Path     : ')
--            label.set_alignment(1,0.5)
--            table.attach(label, 0, 1, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--            if self.islocal :
--                table.attach(self.file_button, 1, 2, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+            label.set_alignment(1, 0.5)
-+            table.attach(label, 0, 1, 0, 1, gtk.FILL,
-+                                gtk.FILL | gtk.EXPAND, 0, 0)
-+            if self.islocal:
-+                table.attach(self.file_button, 1, 2, 0, 1, gtk.FILL,
-+                                gtk.FILL | gtk.EXPAND, 0, 0)
-             else:
--                table.attach(self.file_entry, 1, 2, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+                table.attach(self.file_entry, 1, 2, 0, 1, gtk.FILL,
-+                                gtk.FILL | gtk.EXPAND, 0, 0)
--            self.fields_box.pack_start(table,False,True,0)
-+            self.fields_box.pack_start(table, False, True, 0)
-             self.fields_box.show_all()
--    def collect_fields (self):
-+    def collect_fields(self):
-         """ Custom collect fields from the GUI and saves in class variables which is page specific. """
-+
-         if self.page == 0:
-             pass
-+        elif self.page == 1:
--        elif self.page == 1 :
-             self.sname = self.share_name_entry.get_text()
-             self.password = self.share_password_entry.get_text()
--
--
-         elif self.page == 2:
-+
-             self.comment = self.share_comment_entry.get_text()
-             self.max_users = self.max_users_spinbox.get_value_as_int()
-+        elif self.page == 3:
--        elif self.page ==3 :
--            # Now to handle the share type resolution
--            if self.stype_disktree_radio_button.get_active() :
-+            if self.stype_disktree_radio_button.get_active():
-                 self.stype = srvsvc.STYPE_DISKTREE
--            elif self.stype_printq_radio_button.get_active() :
-+            elif self.stype_printq_radio_button.get_active():
-                 self.stype = srvsvc.STYPE_PRINTQ
-             else:
-                 self.stype = srvsvc.STYPE_IPC
--            # check flags
--            self.flags = [False,False]
-+
-+            self.flags = [False, False]
-             if self.sflag_temp_check_button.get_active():
-                 self.flags[0] = True
-             if self.sflag_hidden_check_button.get_active():
-                 self.flags[1] = True
-+        else:
--        else :
--            if self.islocal :
-+            if self.islocal:
-                 self.path = self.file_button.get_filename()
-             else:
-                 self.path = self.path_entry.get_text()
-
-commit c0cfd5beb6c3290b8da6d441281c29527d2293fe
-Author: Dhananjay Sathe <dhananjaysathe@gmail.com>
-Date:   Tue Aug 16 18:15:12 2011 +0000
-
-    fixes
-
-diff --git a/sambagtk/pygwshare.py b/sambagtk/pygwshare.py
-index 78d0852..9368bfa 100644
---- a/sambagtk/pygwshare.py
-+++ b/sambagtk/pygwshare.py
-@@ -23,6 +23,7 @@
- #       MA 02110-1301, USA.
- #
- #
-+__docformat__ = 'restructuredtext'
- import sys
- import os.path
-@@ -45,13 +46,8 @@ from pysrvsvc import DeleteDialog, ShareAddEditDialog, \
- class srvsvcPipeManager(object):
--    def __init__(
--        self,
--        server_address,
--        transport_type,
--        username,
--        password,
--        ):
-+    def __init__(self, server_address, transport_type, username,
-+                    password):
-         """ Initialize the pipe object handling the srvsvc calls """
-         creds = credentials.Credentials()
-@@ -123,16 +119,19 @@ class srvsvcPipeManager(object):
-     @staticmethod
-     def get_share_type_info(stype, field):
--        """ Return the desired info about a share type
--        Retrievable types :
--        'typestring' -> The generic name of the share type
--        'desc' -> Description of the type
--        'base_type' -> Base share type
--        'flags' -> special flags (Boolean temporary, Boolean hidden)
-- ..........
--  Usage :
--  S.get_share_type_info(stype, field) -> desired information
--  """
-+        """
-+        Return the desired info about a share type
-+        S.get_share_type_info(stype,field) -> desired information
-+
-+        Parameters:
-+        'field' : can be one of the below :
-+        -`typestring`: The generic name of the share type
-+        -`desc`: Description of the type
-+        -`base_type`: Base share type
-+        -`flags`: special flags (Boolean temporary,Boolean hidden)
-+
-+
-+        """
-         base_dict = {
-             srvsvc.STYPE_DISKTREE: {'typestring': 'STYPE_DISKTREE',
-@@ -192,15 +191,15 @@ class srvsvcPipeManager(object):
-         return stype_info_dict.get(field)
-     def fix_path_format(self, path=''):
--        """ Fixes and checks the given path and convets it to the required format
--
--  Convert the unix path to relavant Info Struct path for samba share object
--  It also checks for validity of path if it is local.
--  To be used for distktree (Files not IPC etc) type shares.
--  Usage :
--  S.fix_path_format(path= "") -> path
-+        """
-+        Fixes and checks the given path to make it in tthe correct format
--  """
-+        Convert the unix path to relavant Info Struct path for samba
-+        share object.It also checks for validity of path if it is local.
-+        To be used for distktree (Files not IPC etc) type shares.
-+        `Usage` :
-+        S.fix_path_format(path= "") -> path
-+        """
-         if self.islocal:
-             if path.startswith('C:'):
-@@ -219,8 +218,7 @@ class srvsvcPipeManager(object):
-     # NOT supported yet
-     def get_connections(self, level=1, max_buffer=-1):
--        """ DO NOT USE : UNSUPPORTED BY SAMBA-4 YET
--  """
-+        """ DO NOT USE : UNSUPPORTED BY SAMBA-4 YET """
-         self.conn_list = []
-         info_ctr = srvsvc.NetConnInfoCtr()
-@@ -237,10 +235,9 @@ class srvsvcPipeManager(object):
-     def modify_share(self, share=None):
-         """ Modifies share 502 object.
--  Usage:
--  S.modify_share(self,share)-> parm_error
--
--  """
-+        Usage:
-+        S.modify_share(self,share)-> parm_error
-+        """
-         if share is None:
-             raise KeyError('Non existant Share cannot be modified')
-@@ -252,11 +249,14 @@ class srvsvcPipeManager(object):
-         return parm_error
-     def get_shares_list(self):
--        """ Updates the share list of the pipe object .
--  If show_all_shares is set to flase Hidden shares are set to
--  false and not returned It first tries to list all shares if
--  that fails it falls back to list standard shares and sets the
--  show_all_shares boolean accordingly"""
-+        """
-+        Updates the share list of the pipe object .
-+
-+        If show_all_shares is set to flase Hidden shares are set to
-+        false and not returned .It first tries to list all shares if
-+        that fails it falls back to list standard shares and sets the
-+        show_all_shares boolean accordingly
-+        """
-         if self.show_all_shares is False:
-             self.list_shares()
-@@ -264,19 +264,19 @@ class srvsvcPipeManager(object):
-             try:
-                 self.list_shares_all()
-                 self.show_all_shares = True
--            except:
-+            except RuntimeError:
-                 self.list_shares()
-                 self.show_all_shares = False
-     def list_shares(self):
--        """ Gets a list of all (not hidden/special)active shares
--        and update the share and share_name list.
--
--  Usage:
--  Recomended do not USE , use get_shares_list
--  S.list_shares() -> None
--  """
--
-+        """
-+        Gets a list of all (not hidden/special)active shares and update
-+        the share and share_name list.
-+
-+        `Usage`:
-+        Recomended do not USE , use get_shares_list
-+        S.list_shares() -> None
-+        """
-         self.share_list = []
-         self.share_names_list = []
-         self.share_types_list = []
-@@ -293,11 +293,13 @@ class srvsvcPipeManager(object):
-                 self.share_types_list.append(i.type)
-     def list_shares_all(self):
--        """ Gets a list of all (including hiden/special)active shares and update the share and share_name list.
-+        """
-+        Gets a list of all (including hiden/special)active shares and
-+        update the share and share_name list.
--  Usage:
--  S.list_shares() -> None
--  """
-+        `Usage`:
-+        S.list_shares() -> None
-+        """
-         self.share_list = []
-         self.share_names_list = []
-@@ -314,14 +316,14 @@ class srvsvcPipeManager(object):
-                 self.share_types_list.append(i.type)
-     def add_share(self, share=None):
--        """Adds a share with a given name and type
--  This uses a share info 502 object.
--  Should be followed by modify_share to complete the addition of the share.
--
--  Usage :
--  S.add_share(self, share=None) -> parm_error
-+        """
-+        Adds a share with a given name and type
-+        This uses a share info 502 object.
-+        Should be followed by modify_share to complete the addition of the share.
--  """
-+        `Usage` :
-+        S.add_share(self,share=None) -> parm_error
-+        """
-         if share is None:
-             raise KeyError('Illegal to add an Empty Share ')
-@@ -333,11 +335,12 @@ class srvsvcPipeManager(object):
-         return parm_error
-     def get_share_info_local(self, name=''):
--        """ Gets share info for a share with a particular name from local cache lists.
-+        """
-+        Gets share info for a share with a particular name from local cache lists.
--  Usage:
--  S.get_share_info_local(self, name=  "") -> sahre_info (502 type)
--  """
-+        `Usage`:
-+        S.get_share_info_local(self,name= "") -> sahre_info (502 type)
-+        """
-         name = unicode(name)
-         for i in self.share_names_list:
-@@ -345,55 +348,55 @@ class srvsvcPipeManager(object):
-                 return share_list[i.index()]
-     def get_share_info_rpc(self, name=''):
--        """ Gets share info for a share with a particular name from the rpc server.
-+        """
-+        Gets share info for a share with a particular name from the rpc server.
--  Usage:
--  S.get_share_info_local(self, name= "") -> sahre_info (502 type)
--  """
-+        `Usage`:
-+        S.get_share_info_local(self,name= "") -> sahre_info (502 type)
-+        """
-         name = unicode(name)
-         info = self.pipe.NetShareGetInfo(self.server_unc, name, 502)
-         return info
-     def get_server_info(self):
--        """ Gets type 102 server info .
-+        """
-+        Gets type 102 server info .
-- Usage:
-- S.get_server_info() -> server_info
-- """
-+        `Usage`:
-+        S.get_server_info() -> server_info
-+        """
-         server_info = self.pipe.NetSrvGetInfo(self.server_unc, 102)
-         return server_info
-     def delete_share(self, name=''):
--        """ Delete a share with the given name.
-+        """
-+        Delete a share with the given name.
--  Usage:
--  S.delete_share (self,name=  "") -> Boolean indicating success or faliure ,[error object]
--  """
-+        `Usage`:
-+        S.delete_share (self,name= "") -> Boolean indicating success or faliure ,[error object]
-+        """
-         name = unicode(name)
-         self.pipe.NetShareDel(self.server_unc, name, 0)
-     # NOT supported yet
-     def remove_persistance(self, name=''):
--        """ Removes persistance of a share .
--
--  Usage: UNSUPPORTED YET
--  ........
--  """
-+        """ Removes persistance of a share """
-         reserved = None
-         name = unicode(name)
-         self.pipe.NetShareDelSticky(self.server_unc, name, reserved)
-     def get_share_type(self, name=''):
--        """ Returns type of share code
--  uses local cache for now as the rpc server in samba4 does not support it yet
--  ........
--  Usage:
--  S.update_tod()
--  """
-+        """
-+        Returns type of share code
-+
-+        uses local cache for now as the rpc server in samba4 does not support it yet
-+        `Usage`:
-+        S.update_tod()
-+        """
-         name = unicode(name)
-         for i in self.share_names_list:
-@@ -403,18 +406,14 @@ class srvsvcPipeManager(object):
-                 raise KeyError('Share Does no exist')
-         return stype
--    def get_file_security(
--        self,
--        secdesc,
--        filename='',
--        filepath='',
--        ):
--        """ Returns a security descriptor buffer of a file .
--  Filepath must be full path relative to basepath of share's path.
-+    def get_file_security(self, secdesc, filename='', filepath=''):
-+        """
-+        Returns a security descriptor buffer of a file .
-+        Filepath must be full path relative to basepath of share's path.
--  Usage:
--  s.get_file_security(self,secdesc,sharename= " ",filepath=  "")-> sd_buf
--  """
-+        `Usage`:
-+        S.get_file_security(self,secdesc,sharename="",filepath= "")-> sd_buf
-+        """
-         filename = unicode(filename)
-         sd_buf = self.pipe.NetGetFileSecurity(self.server_unc, share,
-@@ -422,28 +421,26 @@ class srvsvcPipeManager(object):
-         return sd_buf
-     def get_tod(self):
--        """ Updates Time and date (TOD) Info of the pipe object.
--  ........
--  Usage:
--  update_tod() -> tod info object
--  """
-+        """
-+        Updates Time and date (TOD) Info of the pipe object.
-+
-+        `Usage`:
-+        update_tod() -> tod info object
-+        """
-         tod_info = self.pipe.NetRemoteTOD(self.server_unc)
-         return tod_info
--    def set_file_security(
--        self,
--        secdesc,
--        sd_buf,
--        sharename='',
--        filepath='',
--        ):
--        """ Sets the security  of a file .
--  Filepath must be full path relative to basepath of share's path.
-+    def set_file_security(self, secdesc, sd_buf, sharename='',
-+                        filepath=''):
-+        """
-+        Sets the security  of a file .
-+
-+        Filepath must be full path relative to basepath of share's path.
--  Usage:
--  S.set_file_security (self,secdesc,sd_buf,sharename= "",filepath= "") -> Boolean succes,[error]
--  """
-+        `Usage`:
-+        S.set_file_security (self,secdesc,sd_buf,sharename= "",filepath= "") -> Boolean succes,[error]
-+        """
-         sharename = unicode(sharename)
-         self.pipe.NetSetFileSecurity(self.server_unc, share, filename,
-@@ -452,13 +449,15 @@ class srvsvcPipeManager(object):
-     @staticmethod
-     def get_platform_info(platform_id, field):
-         """ Return the desired field.
--        Retrievable types :
--        'typestring' : The generic name of the platform type
--        'desc' : Description of the type
--  Usage:
--  S.get_platform_string(platform_id,field)-> desired_field
--  """
-+        Parameters:
-+        `field` can be any of the below'
-+        `typestring` : The generic name of the platform type
-+        `desc` : Description of the type
-+
-+        `Usage`:
-+        S.get_platform_string(platform_id,field)-> desired_field
-+        """
-         os_dict = {
-             srvsvc.PLATFORM_ID_DOS: {'typestring': 'PLATFORM_ID_DOS',
-@@ -474,20 +473,14 @@ class srvsvcPipeManager(object):
-             }
-         return os_dict.get(platform_id).get(field)
--    def get_share_object(
--        self,
--        name='',
--        stype=0,
--        comment='',
--        max_users=0xFFFFFFFF,
--        password='',
--        path='',
--        #permissions= None, it's a reserved section (MS-SRVS)
--        ):
--        """ Gets a 502 type share object.
--  Usage:
--  S.get_share_object(self,name= "",comment= "",max_users= 0xFFFFFFFF,password= "",path= "",permissions= None,sd_buf=None) -> share (502 type share object)
--  """
-+    def get_share_object(self, name='', stype=0, comment='',
-+                    max_users=0xFFFFFFFF, password='', path=''):
-+        """
-+        Gets a 502 type share object.
-+
-+        Usage:
-+        S.get_share_object(self,name= "",comment= "",max_users= 0xFFFFFFFF,password= "",path= "",permissions= None,sd_buf=None) -> share (502 type share object)
-+        """
-         share = srvsvc.NetShareInfo502()
-@@ -504,29 +497,30 @@ class srvsvcPipeManager(object):
-         return share
-     def name_validate(self, name):
--        """ Validate a Given Share Name .
-+        """
-+        Validate a Given Share Name .
-         Returns True for a given share name and false for a invalid one .
-         It does so gracefully without raising a exception. Thus validating  name cleanly
-- .....
--  Usage :
--  S.name_validate(name) -> Boolean Indicating Validity
--  """
-+        `Usage` :
-+        S.name_validate(name) -> Boolean Indicating Validity
-+        """
-         try:
-             self.pipe.NetNameValidate(self.server_unc, name, 9,
-                     0)
-             return True
--        except:
-+        except RuntimeError:
-             return False
-     def get_list_disks(self):
--        """ Returns a list of disk names on the system.
--  In samaba rpc server these are hard coded .
--  Refreshes Disk list of the pipe object.
--............
--  Usage:
--  S.get_list_disks()-> None
--  """
-+        """
-+        Returns a list of disk names on the system.
-+        In samaba rpc server these are hard coded .
-+        Refreshes Disk list of the pipe object.
-+
-+        `Usage`:
-+        S.get_list_disks()-> None
-+        """
-         disk_info = srvsvc.NetDiskInfo()
-         self.disks_list = []
-@@ -543,15 +537,8 @@ class ShareWindow(gtk.Window):
-     """ Share management interface window """
--    def __init__(
--        self,
--        info_callback=None,
--        server='',
--        username='',
--        password='',
--        transport_type=0,
--        connect_now=False,
--        ):
-+    def __init__(self, info_callback=None, server='', username='',
-+                 password='', transport_type=0, connect_now=False):
-         super(ShareWindow, self).__init__()
-         # It's nice to have this info saved when a user wants to reconnect
-@@ -564,14 +551,8 @@ class ShareWindow(gtk.Window):
-         self.create()
-         self.set_status('Disconnected.')
--        self.on_connect_item_activate(
--            None,
--            server,
--            transport_type,
--            username,
--            password,
--            connect_now,
--            )
-+        self.on_connect_item_activate(None, server, transport_type,
-+                                        username, password, connect_now)
-         self.show_all()
-         self.fill_active_pane()
-         self.fill_server_info()
-@@ -590,13 +571,7 @@ class ShareWindow(gtk.Window):
-         self.statusbar.pop(0)
-         self.statusbar.push(0, message)
--    def run_message_dialog(
--        self,
--        type,
--        buttons,
--        message,
--        parent=None,
--        ):
-+    def run_message_dialog(self, type, buttons, message, parent=None):
-         if parent is None:
-             parent = self
-@@ -607,15 +582,10 @@ class ShareWindow(gtk.Window):
-         return response
--    def on_connect_item_activate(
--        self,
--        widget,
--        server='',
--        transport_type=0,
--        username='',
--        password='',
--        connect_now=False,
--        ):
-+    def on_connect_item_activate(self, widget, server='',
-+                            transport_type=0, username='', password='',
-+                            connect_now=False):
-+
-         transport_type = transport_type or self.transport_type
-         if transport_type is 2:
-             server = '127.0.0.1'
-@@ -624,14 +594,8 @@ class ShareWindow(gtk.Window):
-         username = username or self.username
-         try:
--            self.pipe_manager = self.run_connect_dialog(
--                None,
--                server,
--                transport_type,
--                username,
--                password,
--                connect_now,
--                )
-+            self.pipe_manager = self.run_connect_dialog(None, server,
-+                    transport_type, username, password, connect_now)
-             if self.pipe_manager is not None:
-                 self.pipe_manager.get_shares_list()
-                 self.server_info = self.pipe_manager.server_info
-@@ -661,15 +625,8 @@ class ShareWindow(gtk.Window):
-         self.update_sensitivity()
-         self.fill_server_info()
--    def run_connect_dialog(
--        self,
--        pipe_manager,
--        server_address,
--        transport_type,
--        username,
--        password='',
--        connect_now=False,
--        ):
-+    def run_connect_dialog(self, pipe_manager, server_address,
-+            transport_type, username, password='', connect_now=False):
-         dialog = srvsvcConnectDialog(server_address, transport_type,
-                 username, password)
-@@ -886,9 +843,8 @@ Please check your network connection.''',
-                 label.set_alignment(1, 0.5)
-                 attach_index = self.pipe_manager.disks_list.index(i)+2
--                table.attach(label, 0, 1, attach_index,
--                                attach_index + 1, gtk.FILL,
--                                gtk.FILL | gtk.EXPAND, 0, 0)
-+                table.attach(label, 0, 1, attach_index,attach_index + 1,
-+                                gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-         self.sd_frame.add(table)
-         self.sd_frame.show_all()
-@@ -927,12 +883,8 @@ Please check your network connection.''',
-         dialog.hide()
-         return response_id
--    def run_share_add_edit_dialog(
--        self,
--        share=None,
--        apply_callback=None,
--        wizard_mode=False,
--        ):
-+    def run_share_add_edit_dialog(self, share=None, apply_callback=None,
-+                                  wizard_mode=False):
-         if wizard_mode: # wizard only for a new share
-             dialog = ShareWizardDialog(self.pipe_manager, None)
-@@ -1126,12 +1078,7 @@ Please check your network connection.''',
-             self.refresh_shares_view()
--    def on_notebook_switch_page(
--        self,
--        widget,
--        page,
--        page_num,
--        ):
-+    def on_notebook_switch_page(self, widget, page, page_num):
-         self.active_page_index = page_num
-         self.update_sensitivity()
-@@ -1223,10 +1170,8 @@ Please check your network connection.''',
-     def fill_active_pane(self):
-         """ Fills sthe active left pane """
--        try:
--            share = self.get_selected_share()
--        except:
--            share = None
-+        share = self.get_selected_share()
-+
-         widget_to_delete = \
-             self.shareinfo_frame.get_children()[0]
-@@ -1413,8 +1358,8 @@ Please check your network connection.''',
-         self.shareinfo_frame.show_all()
-     def create(self):
--              
--              # main window
-+
-+        # main window
-         self.set_title('Samba-Gtk Share Management Interface')
-         self.set_default_size(800, 600)
-         self.icon_filename = os.path.join(sys.path[0], 'images'
-@@ -1428,7 +1373,7 @@ Please check your network connection.''',
-         accel_group = gtk.AccelGroup()
-         toplevel_vbox = gtk.VBox(False, 0)
-         self.add(toplevel_vbox)
--        
-+
-         # menu
-         self.menubar = gtk.MenuBar()
-         toplevel_vbox.pack_start(self.menubar, False, False, 0)
-@@ -1556,7 +1501,7 @@ Please check your network connection.''',
-         main_hbox = gtk.HBox()
-         self.share_notebook.append_page(main_hbox,
-                 gtk.Label('Share Management'))
--        
-+
-         # Share listing on left side
-         rvbox = gtk.VBox()
-         main_hbox.pack_start(rvbox, True, True, 0)
-@@ -1638,7 +1583,7 @@ Please check your network connection.''',
-                 self.toggle_share_view_visiblity, None)
-         ### Right active widget :
--        
-+
-         vbox = gtk.VBox()
-         main_hbox.pack_start(vbox, False, False, 0)
-@@ -1816,13 +1761,13 @@ Please check your network connection.''',
-         label.set_use_markup(True)
-         self.sd_frame.set_label_widget(label)
-         vbox.pack_start(self.sd_frame, False, False, 0)
--        
-+
-         # status bar
-         self.statusbar = gtk.Statusbar()
-         self.statusbar.set_has_resize_grip(True)
-         toplevel_vbox.pack_end(self.statusbar, False, False, 0)
--        
-+
-         # signals/events
-         self.connect('delete_event', self.on_self_delete)
-@@ -1896,14 +1841,9 @@ def ParseArgs(argv):
-     arguments = {}
-     try:  # get arguments into a nicer format
--        (opts, args) = getopt.getopt(argv, 'chu:s:p:t:', [
--            'help',
--            'user=',
--            'server=',
--            'password=',
--            'connect-now',
--            'transport=',
--            ])
-+        (opts, args) = getopt.getopt(argv, 'chu:s:p:t:', ['help',
-+                        'user=', 'server=', 'password=', 'connect-now',
-+                        'transport='])
-     except getopt.GetoptError:
-         PrintUsage()
-         sys.exit(2)
-
-commit 8ecfea095c473771b5a4583dd5d3b19687b694ef
-Author: Dhananjay Sathe <dhananjaysathe@gmail.com>
-Date:   Tue Aug 16 14:58:16 2011 +0000
-
-    remove sys append by default, add gpl
-
-diff --git a/sambagtk/pygwshare.py b/sambagtk/pygwshare.py
-index 6a95184..78d0852 100644
---- a/sambagtk/pygwshare.py
-+++ b/sambagtk/pygwshare.py
-@@ -1,6 +1,29 @@
--    #!/usr/bin/python
-+#!/usr/bin/python2.6
- # -*- coding: utf-8 -*-
-+#       pygwshare.py
-+#       Frontends to Samba-Gtk Share Management
-+#
-+#       Copyright 2011 Dhananjay Sathe <dhananjaysathe@gmail.com>
-+#       Copyright 2011 Jelmer Vernooij <jelmer@samba.org>
-+#
-+#       This program is free software; you can redistribute it and/or modify
-+#       it under the terms of the GNU General Public License as published by
-+#       the Free Software Foundation; either version 3 of the License, or
-+#       (at your option) any later version.
-+#
-+#       This program is distributed in the hope that it will be useful,
-+#       but WITHOUT ANY WARRANTY; without even the implied warranty of
-+#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+#       GNU General Public License for more details.
-+#
-+#       You should have received a copy of the GNU General Public License
-+#       along with this program; if not, write to the Free Software
-+#       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-+#       MA 02110-1301, USA.
-+#
-+#
-+
- import sys
- import os.path
- import traceback
-@@ -8,7 +31,7 @@ import getopt
- import gobject
- import gtk
--sys.path.append('/usr/local/samba/lib/python2.7/site-packages/')
-+# sys.path.append('/usr/local/samba/lib/python2.7/site-packages/')
- # default for ./configure.developer for use on python 2.7
- # Unhash the above line if it is yor your config , else edit it as req
-
-commit 9473d0b8b1b7696c413625a0c9bd96ffa4c36a76
-Author: Dhananjay Sathe <dhananjaysathe@gmail.com>
-Date:   Tue Aug 16 14:51:42 2011 +0000
-
-    pep fixes, statusbar fixed
-
-diff --git a/sambagtk/pygwshare.py b/sambagtk/pygwshare.py
-index 284c98d..6a95184 100644
---- a/sambagtk/pygwshare.py
-+++ b/sambagtk/pygwshare.py
-@@ -1,29 +1,6 @@
--#!/usr/bin/python2.6
-+    #!/usr/bin/python
- # -*- coding: utf-8 -*-
--#       pygwshare.py
--#       Frontends to Samba-Gtk Share Management
--#
--#       Copyright 2011 Dhananjay Sathe <dhananjaysathe@gmail.com>
--#       Copyright 2011 Jelmer Vernooij <jelmer@samba.org>
--#
--#       This program is free software; you can redistribute it and/or modify
--#       it under the terms of the GNU General Public License as published by
--#       the Free Software Foundation; either version 3 of the License, or
--#       (at your option) any later version.
--#
--#       This program is distributed in the hope that it will be useful,
--#       but WITHOUT ANY WARRANTY; without even the implied warranty of
--#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
--#       GNU General Public License for more details.
--#
--#       You should have received a copy of the GNU General Public License
--#       along with this program; if not, write to the Free Software
--#       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
--#       MA 02110-1301, USA.
--#
--#
--
- import sys
- import os.path
- import traceback
-@@ -31,22 +8,16 @@ import getopt
- import gobject
- import gtk
--#sys.path.append('/usr/local/samba/lib/python2.7/site-packages/')
--#for use against the default binaries from default .configure.developer for use on python 2.7
--# Unhash the above line if it is yor your config , else edit it as required
-+sys.path.append('/usr/local/samba/lib/python2.7/site-packages/')
-+# default for ./configure.developer for use on python 2.7
-+# Unhash the above line if it is yor your config , else edit it as req
- from samba import credentials
--from samba.dcerpc import (
--    srvsvc,
--    security,
--    )
-+from samba.dcerpc import srvsvc, security
-+
- from sambagtk.dialogs import AboutDialog
--from pysrvsvc import (
--    DeleteDialog,
--    ShareAddEditDialog,
--    srvsvcConnectDialog,
--    ShareWizardDialog
--    )
-+from pysrvsvc import DeleteDialog, ShareAddEditDialog, \
-+    srvsvcConnectDialog, ShareWizardDialog
- class srvsvcPipeManager(object):
-@@ -73,19 +44,21 @@ class srvsvcPipeManager(object):
-             creds.set_workstation('')
-             creds.set_password(password)
--        #binding = "ncacn_np:%s" # srvsvc allows only named pipes tcp/upd not allowed under MS-SRVS specifications
-+        # binding = "ncacn_np:%s" # srvsvc allows only named pipes
-+        # tcp/upd not allowed under MS-SRVS specifications
-+
-         binding = ['ncacn_np:%s', 'ncacn_ip_tcp:%s', 'ncalrpc:%s'
-                    ][transport_type]
-         if transport_type is 2:
-             server_address = '127.0.0.1'
--           # Not really necessary from the point of view of the pipe itself but later sections depend on it
-+
-         self.pipe = srvsvc.srvsvc(binding % server_address,
-                                   credentials=creds)
-         # set up some basic parameters unique to the connection
--        self.server_unc = ''.join(['\\',server_address])
-+        self.server_unc = ''.join(['\\', server_address])
-         # Retrive some info about the share server
-@@ -96,107 +69,107 @@ class srvsvcPipeManager(object):
-         self.resume_handle_conn = 0x00000000
-         self.resume_handle_share = 0x00000000
--        self.resume_handle = 0x00000000  # for general purposes where servers ignore this but it exists in the calls
-+        self.resume_handle = 0x00000000
-         self.max_buffer = -1
--        # Initialise various cache lists :
--        # The idea is to use locally available share list and related conveiniece lists
--        # This should reduce the queries and improve performance
--        # The share list will be locally maintained any via the get_share_local_cache
--
--        if server_address in ('127.0.0.1','localhost') :
-+        if server_address in ('127.0.0.1', 'localhost'):
-             self.islocal = True
-+        # Not really necessary from the point of view of the pipe itself but later sections depend on it
-         else:
-             self.islocal = False
-+
-+        # Initialise various cache lists :
-+        # The idea is to use locally available share & related lists
-+        # This should reduce the queries and improve performance
-+        # The share list will be locally maintained and updated
-+        # via the various methods (eg get_shares_list)
-+
-         self.conn_list = []
-         self.share_list = []
-         self.share_names_list = []
-         self.share_types_list = []
-         self.get_list_disks()
-+
-         # attempt to control listing of shares.
-         self.show_all_shares = False
-         self.get_shares_list()
--
--
-     def close(self):
-         pass
-         # apparently there's no .Close() method for this pipe
--
--
-     @staticmethod
--    def  get_share_type_info(stype,field):
-+    def get_share_type_info(stype, field):
-         """ Return the desired info about a share type
-         Retrievable types :
-         'typestring' -> The generic name of the share type
-         'desc' -> Description of the type
-         'base_type' -> Base share type
--        'flags' -> special flags (Boolean temporary,Boolean hidden)
-+        'flags' -> special flags (Boolean temporary, Boolean hidden)
-  ..........
-   Usage :
--  S.get_share_type_info(stype,field) -> desired information
-+  S.get_share_type_info(stype, field) -> desired information
-   """
-+
-         base_dict = {
--            srvsvc.STYPE_DISKTREE : {
--                        'typestring' :'STYPE_DISKTREE',
--                        'desc' : 'Disktree (Folder) Share'
--                        },
--
--            srvsvc.STYPE_PRINTQ : {
--                        'typestring' :'STYPE_PRINTQ',
--                        'desc' : 'Print Queue Share'
--                        },
--
--            srvsvc.STYPE_DEVICE : {
--                        'typestring' :'STYPE_DEVICE',
--                        'desc' : 'Device Share'
--                        },
--
--            srvsvc.STYPE_IPC : {
--                        'typestring' :'STYPE_IPC',
--                        'desc' : 'IPC Share'
--                        }
--                    }
-+            srvsvc.STYPE_DISKTREE: {'typestring': 'STYPE_DISKTREE',
-+                                    'desc': 'Disktree (Folder) Share'},
-+            srvsvc.STYPE_PRINTQ: {'typestring': 'STYPE_PRINTQ',
-+                                  'desc': 'Print Queue Share'},
-+            srvsvc.STYPE_DEVICE: {'typestring': 'STYPE_DEVICE',
-+                                  'desc': 'Device Share'},
-+            srvsvc.STYPE_IPC: {'typestring': 'STYPE_IPC',
-+                               'desc': 'IPC Share'},
-+            }
-         flag_temp = False
-         flag_hidden = False
-         if stype & srvsvc.STYPE_TEMPORARY:
--               flag_temp = True
-+            flag_temp = True
-         if stype & srvsvc.STYPE_HIDDEN:
--               flag_hidden = True
--
--        if flag_temp is True and flag_hidden is False :
--               stype_base = stype -  srvsvc.STYPE_TEMPORARY
--               stype_typestring = ''.join([base_dict.get(stype_base).get('typestring'),'_TEMPORARY'])
--               stype_desc = ' '.join(['Temporary',base_dict.get(stype_base).get('desc') ])
--
--        elif flag_temp is False and flag_hidden is True :
--                 stype_base = stype +  srvsvc.STYPE_HIDDEN
--                 stype_typestring = ''.join([base_dict.get(stype_base).get('typestring'),'_HIDDEN'])
--                 stype_desc = ' '.join(['Hidden',base_dict.get(stype_base).get('desc') ])
--
--        elif flag_temp is True and flag_hidden is True :
--                 stype_base = stype -  srvsvc.STYPE_TEMPORARY +  srvsvc.STYPE_HIDDEN
--                 stype_typestring = ''.join([base_dict.get(stype_base).get('typestring'),'_TEMPORARY_HIDDEN'])
--                 stype_desc = ' '.join(['Temporary Hidden',base_dict.get(stype_base).get('desc') ])
-+            flag_hidden = True
-+
-+        if flag_temp is True and flag_hidden is False:
-+            stype_base = stype - srvsvc.STYPE_TEMPORARY
-+            base_str = base_dict.get(stype_base).get('typestring')
-+            stype_typestring = ''.join([base_str, '_TEMPORARY'])
-+            stype_desc = ' '.join(['Temporary',
-+                                  base_dict.get(stype_base).get('desc'
-+                                  )])
-+        elif flag_temp is False and flag_hidden is True:
-+
-+            stype_base = stype + srvsvc.STYPE_HIDDEN
-+            base_str = base_dict.get(stype_base).get('typestring')
-+            stype_typestring = ''.join([base_str, '_HIDDEN'])
-+            stype_desc = ' '.join(['Hidden',
-+                                  base_dict.get(stype_base).get('desc'
-+                                  )])
-+        elif flag_temp is True and flag_hidden is True:
-+
-+            stype_base = stype - srvsvc.STYPE_TEMPORARY\
-+                 + srvsvc.STYPE_HIDDEN
-+            base_str = base_dict.get(stype_base).get('typestring')
-+            stype_typestring = ''.join([base_str, '_TEMPORARY_HIDDEN'])
-+            stype_desc = ' '.join(['Temporary Hidden',
-+                                  base_dict.get(stype_base).get('desc'
-+                                  )])
-         else:
-             stype_base = stype
--            stype_typestring = base_dict.get(stype_base).get('typestring')
-+            stype_typestring = \
-+                base_dict.get(stype_base).get('typestring')
-             stype_desc = base_dict.get(stype_base).get('desc')
--        stype_info_dict = {'typestring':stype_typestring,
--                            'desc':stype_desc,
--                            'base_type':stype_base,
--                            'flags':[flag_temp,flag_hidden]
--                            }
-+        stype_info_dict = {
-+            'typestring': stype_typestring,
-+            'desc': stype_desc,
-+            'base_type': stype_base,
-+            'flags': [flag_temp, flag_hidden],
-+            }
-         return stype_info_dict.get(field)
--
--
--    def fix_path_format(self,path=''):
--        """ Fixes and checks the given path to make it in tthe correct format
-+    def fix_path_format(self, path=''):
-+        """ Fixes and checks the given path and convets it to the required format
-   Convert the unix path to relavant Info Struct path for samba share object
-   It also checks for validity of path if it is local.
-@@ -205,54 +178,49 @@ class srvsvcPipeManager(object):
-   S.fix_path_format(path= "") -> path
-   """
--        if self.islocal :
-+
-+        if self.islocal:
-             if path.startswith('C:'):
--                path = path[2:].replace('\\','/')
-+                path = path[2:].replace('\\', '/')
-             if os.path.exists(path):
-                 path = os.path.realpath(path)  # gets canonical path
-             else:
--                raise OSError("Path does not exist !")
-+                raise OSError('Path does not exist !')
-         if path.startswith('/'):
-             path = path.replace('/', '\\')
--            path = ''.join(['C:',path])
-+            path = ''.join(['C:', path])
-             path = unicode(path)
-         return path
--
--
-     # NOT supported yet
--    def get_connections(
--        self,
--        level = 1,
--        max_buffer = -1,
--        ):
-+    def get_connections(self, level=1, max_buffer=-1):
-         """ DO NOT USE : UNSUPPORTED BY SAMBA-4 YET
-   """
-+
-         self.conn_list = []
-         info_ctr = srvsvc.NetConnInfoCtr()
--        info_ctr.level = level   #
--        (no_ent,info_ctr,resume_handle) = \
-+        info_ctr.level = level  #
-+        (no_ent, info_ctr, resume_handle) = \
-             self.pipe.NetConnEnum(server_unc,
--                                 self.server_info_basic.path,
--                                 info_ctr,max_buffer,
--                                 self.resume_handle_conn)
--        if no_ent !=0 :
--            for i in info_ctr.ctr.array :
-+                                  self.server_info_basic.path,
-+                                  info_ctr, max_buffer,
-+                                  self.resume_handle_conn)
-+        if no_ent != 0:
-+            for i in info_ctr.ctr.array:
-                 self.conn_list.append(i)
--
--
--    def modify_share(self,share=None):
-+    def modify_share(self, share=None):
-         """ Modifies share 502 object.
-   Usage:
-   S.modify_share(self,share)-> parm_error
-   """
-+
-         if share is None:
--            raise KeyError("Non existant Share cannot be modified")
-+            raise KeyError('Non existant Share cannot be modified')
-         parm_error = 0x00000000
-         name = share.name
-@@ -260,13 +228,12 @@ class srvsvcPipeManager(object):
-                 502, share, parm_error)
-         return parm_error
--
--
--    def  get_shares_list(self):
-+    def get_shares_list(self):
-         """ Updates the share list of the pipe object .
--  If show_all_shares is set to flase Hidden shares are set to false and not returned
--  It first tries to list all shares if that fails it falls back to list standard shares
--  and sets the show_all_shares boolean accordingly"""
-+  If show_all_shares is set to flase Hidden shares are set to
-+  false and not returned It first tries to list all shares if
-+  that fails it falls back to list standard shares and sets the
-+  show_all_shares boolean accordingly"""
-         if self.show_all_shares is False:
-             self.list_shares()
-@@ -278,15 +245,15 @@ class srvsvcPipeManager(object):
-                 self.list_shares()
-                 self.show_all_shares = False
--
--
-     def list_shares(self):
--        """ Gets a list of all (not hidden/special)active shares and update the share and share_name list.
-+        """ Gets a list of all (not hidden/special)active shares
-+        and update the share and share_name list.
-   Usage:
-   Recomended do not USE , use get_shares_list
-   S.list_shares() -> None
-   """
-+
-         self.share_list = []
-         self.share_names_list = []
-         self.share_types_list = []
-@@ -302,14 +269,13 @@ class srvsvcPipeManager(object):
-                 self.share_names_list.append(i.name)
-                 self.share_types_list.append(i.type)
--
--
-     def list_shares_all(self):
-         """ Gets a list of all (including hiden/special)active shares and update the share and share_name list.
-   Usage:
-   S.list_shares() -> None
-   """
-+
-         self.share_list = []
-         self.share_names_list = []
-         self.share_types_list = []
-@@ -324,75 +290,68 @@ class srvsvcPipeManager(object):
-                 self.share_names_list.append(i.name)
-                 self.share_types_list.append(i.type)
--
--
-     def add_share(self, share=None):
-         """Adds a share with a given name and type
-   This uses a share info 502 object.
-   Should be followed by modify_share to complete the addition of the share.
-   Usage :
--  S.add_share(self,share=None) -> parm_error
-+  S.add_share(self, share=None) -> parm_error
-   """
--        if share is None :
--            raise KeyError("Illegal to add an Empty Share ")
-+
-+        if share is None:
-+            raise KeyError('Illegal to add an Empty Share ')
-         # Uses the default 502 share info
-+
-         parm_error = 0x00000000
-         parm_error = self.pipe.NetShareAdd(self.server_unc, 502, share,
-                 parm_error)
-         return parm_error
--
--
-     def get_share_info_local(self, name=''):
-         """ Gets share info for a share with a particular name from local cache lists.
-   Usage:
--  S.get_share_info_local(self,name= "") -> sahre_info (502 type)
-+  S.get_share_info_local(self, name=  "") -> sahre_info (502 type)
-   """
-+
-         name = unicode(name)
-         for i in self.share_names_list:
-             if name is i:
-                 return share_list[i.index()]
--
--
-     def get_share_info_rpc(self, name=''):
-         """ Gets share info for a share with a particular name from the rpc server.
-   Usage:
--  S.get_share_info_local(self,name= "") -> sahre_info (502 type)
-+  S.get_share_info_local(self, name= "") -> sahre_info (502 type)
-   """
-+
-         name = unicode(name)
-         info = self.pipe.NetShareGetInfo(self.server_unc, name, 502)
-         return info
--
--
--    def  get_server_info(self):
-+    def get_server_info(self):
-         """ Gets type 102 server info .
-  Usage:
-  S.get_server_info() -> server_info
-  """
--        server_info=self.pipe.NetSrvGetInfo(self.server_unc, 102)
--        return server_info
--
-+        server_info = self.pipe.NetSrvGetInfo(self.server_unc, 102)
-+        return server_info
-     def delete_share(self, name=''):
-         """ Delete a share with the given name.
-   Usage:
--  S.delete_share (self,name= "") -> Boolean indicating success or faliure ,[error object]
-+  S.delete_share (self,name=  "") -> Boolean indicating success or faliure ,[error object]
-   """
-         name = unicode(name)
-         self.pipe.NetShareDel(self.server_unc, name, 0)
--
--
-     # NOT supported yet
-     def remove_persistance(self, name=''):
-         """ Removes persistance of a share .
-@@ -401,12 +360,10 @@ class srvsvcPipeManager(object):
-   ........
-   """
--        reserved = None  # to figure out what type python accepts maybee int or str
-+        reserved = None
-         name = unicode(name)
-         self.pipe.NetShareDelSticky(self.server_unc, name, reserved)
--
--
-     def get_share_type(self, name=''):
-         """ Returns type of share code
-   uses local cache for now as the rpc server in samba4 does not support it yet
-@@ -420,11 +377,9 @@ class srvsvcPipeManager(object):
-             if name is i:
-                 stype = share_types_list[i.index()]
-             else:
--                raise KeyError("Share Does no exist")
-+                raise KeyError('Share Does no exist')
-         return stype
--
--
-     def get_file_security(
-         self,
-         secdesc,
-@@ -435,7 +390,7 @@ class srvsvcPipeManager(object):
-   Filepath must be full path relative to basepath of share's path.
-   Usage:
--  s.get_file_security(self,secdesc,sharename="",filepath= "")-> sd_buf
-+  s.get_file_security(self,secdesc,sharename= " ",filepath=  "")-> sd_buf
-   """
-         filename = unicode(filename)
-@@ -443,8 +398,6 @@ class srvsvcPipeManager(object):
-                 filename, secdesc)
-         return sd_buf
--
--
-     def get_tod(self):
-         """ Updates Time and date (TOD) Info of the pipe object.
-   ........
-@@ -455,8 +408,6 @@ class srvsvcPipeManager(object):
-         tod_info = self.pipe.NetRemoteTOD(self.server_unc)
-         return tod_info
--
--
-     def set_file_security(
-         self,
-         secdesc,
-@@ -468,17 +419,15 @@ class srvsvcPipeManager(object):
-   Filepath must be full path relative to basepath of share's path.
-   Usage:
--  S.set_file_security (self,secdesc,sd_buf,sharename= "",filepath= "s") -> Boolean succes,[error]
-+  S.set_file_security (self,secdesc,sd_buf,sharename= "",filepath= "") -> Boolean succes,[error]
-   """
-         sharename = unicode(sharename)
-         self.pipe.NetSetFileSecurity(self.server_unc, share, filename,
-                 secdesc, sd_buf)
--
--
-     @staticmethod
--    def get_platform_info(platform_id,field):
-+    def get_platform_info(platform_id, field):
-         """ Return the desired field.
-         Retrievable types :
-         'typestring' : The generic name of the platform type
-@@ -489,47 +438,49 @@ class srvsvcPipeManager(object):
-   """
-         os_dict = {
--            srvsvc.PLATFORM_ID_DOS: {'typestring':'PLATFORM_ID_DOS','desc':'DOS'},
--            srvsvc.PLATFORM_ID_OS2: {'typestring':'PLATFORM_ID_OS2','desc':'OS2'},
--            srvsvc.PLATFORM_ID_NT: {'typestring':'PLATFORM_ID_NT','desc':'Windows NT or newer'},
--            srvsvc.PLATFORM_ID_OSF: {'typestring':'PLATFORM_ID_OSF','desc':'OSF/1'},
--            srvsvc.PLATFORM_ID_VMS: {'typestring':'PLATFORM_ID_VMS','desc':'VMS'},
-+            srvsvc.PLATFORM_ID_DOS: {'typestring': 'PLATFORM_ID_DOS',
-+                    'desc': 'DOS'},
-+            srvsvc.PLATFORM_ID_OS2: {'typestring': 'PLATFORM_ID_OS2',
-+                    'desc': 'OS2'},
-+            srvsvc.PLATFORM_ID_NT: {'typestring': 'PLATFORM_ID_NT',
-+                                    'desc': 'Windows NT or newer'},
-+            srvsvc.PLATFORM_ID_OSF: {'typestring': 'PLATFORM_ID_OSF',
-+                    'desc': 'OSF/1'},
-+            srvsvc.PLATFORM_ID_VMS: {'typestring': 'PLATFORM_ID_VMS',
-+                    'desc': 'VMS'},
-             }
-         return os_dict.get(platform_id).get(field)
--
--    def get_share_object (
-+    def get_share_object(
-         self,
--        name= "",
--        stype= 0,
--        comment= '',
-+        name='',
-+        stype=0,
-+        comment='',
-         max_users=0xFFFFFFFF,
--        password= '',
--        path= '',
--        #permissions= None, it's a reserved section , pointless passing a value.
--        sd_buf= None
-+        password='',
-+        path='',
-+        #permissions= None, it's a reserved section (MS-SRVS)
-         ):
-         """ Gets a 502 type share object.
-   Usage:
-   S.get_share_object(self,name= "",comment= "",max_users= 0xFFFFFFFF,password= "",path= "",permissions= None,sd_buf=None) -> share (502 type share object)
-   """
-+
-         share = srvsvc.NetShareInfo502()
-         share.comment = unicode(comment)
-         share.name = unicode(name)
-         share.type = stype
-         share.current_users = 0x00000000
--        share.max_users= max_users
-+        share.max_users = max_users
-         share.password = password
-         share.path = path
-         share.permissions = 0
--        share.sd_buf =  security.sec_desc_buf()
-+        share.sd_buf = security.sec_desc_buf()
-         return share
--
--
--    def  name_validate(self,name):
-+    def name_validate(self, name):
-         """ Validate a Given Share Name .
-         Returns True for a given share name and false for a invalid one .
-         It does so gracefully without raising a exception. Thus validating  name cleanly
-@@ -537,15 +488,14 @@ class srvsvcPipeManager(object):
-   Usage :
-   S.name_validate(name) -> Boolean Indicating Validity
-   """
-+
-         try:
--            self.pipe.NetNameValidate(self.server_unc, name, 9, 0)
-+            self.pipe.NetNameValidate(self.server_unc, name, 9,
-+                    0)
-             return True
-         except:
-             return False
--
--
--
-     def get_list_disks(self):
-         """ Returns a list of disk names on the system.
-   In samaba rpc server these are hard coded .
-@@ -560,19 +510,25 @@ class srvsvcPipeManager(object):
-         (disk_info, totalentries, self.resume_handle) = \
-             self.pipe.NetDiskEnum(self.server_unc, 0x00000000,
-                                   disk_info, 26, self.resume_handle)
--        if totalentries != 0 :
-+        if totalentries != 0:
-             for i in disk_info.disks:
--                if i.disk != '':  # disk lists returns a blank entry not of consequence to the program
-+                if i.disk != '':
-                     self.disks_list.append(i.disk)
--
--
- class ShareWindow(gtk.Window):
-+
-     """ Share management interface window """
--    def __init__ (self, info_callback=None, server="", username="", password="",
--            transport_type=0,connect_now=False):
-+    def __init__(
-+        self,
-+        info_callback=None,
-+        server='',
-+        username='',
-+        password='',
-+        transport_type=0,
-+        connect_now=False,
-+        ):
-         super(ShareWindow, self).__init__()
-         # It's nice to have this info saved when a user wants to reconnect
-@@ -584,20 +540,25 @@ class ShareWindow(gtk.Window):
-         self.server_info = None
-         self.create()
--        self.set_status("Disconnected.")
--        self.on_connect_item_activate(None, server, transport_type, username, password, connect_now)
-+        self.set_status('Disconnected.')
-+        self.on_connect_item_activate(
-+            None,
-+            server,
-+            transport_type,
-+            username,
-+            password,
-+            connect_now,
-+            )
-         self.show_all()
-         self.fill_active_pane()
-         self.fill_server_info()
--         # for easier further use
--
--
-         # This is used so the parent program can grab the server info after
-         # we've connected.
-         if info_callback is not None:
--            info_callback(server=self.server_address, username=self.username,
--                    transport_type=self.transport_type)
-+            info_callback(server=self.server_address,
-+                          username=self.username,
-+                          transport_type=self.transport_type)
-     def connected(self):
-         return self.pipe_manager is not None
-@@ -606,23 +567,32 @@ class ShareWindow(gtk.Window):
-         self.statusbar.pop(0)
-         self.statusbar.push(0, message)
--
--
--    def run_message_dialog(self, type, buttons, message, parent=None):
-+    def run_message_dialog(
-+        self,
-+        type,
-+        buttons,
-+        message,
-+        parent=None,
-+        ):
-         if parent is None:
-             parent = self
-         message_box = gtk.MessageDialog(parent, gtk.DIALOG_MODAL, type,
--            buttons, message)
-+                buttons, message)
-         response = message_box.run()
-         message_box.hide()
-         return response
--
--
--    def on_connect_item_activate(self, widget, server="", transport_type=0,
--            username="", password="", connect_now=False):
-+    def on_connect_item_activate(
-+        self,
-+        widget,
-+        server='',
-+        transport_type=0,
-+        username='',
-+        password='',
-+        connect_now=False,
-+        ):
-         transport_type = transport_type or self.transport_type
-         if transport_type is 2:
-             server = '127.0.0.1'
-@@ -631,44 +601,57 @@ class ShareWindow(gtk.Window):
-         username = username or self.username
-         try:
--            self.pipe_manager = self.run_connect_dialog(None, server,
--                transport_type, username, password, connect_now)
-+            self.pipe_manager = self.run_connect_dialog(
-+                None,
-+                server,
-+                transport_type,
-+                username,
-+                password,
-+                connect_now,
-+                )
-             if self.pipe_manager is not None:
-                 self.pipe_manager.get_shares_list()
-                 self.server_info = self.pipe_manager.server_info
--                self.set_status("Connected to Server: IP=%s NETBios Name=%s." % (
--                    self.server_address,self.pipe_manager.server_info.server_name))
--
-+                self.set_status(
-+                          'Connected to Server: IP=%s NETBios Name=%s.'
-+                           % (self.server_address,
-+                            self.pipe_manager.server_info.server_name))
-         except RuntimeError, re:
--            msg = "Failed to connect: %s." % (re.args[1])
-+
-+            msg = 'Failed to connect: %s.' % re.args[1]
-             self.set_status(msg)
-             print msg
-             traceback.print_exc()
--            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, msg)
--
-+            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK,
-+                                    msg)
-         except Exception, ex:
--            msg = "Failed to connect: %s." % (str(ex))
-+
-+            msg = 'Failed to connect: %s.' % str(ex)
-             self.set_status(msg)
-             print msg
-             traceback.print_exc()
--            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, msg)
--
-+            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK,
-+                                    msg)
-         self.refresh_shares_view()
-         self.update_sensitivity()
-         self.fill_server_info()
-+    def run_connect_dialog(
-+        self,
-+        pipe_manager,
-+        server_address,
-+        transport_type,
-+        username,
-+        password='',
-+        connect_now=False,
-+        ):
--
--    def run_connect_dialog(self, pipe_manager, server_address, transport_type,
--            username, password="", connect_now=False):
--
--
--        dialog = srvsvcConnectDialog(server_address, transport_type, username, password)
-+        dialog = srvsvcConnectDialog(server_address, transport_type,
-+                username, password)
-         dialog.show_all()
--
-         while True:
-             if connect_now:
-                 connect_now = False
-@@ -689,39 +672,60 @@ class ShareWindow(gtk.Window):
-                     self.username = username
-                     password = dialog.get_password()
--                    pipe_manager = srvsvcPipeManager(server_address, transport_type, username, password)
-+                    pipe_manager = srvsvcPipeManager(server_address,
-+                            transport_type, username, password)
-                     break
--
--
-                 except RuntimeError, re:
--                    if re.args[1] == 'Logon failure': #user got the password wrong
--                        self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, "Failed to connect: Invalid username or password.", dialog)
-+
-+                    if re.args[1] == 'Logon failure':  # user got the password wrong
-+                        self.run_message_dialog(gtk.MESSAGE_ERROR,
-+                                gtk.BUTTONS_OK,
-+                                'Failed to connect: Invalid username or password.'
-+                                , dialog)
-                         dialog.password_entry.grab_focus()
--                        dialog.password_entry.select_region(0, -1) #select all the text in the password box
--                    elif re.args[0] == 5 or re.args[1] == 'Access denied':
--                        self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, "Failed to connect: Access Denied.", dialog)
-+                        dialog.password_entry.select_region(0,
-+                                -1)  # select all the text in the password box
-+                    elif re.args[0] == 5 or re.args[1]\
-+                         == 'Access denied':
-+                        self.run_message_dialog(gtk.MESSAGE_ERROR,
-+                                gtk.BUTTONS_OK,
-+                                'Failed to connect: Access Denied.',
-+                                dialog)
-                         dialog.username_entry.grab_focus()
--                        dialog.username_entry.select_region(0, -1)
--                    elif re.args[1] == 'NT_STATUS_HOST_UNREACHABLE':
--                        self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, "Failed to connect: Could not contact the server", dialog)
-+                        dialog.username_entry.select_region(0,
-+                                -1)
-+                    elif re.args[1]\
-+                         == 'NT_STATUS_HOST_UNREACHABLE':
-+                        self.run_message_dialog(gtk.MESSAGE_ERROR,
-+                                gtk.BUTTONS_OK,
-+                                'Failed to connect: Could not contact the server'
-+                                , dialog)
-                         dialog.server_address_entry.grab_focus()
--                        dialog.server_address_entry.select_region(0, -1)
--                    elif re.args[1] == 'NT_STATUS_NETWORK_UNREACHABLE':
--                        self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, "Failed to connect: The network is unreachable.\n\nPlease check your network connection.", dialog)
-+                        dialog.server_address_entry.select_region(0,
-+                                -1)
-+                    elif re.args[1]\
-+                         == 'NT_STATUS_NETWORK_UNREACHABLE':
-+                        self.run_message_dialog(gtk.MESSAGE_ERROR,
-+                                gtk.BUTTONS_OK,
-+                                '''Failed to connect: The network is unreachable.
-+
-+Please check your network connection.''',
-+                                dialog)
-                     else:
--                        msg = "Failed to connect: %s." % (re.args[1])
-+                        msg = 'Failed to connect: %s.'\
-+                             % re.args[1]
-                         print msg
-                         traceback.print_exc()
--                        self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, msg, dialog)
--
-+                        self.run_message_dialog(gtk.MESSAGE_ERROR,
-+                                gtk.BUTTONS_OK, msg, dialog)
-                 except Exception, ex:
--                    msg = "Failed to connect: %s." % (str(ex))
-+
-+                    msg = 'Failed to connect: %s.' % str(ex)
-                     print msg
-                     traceback.print_exc()
--                    self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, msg, dialog)
--
-+                    self.run_message_dialog(gtk.MESSAGE_ERROR,
-+                            gtk.BUTTONS_OK, msg, dialog)
--        #return RESPONSE_OK if we were told to auto-connect. Otherwise run the dialog
-         response_id = gtk.RESPONSE_OK or dialog.run()
-         dialog.hide()
-@@ -730,141 +734,169 @@ class ShareWindow(gtk.Window):
-         return pipe_manager
--
--    def on_switch_fill_active_pane(self,widget):
-+    def on_switch_fill_active_pane(self, widget):
-         """ Function doc """
-+
-         self.fill_active_pane()
-     def on_update_sensitivity(self, widget):
-         self.update_sensitivity()
--
--    def fill_server_info (self):
-+    def fill_server_info(self):
-         """ Gracious fill out server info """
--        for widget in self.sd_frame.get_children() :
-+
-+        for widget in self.sd_frame.get_children():
-             if type(widget) is gtk.Table:
-                 self.sd_frame.remove(widget)
-         if self.server_info is None:
-             self.srv_info_label.set_markup('<b>Server Disconnected</b>')
--
--            my_lables = self.srvinfo_frame.get_children()[0].get_children()
--            for label in my_lables :
-+            my_lables = \
-+                self.srvinfo_frame.get_children()[0].get_children()
-+            for label in my_lables:
-                 label.set_sensitive(False)
--            #handle the disk data
--            table = gtk.Table(2,2,True)
-+            table = gtk.Table(2, 2, True)
-             table.set_border_width(5)
-             table.set_row_spacings(4)
-             label = gtk.Label('Not connected to share server.')
-             label.set_alignment(1, 0.5)
--            table.attach(label, 0, 1, 1, 2, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--
-+            table.attach(label, 0, 1, 1, 2, gtk.FILL,
-+                            gtk.FILL | gtk.EXPAND, 0, 0)
-         else:
--            self.srv_info_label.set_markup('<b>Share Server Details</b>')
--            my_lables = self.srvinfo_frame.get_children()[0].get_children()
--            for label in my_lables :
-+            self.srv_info_label.set_markup('<b>Share Server Details</b>'
-+                    )
-+
-+            my_lables = \
-+                self.srvinfo_frame.get_children()[0].get_children()
-+            for label in my_lables:
-                 label.set_sensitive(True)
--            label_data = self.pipe_manager.get_platform_info(
--                                        self.server_info.platform_id,'desc')
-+            label_data = \
-+                self.pipe_manager.get_platform_info(
-+                                   self.server_info.platform_id, 'desc')
-             self.srvinfo_tos_label.set_text(label_data)
--            srv_type_genstr = self.pipe_manager.get_platform_info(
--                                        self.server_info.platform_id,'typestring')
--            self.srvinfo_name_label.set_text('\\'+self.server_info.server_name)
--            self.srvinfo_hidden_label.set_text(str(bool(self.server_info.hidden)))
-+            srv_type_genstr = \
-+                self.pipe_manager.get_platform_info(
-+                            self.server_info.platform_id, 'typestring')
-+            self.srvinfo_name_label.set_text('\\'
-+                     + self.server_info.server_name)
-+            self.srvinfo_hidden_label.set_text(
-+                                     str(bool(self.server_info.hidden)))
-             self.srvinfo_comment_label.set_text(self.server_info.comment)
--            label_data = '.'.join([str(self.server_info.version_major),str(self.server_info.version_minor)])
-+            label_data = '.'.join([str(self.server_info.version_major),
-+                                  str(self.server_info.version_minor)])
-             self.srvinfo_version_label.set_text(label_data)
-             server_typedict = {
--                    0x00000001:('SV_TYPE_WORKSTATION','Workstation Service'),
--                    0x00000002:('SV_TYPE_SERVER','Server Service'),
--                    0x00000004:('SV_TYPE_SQLSERVER','SQL Server'),
--                    0x00000008:('SV_TYPE_DOMAIN_CTRL','Primary Domain Controller'),
--                    0x00000010:('SV_TYPE_DOMAIN_BAKCTRL','Backup Domain Controller'),
--                    0x00000020:('SV_TYPE_TIME_SOURCE','Time Source'),
--                    0x00000040:('SV_TYPE_AFP','Apple File Protocol Server'),
--                    0x00000080:('SV_TYPE_NOVELL','Novel Server'),
--                    0x00000100:('SV_TYPE_DOMAIN_MEMBER','LAN Manager 2.x Domain Member'),
--                    0x40000000:('SV_TYPE_LOCAL_LIST_ONLY','Server Maintained By the Browser'),
--                    0x00000200:('SV_TYPE_PRINTQ_SERVER','Print Queue Server'),
--                    0x00000400:('SV_TYPE_DIALIN_SERVER','Dial-In Server'),
--                    0x00000800:('SV_TYPE_XENIX_SERVER','Xenix Server'),
--                    0x00004000:('SV_TYPE_SERVER_MFPN','Microsoft File and Print for NetWare'),
--                    0x00001000:('SV_TYPE_NT','Windows NT/XP/2003 or Newer'),
--                    0x00002000:('SV_TYPE_WFW','Windows for Workgroups'),
--                    0x00008000:('SV_TYPE_SERVER_NT','Non DC Windows Server 2000/2003 or Newer'),
--                    0x00010000:('SV_TYPE_POTENTIAL_BROWSER','Potential Browser Service '),
--                    0x00020000:('SV_TYPE_BACKUP_BROWSER','Browser Service As Backup'),
--                    0x00040000:('SV_TYPE_MASTER_BROWSER','Master Browser Service'),
--                    0x00080000:('SV_TYPE_DOMAIN_MASTER','Domain Master Browser'),
--                    0x80000000:('SV_TYPE_DOMAIN_ENUM','Primary Domain'),
--                    0x00400000:('SV_TYPE_WINDOWS','Windows ME/98/95'),
--                    0xFFFFFFFF:('SV_TYPE_ALL','All Servers'),
--                    0x02000000:('SV_TYPE_TERMINALSERVER','Terminal Server'),
--                    0x10000000:('SV_TYPE_CLUSTER_NT','Server Cluster'),
--                    0x04000000:('SV_TYPE_CLUSTER_VS_NT','Virtual Server Cluster')
--                    }
--
--            label_data = server_typedict.get(self.server_info.server_type,('','Multiple Capablities'))[1]
-+                1: ('SV_TYPE_WORKSTATION',
-+                             'Workstation Service'),
-+                2: ('SV_TYPE_SERVER', 'Server Service'),
-+                4: ('SV_TYPE_SQLSERVER', 'SQL Server'),
-+                8: ('SV_TYPE_DOMAIN_CTRL',
-+                             'Primary Domain Controller'),
-+                0x00000010: ('SV_TYPE_DOMAIN_BAKCTRL',
-+                             'Backup Domain Controller'),
-+                0x00000020: ('SV_TYPE_TIME_SOURCE', 'Time Source'),
-+                0x00000040: ('SV_TYPE_AFP', 'Apple File Protocol Server'
-+                             ),
-+                0x00000080: ('SV_TYPE_NOVELL', 'Novel Server'),
-+                0x00000100: ('SV_TYPE_DOMAIN_MEMBER',
-+                             'LAN Manager 2.x Domain Member'),
-+                0x40000000: ('SV_TYPE_LOCAL_LIST_ONLY',
-+                             'Server Maintained By the Browser'),
-+                0x00000200: ('SV_TYPE_PRINTQ_SERVER',
-+                             'Print Queue Server'),
-+                0x00000400: ('SV_TYPE_DIALIN_SERVER', 'Dial-In Server'
-+                             ),
-+                0x00000800: ('SV_TYPE_XENIX_SERVER', 'Xenix Server'),
-+                0x00004000: ('SV_TYPE_SERVER_MFPN',
-+                             'Microsoft File and Print for NetWare'),
-+                0x00001000: ('SV_TYPE_NT', 'Windows NT/XP/2003 or Newer'
-+                             ),
-+                0x00002000: ('SV_TYPE_WFW', 'Windows for Workgroups'),
-+                0x00008000: ('SV_TYPE_SERVER_NT',
-+                             'Non DC Windows Server 2000/2003 or Newer'
-+                             ),
-+                0x00010000: ('SV_TYPE_POTENTIAL_BROWSER',
-+                             'Potential Browser Service '),
-+                0x00020000: ('SV_TYPE_BACKUP_BROWSER',
-+                             'Browser Service As Backup'),
-+                0x00040000: ('SV_TYPE_MASTER_BROWSER',
-+                             'Master Browser Service'),
-+                0x00080000: ('SV_TYPE_DOMAIN_MASTER',
-+                             'Domain Master Browser'),
-+                0x80000000: ('SV_TYPE_DOMAIN_ENUM', 'Primary Domain'),
-+                0x00400000: ('SV_TYPE_WINDOWS', 'Windows ME/98/95'),
-+                0xFFFFFFFF: ('SV_TYPE_ALL', 'All Servers'),
-+                0x02000000: ('SV_TYPE_TERMINALSERVER', 'Terminal Server'
-+                             ),
-+                0x10000000: ('SV_TYPE_CLUSTER_NT', 'Server Cluster'),
-+                0x04000000: ('SV_TYPE_CLUSTER_VS_NT',
-+                             'Virtual Server Cluster'),
-+                }
-+
-+            label_data = \
-+                server_typedict.get(self.server_info.server_type, ('',
-+                                    'Multiple Capablities'))[1]
-             self.srvinfo_type_label.set_text(label_data)
--            self.srvinfo_upath_label.set_text(self.server_info.userpath.upper())
-+            self.srvinfo_upath_label.set_text(
-+                                    self.server_info.userpath.upper())
-             self.srvinfo_to_label.set_text(str(self.server_info.disc))
-             label_data = '/'.join([str(self.server_info.announce),
--                                        str(self.server_info.anndelta)])
-+                                  str(self.server_info.anndelta)])
-             self.srvinfo_aa_label.set_text(label_data)
--            #handle server data windo
--            num_disks =  len (self.pipe_manager.disks_list)
--            table = gtk.Table(num_disks+2,2,True)
-+            num_disks = len(self.pipe_manager.disks_list)
-+            table = gtk.Table(num_disks + 2, 2, True)
-             table.set_border_width(5)
-             table.set_row_spacings(4)
-             label = gtk.Label('<b> Disks </b>')
-             label.set_use_markup(True)
-             label.set_alignment(1, 0.5)
--            table.attach(label, 0, 1, 1, 2, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--            for i in self.pipe_manager.disks_list :
-+            table.attach(label, 0, 1, 1, 2, gtk.FILL,
-+                            gtk.FILL | gtk.EXPAND, 0, 0)
-+
-+            for i in self.pipe_manager.disks_list:
-                 label = gtk.Label(i)
-                 label.set_alignment(1, 0.5)
--                attach_index =  self.pipe_manager.disks_list.index(i) + 2
--                #Note : attcah ofsets for uniformity of gui , no other practical reason
--                table.attach(label, 0, 1, attach_index, attach_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+                attach_index = self.pipe_manager.disks_list.index(i)+2
-+
-+                table.attach(label, 0, 1, attach_index,
-+                                attach_index + 1, gtk.FILL,
-+                                gtk.FILL | gtk.EXPAND, 0, 0)
-         self.sd_frame.add(table)
-         self.sd_frame.show_all()
--
--
--
--
-     def get_selected_share(self):
-         if not self.connected():
-             return None
--        (model, iter) = self.shares_tree_view.get_selection().get_selected()
--        if iter is None: # no selection
-+        (model, iter) = \
-+            self.shares_tree_view.get_selection().get_selected()
-+        if iter is None:  # no selection
-             return None
-         else:
-             share_name = model.get_value(iter, 0)
--            share_list = [share for share in self.pipe_manager.share_list if share.name == share_name]
-+            share_list = [share for share in
-+                          self.pipe_manager.share_list if share.name
-+                           == share_name]
-             if len(share_list) > 0:
-                 return share_list[0]
-             else:
-                 return None
--
-     def on_about_item_activate(self, widget):
--        dialog = AboutDialog("PyGWShare",
--            "A tool to manage user shares on a SRVS Share server.\n"
--            "Based on Jelmer Vernooij's original Samba-GTK",
--            self.icon_pixbuf)
--        #dialog.set_copyright("Copyright \xc2\xa9 2011 Dhananjay Sathe <dhananjaysathe@gmail.com>")
-+        dialog = AboutDialog('PyGWShare',
-+                             "A tool to manage user shares on a SRVS Share server.\nBased on Jelmer Vernooij's original Samba-GTK"
-+                             , self.icon_pixbuf)
-+        dialog.set_copyright('Copyright \xc2\xa9 2011 Dhananjay Sathe <dhananjaysathe@gmail.com>'
-+                             )
-         dialog.run()
-         dialog.hide()
--
-     def run_delete_dialog(self, share=None):
-         dialog = DeleteDialog(self.pipe_manager, share)
-         dialog.show_all()
-@@ -872,17 +904,19 @@ class ShareWindow(gtk.Window):
-         dialog.hide()
-         return response_id
-+    def run_share_add_edit_dialog(
-+        self,
-+        share=None,
-+        apply_callback=None,
-+        wizard_mode=False,
-+        ):
--
--    def run_share_add_edit_dialog(self, share= None, apply_callback= None,wizard_mode=False):
--
--        if wizard_mode:
--            dialog = ShareWizardDialog(self.pipe_manager, None) # wizard only for a new share
-+        if wizard_mode: # wizard only for a new share
-+            dialog = ShareWizardDialog(self.pipe_manager, None)
-         else:
-             dialog = ShareAddEditDialog(self.pipe_manager, share)
-         dialog.show_all()
--        # loop to handle the applies
-         while True:
-             response_id = dialog.run()
-@@ -890,7 +924,8 @@ class ShareWindow(gtk.Window):
-                 problem_msg = dialog.validate_fields()
-                 if problem_msg is not None:
--                    self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, problem_msg, dialog)
-+                    self.run_message_dialog(gtk.MESSAGE_ERROR,
-+                            gtk.BUTTONS_OK, problem_msg, dialog)
-                 else:
-                     dialog.fields_to_share()
-@@ -902,8 +937,8 @@ class ShareWindow(gtk.Window):
-                     if response_id == gtk.RESPONSE_OK:
-                         dialog.hide()
-                         break
--
-             else:
-+
-                 dialog.hide()
-                 return None
-@@ -911,9 +946,10 @@ class ShareWindow(gtk.Window):
-     def update_sensitivity(self):
--        connected = (self.pipe_manager is not None)
-+        connected = self.pipe_manager is not None
-         share_page_active = not self.active_page_index
--        selected = (self.get_selected_share() is not None) and share_page_active
-+        selected = self.get_selected_share() is not None\
-+             and share_page_active
-         self.connect_item.set_sensitive(not connected)
-         self.disconnect_item.set_sensitive(connected)
-@@ -922,7 +958,8 @@ class ShareWindow(gtk.Window):
-         self.new_item.set_sensitive(connected and share_page_active)
-         self.delete_item.set_sensitive(connected and selected)
-         self.edit_item.set_sensitive(connected and selected)
--        self.new_share_wizard_item.set_sensitive(connected and share_page_active)
-+        self.new_share_wizard_item.set_sensitive(connected
-+                 and share_page_active)
-         self.connect_button.set_sensitive(not connected)
-         self.disconnect_button.set_sensitive(connected)
-@@ -930,12 +967,15 @@ class ShareWindow(gtk.Window):
-         self.new_button.set_sensitive(connected and share_page_active)
-         self.delete_button.set_sensitive(connected and selected)
-         self.edit_button.set_sensitive(connected and selected)
--        self.new_share_wizard_button.set_sensitive(connected and share_page_active)
--
--        self.active_frame_new_button.set_sensitive(connected and share_page_active)
--        self.active_frame_delete_button.set_sensitive(connected and selected)
--        self.active_frame_edit_button.set_sensitive(connected and selected)
-+        self.new_share_wizard_button.set_sensitive(connected
-+                 and share_page_active)
-+        self.active_frame_new_button.set_sensitive(connected
-+                 and share_page_active)
-+        self.active_frame_delete_button.set_sensitive(connected
-+                 and selected)
-+        self.active_frame_edit_button.set_sensitive(connected
-+                 and selected)
-     def on_disconnect_item_activate(self, widget):
-         if self.pipe_manager is not None:
-@@ -948,21 +988,19 @@ class ShareWindow(gtk.Window):
-         self.fill_active_pane()
-         self.fill_server_info()
--        self.set_status("Disconnected.")
--
-+        self.set_status('Disconnected.')
--
--    def toggle_share_view_visiblity(self,widget,Junk):
-+    def toggle_share_view_visiblity(self, widget, Junk):
-         """ Toggels Visiblity of hidden shares if authorised """
-+
-         is_visible = self.show_all_share_checkbox.get_active()
-         self.pipe_manager.show_all_shares = is_visible
-         self.pipe_manager.get_shares_list()
--        # set the box accordingly from get_shares list
--        self.show_all_share_checkbox.set_active(self.pipe_manager.show_all_shares)
--        # now refresh the share view
--        self.refresh_shares_view()
-+        self.show_all_share_checkbox.set_active(
-+                                    self.pipe_manager.show_all_shares)
-+        self.refresh_shares_view()
-     def on_key_press(self, widget, event):
-         if event.keyval == gtk.keysyms.F5:
-@@ -970,77 +1008,72 @@ class ShareWindow(gtk.Window):
-         elif event.keyval == gtk.keysyms.Delete:
-             self.on_delete_item_activate(None)
-         elif event.keyval == gtk.keysyms.Return:
--            myev = gtk.gdk.Event(gtk.gdk._2BUTTON_PRESS) #emulate a double-click
-+            myev = gtk.gdk.Event(gtk.gdk._2BUTTON_PRESS)
-+            # emulates a double-click
-             if self.active_page_index == 0:
-                 self.on_shares_tree_view_button_press(None, myev)
--
--
-     def on_quit_item_activate(self, widget):
-         self.on_self_delete(None, None)
--
--
--    def on_new_item_activate(self, widget,wizard_mode=False):
-+    def on_new_item_activate(self, widget, wizard_mode=False):
-         share = self.run_share_add_edit_dialog(wizard_mode=wizard_mode)
--        #TODO cleanup Debug
--        #print share.name,share.comment,share.password,str(share.type),str(share.max_users),share.path
-+
-         if share is None:
--            self.set_status("Share creation canceled.")
-+            self.set_status('Share creation canceled.')
-             return
-         try:
-             self.pipe_manager.add_share(share)
--            self.set_status("Successfully added share \'%s\'." %
--                (share.name))
-+            self.set_status("Successfully added share \'%s\'."
-+                             % share.name)
-         except RuntimeError, re:
--            msg = "Failed to add share: %s." % (re.args[1])
-+            msg = 'Failed to add share: %s.' % re.args[1]
-             self.set_status(msg)
-             print msg
-             traceback.print_exc()
--            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, msg)
-+            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK,
-+                                    msg)
-         except Exception, ex:
--            msg = "Failed to ad share: %s." % (str(ex))
-+            msg = 'Failed to ad share: %s.' % str(ex)
-             self.set_status(msg)
-             print msg
-             traceback.print_exc()
--            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, msg)
-+            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK,
-+                                    msg)
-         self.refresh_shares_view()
--
--
--
--
-     def on_edit_item_activate(self, widget):
-         share = self.get_selected_share()
--        share = self.run_share_add_edit_dialog(share, self.update_share_callback)
-+        share = self.run_share_add_edit_dialog(share,
-+                self.update_share_callback)
-         if share is None:
--            self.set_status("Last Share Edit Cancelled.")
-+            self.set_status('Last Share Edit Cancelled.')
-             return
-         try:
-             self.pipe_manager.modify_share(share)
--            self.set_status("Successfully modified share \'%s\'." %
--                (share.name))
-+            self.set_status("Successfully modified share \'%s\'."
-+                             % share.name)
-         except RuntimeError, re:
--            msg = "Failed to add share: %s." % (re.args[1])
-+            msg = 'Failed to add share: %s.' % re.args[1]
-             self.set_status(msg)
-             print msg
-             traceback.print_exc()
--            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, msg)
-+            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK,
-+                                    msg)
-         except Exception, ex:
--            msg = "Failed to ad share: %s." % (str(ex))
-+            msg = 'Failed to ad share: %s.' % str(ex)
-             self.set_status(msg)
-             print msg
-             traceback.print_exc()
--            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, msg)
-+            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK,
-+                                    msg)
-         self.refresh_shares_view()
--
--
-     def on_delete_item_activate(self, widget):
-         share = self.get_selected_share()
-@@ -1049,78 +1082,87 @@ class ShareWindow(gtk.Window):
-             try:
-                 self.pipe_manager.delete_share(share.name)
--                self.set_status("Successfully deleted share \'%s\'." % (share.name))
--
-+                self.set_status("Successfully deleted share \'%s\'."
-+                                 % share.name)
-             except RuntimeError, re:
--                msg = "Failed to delete share: %s." % (re.args[1])
-+
-+                msg = 'Failed to delete share: %s.'\
-+                     % re.args[1]
-                 self.set_status(msg)
-                 print msg
-                 traceback.print_exc()
--                self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, msg)
-+                self.run_message_dialog(gtk.MESSAGE_ERROR,
-+                        gtk.BUTTONS_OK, msg)
-             except Exception, ex:
--                msg = "Failed to delete share: %s." % (str(ex))
-+                msg = 'Failed to delete share: %s.' % str(ex)
-                 self.set_status(msg)
-                 print msg
-                 traceback.print_exc()
--                self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, msg)
-+                self.run_message_dialog(gtk.MESSAGE_ERROR,
-+                        gtk.BUTTONS_OK, msg)
-             self.refresh_shares_view()
--
--
--    def on_notebook_switch_page(self, widget, page, page_num):
-+    def on_notebook_switch_page(
-+        self,
-+        widget,
-+        page,
-+        page_num,
-+        ):
-         self.active_page_index = page_num
-         self.update_sensitivity()
-     def update_share_callback(self, share):
-         try:
-             self.pipe_manager.modify_share(share)
--            self.set_status("Share \'%s\' Modified." % (share.name))
-+            self.set_status("Share \'%s\' Modified." % share.name)
-         except RuntimeError, re:
--            msg = "Failed to Modify Share: %s." % (re.args[1])
-+            msg = 'Failed to Modify Share: %s.' % re.args[1]
-             print msg
-             self.set_status(msg)
-             traceback.print_exc()
--            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, msg)
--
-+            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK,
-+                                    msg)
-         except Exception, ex:
--            msg = "Failed to Modify Share: %s." % (str(ex))
-+
-+            msg = 'Failed to Modify Share: %s.' % str(ex)
-             print msg
-             self.set_status(msg)
-             traceback.print_exc()
--            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, msg)
-+            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK,
-+                                    msg)
-         finally:
-             self.refresh_shares_view()
--
-     def on_refresh_item_activate(self, widget):
-         try:
-             self.pipe_manager.get_shares_list()
-         except RuntimeError, re:
--            msg = "Failed to Refresh SRV Info: %s." % (re.args[1])
-+            msg = 'Failed to Refresh SRV Info: %s.'\
-+                 % re.args[1]
-             self.set_status(msg)
-             print msg
-             traceback.print_exc()
--            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, msg)
-+            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK,
-+                                    msg)
-         except Exception, ex:
--            msg = "Failed to Refresh SRV Info: %s." % (str(ex))
-+            msg = 'Failed to Refresh SRV Info: %s.' % str(ex)
-             self.set_status(msg)
-             print msg
-             traceback.print_exc()
--            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, msg)
-+            self.run_message_dialog(gtk.MESSAGE_ERROR, gtk.BUTTONS_OK,
-+                                    msg)
-         self.refresh_shares_view()
--        self.set_status("Successfully Refreshed Shares List.")
-+        self.set_status('Successfully Refreshed Shares List.')
--        #deselect any selected shares
--        (model, iter) = self.shares_tree_view.get_selection().get_selected()
-+        (model, iter) = \
-+            self.shares_tree_view.get_selection().get_selected()
-         if iter is None:
-             return
-         selector = self.shares_tree_view.get_selection()
-         selector.unselect_iter(iter)
--
--
-     def on_shares_tree_view_button_press(self, widget, event):
-         if self.get_selected_share() is None:
-             return
-@@ -1128,36 +1170,33 @@ class ShareWindow(gtk.Window):
-         if event.type == gtk.gdk._2BUTTON_PRESS:
-             self.on_edit_item_activate(self.edit_item)
--
--
-     def on_self_delete(self, widget, event):
--        if (self.pipe_manager is not None):
-+        if self.pipe_manager is not None:
-             self.on_disconnect_item_activate(self.disconnect_item)
-         gtk.main_quit()
-         return False
--
--
-     def refresh_shares_view(self):
-         if not self.connected():
-             return None
--        (model, paths) = self.shares_tree_view.get_selection().get_selected_rows()
-+        (model, paths) = \
-+            self.shares_tree_view.get_selection().get_selected_rows()
-         self.pipe_manager.get_shares_list()
-         self.shares_store.clear()
--        for share in self.pipe_manager.share_list :
--            type_comment = self.pipe_manager.get_share_type_info(share.type,'desc')
-+        for share in self.pipe_manager.share_list:
-+            type_comment = \
-+                self.pipe_manager.get_share_type_info(share.type, 'desc'
-+                    )
-             view_compat_data = [share.name, type_comment,
--                share.comment, share.path]
-+                                share.comment, share.path]
-             self.shares_store.append(view_compat_data)
--        if (len(paths) > 0):
-+        if len(paths) > 0:
-             self.shares_tree_view.get_selection().select_path(paths[0])
--
--
-     def fill_active_pane(self):
-         """ Fills sthe active left pane """
-@@ -1166,193 +1205,223 @@ class ShareWindow(gtk.Window):
-         except:
-             share = None
--        widget_to_delete = self.shareinfo_frame.get_children()[0]
-+        widget_to_delete = \
-+            self.shareinfo_frame.get_children()[0]
-         self.shareinfo_frame.remove(widget_to_delete)
-         if share is None:
--            table = gtk.Table(1,2)
-+            table = gtk.Table(1, 2)
-             table.set_border_width(5)
--            self.active_pane_frame_label.set_markup('<b> No Share Selected </b>')
--
-+            self.active_pane_frame_label.set_markup(
-+                                        '<b> No Share Selected </b>')
--            label = gtk.Label("Please Select a Share First")
-+            label = gtk.Label('Please Select a Share First')
-             label.set_alignment(1, 0.5)
--            table.attach(label, 0, 1, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+            table.attach(label, 0, 1, 0, 1, gtk.FILL,
-+                            gtk.FILL | gtk.EXPAND, 0, 0)
--            label = gtk.Label(" "*55 )
-+            label = gtk.Label(' ' * 55)
-             label.set_alignment(1, 0.5)
--            table.attach(label, 1, 2, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+            table.attach(label, 1, 2, 0, 1, gtk.FILL,
-+                            gtk.FILL | gtk.EXPAND, 0, 0)
-         else:
-+
-             stype = share.type
--            flag_set = self.pipe_manager.get_share_type_info(stype,'flags')
-+            flag_set = self.pipe_manager.get_share_type_info(stype,
-+                    'flags')
--            rows_required = (8 -int(share.password is "") -int(share.max_users == 0xFFFFFFFF)
--                            -int(not flag_set[1]) + ((len(share.path)/35)+1)
--                            +((len(share.comment)/35)+1))
-+            rows_required = ((8 - int(share.password is ''))
-+                              - int(share.max_users == 0xFFFFFFFF))\
-+                 - int(not flag_set[1]) + len(share.path) / 35\
-+                 + 1 + len(share.comment) / 35 + 1
--            table = gtk.Table(rows_required,2)
-+            table = gtk.Table(rows_required, 2)
-             table.set_border_width(5)
-             table.set_row_spacings(2)
-             table.set_col_spacings(6)
-             row_index = 0
--            self.active_pane_frame_label.set_markup('<b>Selected Share Details</b>')
--
-+            self.active_pane_frame_label.set_markup(
-+                                    '<b>Selected Share Details</b>')
-             label = gtk.Label(' Share Name  : ')
-             label.set_alignment(1, 0.5)
--            table.attach(label, 0, 1, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+            table.attach(label, 0, 1, row_index, row_index + 1,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+
-             label = gtk.Label(share.name)
-             label.set_alignment(0, 0.5)
--            table.attach(label, 1, 2, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--            row_index+=1
-+            table.attach(label, 1, 2, row_index, row_index + 1,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+            row_index += 1
-             label = gtk.Label(' Comment  : ')
-             label.set_alignment(1, 0.5)
--            table.attach(label, 0, 1, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+            table.attach(label, 0, 1, row_index, row_index + 1,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
--            if len(share.comment)>35:
--                for i in range((len(share.comment)/35)+1) :
--                    label = gtk.Label(share.comment[i*35:i*35+35])
-+            if len(share.comment) > 35:
-+                for i in range(len(share.comment) / 35 + 1):
-+                    label = gtk.Label(share.comment[i * 35:i * 35 + 35])
-                     label.set_alignment(0, 0.5)
--                    table.attach(label, 1, 2, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--                    row_index+=1
--            else :
--                padding = (35 - len(share.comment))*" "
--                label = gtk.Label("".join([share.comment,padding]))
-+                    table.attach(label, 1, 2, row_index, row_index + 1,
-+                                  gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+                    row_index += 1
-+            else:
-+                padding = (35 - len(share.comment)) * ' '
-+                label = gtk.Label(''.join([share.comment, padding]))
-                 label.set_alignment(0, 0.5)
--                table.attach(label, 1, 2, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--                row_index+=1
-+                table.attach(label, 1, 2, row_index, row_index + 1,
-+                                gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+                row_index += 1
-             label = gtk.Label(' Path  : ')
-             label.set_alignment(1, 0.5)
--            table.attach(label, 0, 1, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+            table.attach(label, 0, 1, row_index, row_index + 1,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
--            if len(share.path)>35:
--                for i in range((len(share.path)/35)+1) :
--                    label = gtk.Label(share.path[i*35:i*35+35])
-+            if len(share.path) > 35:
-+                for i in range(len(share.path) / 35 + 1):
-+                    label = gtk.Label(share.path[i * 35:i * 35 + 35])
-                     label.set_alignment(0, 0.5)
--                    table.attach(label, 1, 2, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--                    row_index+=1
--            else :
--                if share.path == "":
--                    padding = 41*" "
-+                    table.attach(label, 1, 2, row_index, row_index + 1,
-+                                 gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+                    row_index += 1
-+            else:
-+                if share.path == '':
-+                    padding = 41 * ' '
-                 else:
--                    padding = (35 - len(share.path))*" "
--                label = gtk.Label("".join([share.path,padding]))
-+                    padding = (35 - len(share.path)) * ' '
-+                label = gtk.Label(''.join([share.path, padding]))
-                 label.set_alignment(0, 0.5)
--                table.attach(label, 1, 2, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--                row_index+=1
-+                table.attach(label, 1, 2, row_index, row_index + 1,
-+                                gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+                row_index += 1
--
--
--            if share.password :
-+            if share.password:
-                 label = gtk.Label(' Password  : ')
-                 label.set_alignment(1, 0.5)
--                table.attach(label, 0, 1, row_index, row_index+1, gtk.SHRINK,gtk.FILL | gtk.EXPAND, 0, 0)
-+                table.attach(label, 0, 1, row_index, row_index + 1,
-+                                gtk.SHRINK, gtk.FILL | gtk.EXPAND, 0, 0)
--                label = gtk.Label("Protection Enabled")
-+                label = gtk.Label('Protection Enabled')
-                 label.set_alignment(0, 0.5)
--                table.attach(label, 1, 2, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--                row_index+=1
-+                table.attach(label, 1, 2, row_index, row_index + 1,
-+                                gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+                row_index += 1
-             label = gtk.Label('<b> Share Type</b>')
-             label.set_use_markup(True)
-             label.set_alignment(0, 0.5)
--            table.attach(label, 0, 1, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--            row_index+=1
-+            table.attach(label, 0, 1, row_index, row_index + 1,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+            row_index += 1
-             label = gtk.Label(' Type Description  : ')
-             label.set_alignment(1, 0.5)
--            table.attach(label, 0, 1, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--
--            label_data = self.pipe_manager.get_share_type_info(stype,'desc')
-+            table.attach(label, 0, 1, row_index, row_index + 1,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+            label_data = self.pipe_manager.get_share_type_info(
-+                                                    stype, 'desc')
-             label = gtk.Label(label_data)
-             label.set_alignment(0, 0.5)
--            table.attach(label, 1, 2, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--            row_index+=1
-+            table.attach(label, 1, 2, row_index, row_index + 1,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+            row_index += 1
-             label = gtk.Label()
-             label.set_markup('<b> Special Flags </b>')
-             label.set_alignment(0, 0.5)
--            table.attach(label, 0, 1, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--            row_index+=1
-+            table.attach(label, 0, 1, row_index, row_index + 1,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+            row_index += 1
-             flags_present = False
-             if flag_set[0]:
-                 flags_present = True
-                 label = gtk.Label(' Temporary  : ')
-                 label.set_alignment(1, 0.5)
--                table.attach(label, 0, 1, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+                table.attach(label, 0, 1, row_index, row_index + 1,
-+                                gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-                 label = gtk.Label(str(flag_set[0]))
-                 label.set_alignment(0, 0.5)
--                table.attach(label, 1, 2, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--                row_index+=1
-+                table.attach(label, 1, 2, row_index, row_index + 1,
-+                                gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+                row_index += 1
-             if flag_set[1]:
-                 flags_present = True
-                 label = gtk.Label(' Hidden  : ')
-                 label.set_alignment(1, 0.5)
--                table.attach(label, 0, 1, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+                table.attach(label, 0, 1, row_index, row_index + 1,
-+                                gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-                 label = gtk.Label(str(flag_set[1]))
-                 label.set_alignment(0, 0.5)
--                table.attach(label, 1, 2, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--                row_index+=1
-+                table.attach(label, 1, 2, row_index, row_index + 1,
-+                                gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+                row_index += 1
--            if not (flags_present) :
--                label = gtk.Label("No Special Flags")
-+            if not flags_present:
-+                label = gtk.Label('No Special Flags')
-                 label.set_alignment(0, 0.5)
--                table.attach(label, 1, 2, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--                row_index+=1
-+                table.attach(label, 1, 2, row_index, row_index + 1,
-+                                gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+                row_index += 1
--            if not (share.max_users == 0xFFFFFFFF):
-+            if not share.max_users == 0xFFFFFFFF:
-                 label = gtk.Label(' Max Users  : ')
-                 label.set_alignment(1, 0.5)
--                table.attach(label, 0, 1, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+                table.attach(label, 0, 1, row_index, row_index + 1,
-+                                 gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-                 label = gtk.Label(share.max_users)
-                 label.set_alignment(0, 0.5)
--                table.attach(label, 1, 2, row_index, row_index+1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--                row_index+=1
-+                table.attach(label, 1, 2, row_index, row_index + 1,
-+                                gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+                row_index += 1
-         self.shareinfo_frame.add(table)
-         self.shareinfo_frame.show_all()
--
--
-     def create(self):
--        # main window
--        self.set_title("Samba-Gtk Share Management Interface")
-+              
-+              # main window
-+        self.set_title('Samba-Gtk Share Management Interface')
-         self.set_default_size(800, 600)
--        self.icon_filename = os.path.join(sys.path[0], "images", "network.png")
--        self.share_icon_filename = os.path.join(sys.path[0], "images", "network.png")
--        self.icon_pixbuf = gtk.gdk.pixbuf_new_from_file(self.icon_filename)
-+        self.icon_filename = os.path.join(sys.path[0], 'images'
-+                , 'network.png')
-+        self.share_icon_filename = os.path.join(sys.path[0],
-+                'images', 'network.png')
-+        self.icon_pixbuf = \
-+            gtk.gdk.pixbuf_new_from_file(self.icon_filename)
-         self.set_icon(self.icon_pixbuf)
-         accel_group = gtk.AccelGroup()
--        vbox = gtk.VBox(False, 0)
--        self.add(vbox)
--
-+        toplevel_vbox = gtk.VBox(False, 0)
-+        self.add(toplevel_vbox)
-+        
-         # menu
-         self.menubar = gtk.MenuBar()
--        vbox.pack_start(self.menubar, False, False, 0)
-+        toplevel_vbox.pack_start(self.menubar, False, False, 0)
--        self.file_item = gtk.MenuItem("_File")
-+        self.file_item = gtk.MenuItem('_File')
-         self.menubar.add(self.file_item)
-         file_menu = gtk.Menu()
-         self.file_item.set_submenu(file_menu)
--        self.connect_item = gtk.ImageMenuItem(gtk.STOCK_CONNECT, accel_group)
-+        self.connect_item = gtk.ImageMenuItem(gtk.STOCK_CONNECT,
-+                accel_group)
-         file_menu.add(self.connect_item)
--        self.disconnect_item = gtk.ImageMenuItem(gtk.STOCK_DISCONNECT, accel_group)
-+        self.disconnect_item = gtk.ImageMenuItem(gtk.STOCK_DISCONNECT,
-+                accel_group)
-         self.disconnect_item.set_sensitive(False)
-         file_menu.add(self.disconnect_item)
-@@ -1363,17 +1432,18 @@ class ShareWindow(gtk.Window):
-         self.quit_item = gtk.ImageMenuItem(gtk.STOCK_QUIT, accel_group)
-         file_menu.add(self.quit_item)
--        self.view_item = gtk.MenuItem("_View")
-+        self.view_item = gtk.MenuItem('_View')
-         self.menubar.add(self.view_item)
-         view_menu = gtk.Menu()
-         self.view_item.set_submenu(view_menu)
--        self.refresh_item = gtk.ImageMenuItem(gtk.STOCK_REFRESH, accel_group)
-+        self.refresh_item = gtk.ImageMenuItem(gtk.STOCK_REFRESH,
-+                accel_group)
-         self.refresh_item.set_sensitive(False)
-         view_menu.add(self.refresh_item)
--        self.share_item = gtk.MenuItem("_Share")
-+        self.share_item = gtk.MenuItem('_Share')
-         self.menubar.add(self.share_item)
-         share_menu = gtk.Menu()
-@@ -1383,7 +1453,8 @@ class ShareWindow(gtk.Window):
-         self.new_item.set_sensitive(False)
-         share_menu.add(self.new_item)
--        self.delete_item = gtk.ImageMenuItem(gtk.STOCK_DELETE, accel_group)
-+        self.delete_item = gtk.ImageMenuItem(gtk.STOCK_DELETE,
-+                accel_group)
-         self.delete_item.set_sensitive(False)
-         share_menu.add(self.delete_item)
-@@ -1391,36 +1462,39 @@ class ShareWindow(gtk.Window):
-         self.edit_item.set_sensitive(False)
-         share_menu.add(self.edit_item)
--        self.wizard_item = gtk.MenuItem("_Wizard")
-+        self.wizard_item = gtk.MenuItem('_Wizard')
-         self.menubar.add(self.wizard_item)
-         wizard_menu = gtk.Menu()
-         self.wizard_item.set_submenu(wizard_menu)
--        self.new_share_wizard_item = gtk.MenuItem(label="New Share Wizard")
-+        self.new_share_wizard_item = \
-+            gtk.MenuItem(label='New Share Wizard')
-         wizard_menu.add(self.new_share_wizard_item)
--        self.help_item = gtk.MenuItem("_Help")
-+        self.help_item = gtk.MenuItem('_Help')
-         self.menubar.add(self.help_item)
-         help_menu = gtk.Menu()
-         self.help_item.set_submenu(help_menu)
--        self.about_item = gtk.ImageMenuItem(gtk.STOCK_ABOUT, accel_group)
-+        self.about_item = gtk.ImageMenuItem(gtk.STOCK_ABOUT,
-+                accel_group)
-         help_menu.add(self.about_item)
--        # toolbar
-+        # Toolbar
-         self.toolbar = gtk.Toolbar()
--        vbox.pack_start(self.toolbar, False, False, 0)
-+        toplevel_vbox.pack_start(self.toolbar, False, False, 0)
-         self.connect_button = gtk.ToolButton(gtk.STOCK_CONNECT)
-         self.connect_button.set_is_important(True)
--        self.connect_button.set_tooltip_text("Connect to a server")
-+        self.connect_button.set_tooltip_text('Connect to a server')
-         self.toolbar.insert(self.connect_button, 0)
-         self.disconnect_button = gtk.ToolButton(gtk.STOCK_DISCONNECT)
-         self.disconnect_button.set_is_important(True)
--        self.disconnect_button.set_tooltip_text("Disconnect from the server")
-+        self.disconnect_button.set_tooltip_text(
-+                                        'Disconnect from the server')
-         self.toolbar.insert(self.disconnect_button, 1)
-         sep = gtk.SeparatorToolItem()
-@@ -1443,330 +1517,393 @@ class ShareWindow(gtk.Window):
-         image = gtk.Image()
-         image.set_from_stock(gtk.STOCK_EXECUTE, 48)
--        self.new_share_wizard_button = gtk.ToolButton(image,"New Share Wizard")
-+        self.new_share_wizard_button = gtk.ToolButton(image,
-+                'New Share Wizard')
-         self.new_share_wizard_button.set_is_important(True)
-         self.toolbar.insert(self.new_share_wizard_button, 7)
--        self.new_button.set_tooltip_text("Add a new Share")
--        self.edit_button.set_tooltip_text("Edit a Share")
--        self.delete_button.set_tooltip_text("Delete a Share")
-+        self.new_button.set_tooltip_text('Add a new Share')
-+        self.edit_button.set_tooltip_text('Edit a Share')
-+        self.delete_button.set_tooltip_text('Delete a Share')
--        #share-page
-+        # Share-page
-         self.share_notebook = gtk.Notebook()
--        vbox.pack_start(self.share_notebook, True, True, 0)
-+        toplevel_vbox.pack_start(self.share_notebook, True, True, 0)
-         main_hbox = gtk.HBox()
--        self.share_notebook.append_page(main_hbox, gtk.Label("Share Management"))
--
--        # share listing on left side
--
-+        self.share_notebook.append_page(main_hbox,
-+                gtk.Label('Share Management'))
-+        
-+        # Share listing on left side
-         rvbox = gtk.VBox()
--        main_hbox.pack_start(rvbox,True,True,0)
-+        main_hbox.pack_start(rvbox, True, True, 0)
-         scrolledwindow = gtk.ScrolledWindow(None, None)
--        scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
-+        scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC,
-+                                        gtk.POLICY_AUTOMATIC)
-         scrolledwindow.set_shadow_type(gtk.SHADOW_IN)
--        rvbox.pack_start(scrolledwindow,True,True,2)
--
-+        rvbox.pack_start(scrolledwindow, True, True, 2)
-         self.shares_tree_view = gtk.TreeView()
-         scrolledwindow.add(self.shares_tree_view)
-         column = gtk.TreeViewColumn()
--        column.set_title("")
-+        column.set_title('')
-         renderer = gtk.CellRendererPixbuf()
--        renderer.set_property("pixbuf", gtk.gdk.pixbuf_new_from_file_at_size(self.share_icon_filename, 22, 22))
-+        renderer.set_property('pixbuf',
-+                              gtk.gdk.pixbuf_new_from_file_at_size(
-+                              self.share_icon_filename,22, 22))
-         column.pack_start(renderer, True)
-         self.shares_tree_view.append_column(column)
-         column = gtk.TreeViewColumn()
--        column.set_title("Name")
-+        column.set_title('Name')
-         column.set_resizable(True)
-         column.set_sort_column_id(0)
-         renderer = gtk.CellRendererText()
-         column.pack_start(renderer, True)
-         self.shares_tree_view.append_column(column)
--        column.add_attribute(renderer, "text", 0)
-+        column.add_attribute(renderer, 'text', 0)
-         column = gtk.TreeViewColumn()
--        column.set_title("Share Type")
-+        column.set_title('Share Type')
-         column.set_resizable(True)
-         column.set_expand(True)
-         column.set_sort_column_id(1)
-         renderer = gtk.CellRendererText()
-         column.pack_start(renderer, True)
-         self.shares_tree_view.append_column(column)
--        column.add_attribute(renderer, "text", 1)
-+        column.add_attribute(renderer, 'text', 1)
-         column = gtk.TreeViewColumn()
--        column.set_title("Comment")
-+        column.set_title('Comment')
-         column.set_resizable(True)
-         column.set_expand(True)
-         column.set_sort_column_id(2)
-         renderer = gtk.CellRendererText()
-         column.pack_start(renderer, True)
-         self.shares_tree_view.append_column(column)
--        column.add_attribute(renderer, "text", 2)
-+        column.add_attribute(renderer, 'text', 2)
-         column = gtk.TreeViewColumn()
--        column.set_title("Path")
-+        column.set_title('Path')
-         column.set_resizable(True)
-         column.set_sort_column_id(3)
-         renderer = gtk.CellRendererText()
-         column.pack_start(renderer, True)
-         self.shares_tree_view.append_column(column)
--        column.add_attribute(renderer, "text", 3)
-+        column.add_attribute(renderer, 'text', 3)
--        self.shares_store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING)
--        self.shares_store.set_sort_column_id(0, gtk.SORT_ASCENDING)
-+        self.shares_store = gtk.ListStore(gobject.TYPE_STRING,
-+                gobject.TYPE_STRING, gobject.TYPE_STRING,
-+                gobject.TYPE_STRING)
-+        self.shares_store.set_sort_column_id(0,
-+                gtk.SORT_ASCENDING)
-         self.shares_tree_view.set_model(self.shares_store)
-         hbox = gtk.HBox()
--        rvbox.pack_start(hbox,False,False,0)
--
--
--        self.show_all_share_checkbox = gtk.CheckButton("Show Hidden Shares")
--        hbox.pack_end(self.show_all_share_checkbox,False,False,0)
--        self.show_all_share_checkbox.set_tooltip_text('Enable or disable the visiblity of hidden shares')
-+        rvbox.pack_start(hbox, False, False, 0)
-+
-+        self.show_all_share_checkbox = \
-+            gtk.CheckButton('Show Hidden Shares')
-+        hbox.pack_end(self.show_all_share_checkbox, False, False,
-+                      0)
-+        self.show_all_share_checkbox.set_tooltip_text(
-+                    'Enable or disable the visiblity of hidden shares')
-         self.show_all_share_checkbox.set_active(False)
--        self.show_all_share_checkbox.connect("toggled",self.toggle_share_view_visiblity,None)
--
--
-+        self.show_all_share_checkbox.connect('toggled',
-+                self.toggle_share_view_visiblity, None)
--        ### right active widget :
-+        ### Right active widget :
-+        
-         vbox = gtk.VBox()
--        main_hbox.pack_start(vbox,False,False,0)
--
--
-+        main_hbox.pack_start(vbox, False, False, 0)
-         self.shareinfo_frame = gtk.Frame()
-         self.active_pane_frame_label = gtk.Label()
-         self.active_pane_frame_label.set_use_markup(True)
--        self.active_pane_frame_label.set_markup('<b> No Share Selected </b>')
--        self.shareinfo_frame.set_label_widget(self.active_pane_frame_label)
-+        self.active_pane_frame_label.set_markup(
-+                                        '<b> No Share Selected </b>')
-+        self.shareinfo_frame.set_label_widget(
-+                                        self.active_pane_frame_label)
-         vbox.pack_start(self.shareinfo_frame, False, True, 0)
-         self.shareinfo_frame.set_border_width(5)
--        table = gtk.Table(1,2)
-+        table = gtk.Table(1, 2)
-         table.set_border_width(5)
-         table.set_row_spacings(2)
-         table.set_col_spacings(6)
-         self.shareinfo_frame.add(table)
--        label = gtk.Label("Please Slect a Share First" )
-+        label = gtk.Label('Please Slect a Share First')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 0, 1,gtk.FILL,
-+                        gtk.FILL | gtk.EXPAND, 0, 0)
-+
--        label = gtk.Label(" "*55 )
-+        label = gtk.Label(' ' * 55)
-         label.set_alignment(1, 0.5)
--        table.attach(label, 1, 2, 0, 1, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 1, 2, 0, 1, gtk.FILL,
-+                        gtk.FILL | gtk.EXPAND, 0, 0)
-         hbox = gtk.HBox()
--        vbox.pack_end(hbox,False,False,0)
-+        vbox.pack_end(hbox, False, False, 0)
--        table = gtk.Table(3,6,True)
--        hbox.pack_start(table,False,True,0)
-+        table = gtk.Table(3, 6, True)
-+        hbox.pack_start(table, False, True, 0)
--        self.active_frame_new_button = gtk.Button("New")
-+        self.active_frame_new_button = gtk.Button('New')
-         self.active_frame_new_button.set_tooltip_text('Add a New Share')
--        table.attach(self.active_frame_new_button, 2, 3, 1, 2, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(self.active_frame_new_button, 2, 3, 1, 2,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
--        self.active_frame_edit_button = gtk.Button("Edit")
--        self.active_frame_edit_button.set_tooltip_text('Edit Current Share')
--        table.attach(self.active_frame_edit_button, 3, 4, 1, 2, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
--
--        self.active_frame_delete_button = gtk.Button("Delete")
--        self.active_frame_delete_button.set_tooltip_text('Delete Current Share')
--        table.attach(self.active_frame_delete_button, 4, 5, 1, 2, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        self.active_frame_edit_button = gtk.Button('Edit')
-+        self.active_frame_edit_button.set_tooltip_text(
-+                                                'Edit Current Share')
-+        table.attach(self.active_frame_edit_button, 3, 4, 1, 2,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+        self.active_frame_delete_button = gtk.Button('Delete')
-+        self.active_frame_delete_button.set_tooltip_text(
-+                                                'Delete Current Share')
-+        table.attach(self.active_frame_delete_button, 4, 5, 1, 2,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-         # Server Info Page
-         hbox = gtk.HBox(True)
--        self.share_notebook.append_page(hbox, gtk.Label("Share Server Info"))
-+        self.share_notebook.append_page(hbox,
-+                gtk.Label('Share Server Info'))
-         vbox = gtk.VBox()
-         hbox.pack_start(vbox, True, True, 0)
--        self.srvinfo_frame =  gtk.Frame()
-+        self.srvinfo_frame = gtk.Frame()
-         self.srv_info_label = gtk.Label('<b>Share Server Details</b>')
-         self.srv_info_label.set_use_markup(True)
-         self.srvinfo_frame.set_label_widget(self.srv_info_label)
-         vbox.pack_start(self.srvinfo_frame, False, True, 0)
-         self.srvinfo_frame.set_border_width(5)
--        table = gtk.Table(10,2)
-+        table = gtk.Table(10, 2)
-         table.set_border_width(5)
-         table.set_row_spacings(3)
-         table.set_col_spacings(6)
-         self.srvinfo_frame.add(table)
--
-         label = gtk.Label(' Target Platform OS  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 1, 2, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 1, 2, gtk.FILL,
-+                        gtk.FILL | gtk.EXPAND, 0, 0)
-         self.srvinfo_tos_label = gtk.Label()
-         self.srvinfo_tos_label.set_alignment(0, 0.5)
--        table.attach(self.srvinfo_tos_label, 1, 2, 1, 2, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(self.srvinfo_tos_label, 1, 2, 1, 2,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(' NetBIOS Name : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 2, 3, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 2, 3, gtk.FILL,
-+                        gtk.FILL | gtk.EXPAND, 0, 0)
-         self.srvinfo_name_label = gtk.Label()
-         self.srvinfo_name_label.set_alignment(0, 0.5)
--        table.attach(self.srvinfo_name_label, 1, 2, 2, 3, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(self.srvinfo_name_label, 1, 2, 2, 3,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(' Hidden  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 3, 4, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 3, 4, gtk.FILL,
-+                        gtk.FILL | gtk.EXPAND, 0, 0)
-         self.srvinfo_hidden_label = gtk.Label()
-         self.srvinfo_hidden_label.set_alignment(0, 0.5)
--        table.attach(self.srvinfo_hidden_label, 1, 2, 3, 4, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(self.srvinfo_hidden_label, 1, 2, 3, 4,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(' Comment  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 4, 5, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 4, 5, gtk.FILL,
-+                        gtk.FILL | gtk.EXPAND, 0, 0)
-         self.srvinfo_comment_label = gtk.Label()
-         self.srvinfo_comment_label.set_alignment(0, 0.5)
--        table.attach(self.srvinfo_comment_label, 1, 2, 4, 5, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(self.srvinfo_comment_label, 1, 2, 4 ,5,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(' Version : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 5, 6, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 5, 6, gtk.FILL,
-+                        gtk.FILL | gtk.EXPAND, 0, 0)
-         self.srvinfo_version_label = gtk.Label()
-         self.srvinfo_version_label.set_alignment(0, 0.5)
--        table.attach(self.srvinfo_version_label, 1, 2, 5, 6, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(self.srvinfo_version_label, 1, 2, 5, 6,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-         label = gtk.Label(' Server Type  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 6, 7, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 6, 7, gtk.FILL,
-+                        gtk.FILL | gtk.EXPAND, 0, 0)
-         self.srvinfo_type_label = gtk.Label()
-         self.srvinfo_type_label.set_alignment(0, 0.5)
--        table.attach(self.srvinfo_type_label, 1, 2, 6, 7, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(self.srvinfo_type_label, 1, 2, 6, 7,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+
-         label = gtk.Label(' User Path  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 7, 8, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 7, 8, gtk.FILL,
-+                        gtk.FILL | gtk.EXPAND, 0, 0)
-         self.srvinfo_upath_label = gtk.Label()
-         self.srvinfo_upath_label.set_alignment(0, 0.5)
--        table.attach(self.srvinfo_upath_label, 1, 2, 7, 8, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(self.srvinfo_upath_label, 1, 2, 7, 8,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+
-         label = gtk.Label(' Timeout  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 8, 9, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 8, 9, gtk.FILL,
-+                        gtk.FILL | gtk.EXPAND, 0, 0)
-         self.srvinfo_to_label = gtk.Label()
-         self.srvinfo_to_label.set_alignment(0, 0.5)
--        table.attach(self.srvinfo_to_label, 1, 2, 8, 9, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(self.srvinfo_to_label, 1, 2, 8, 9,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+
-         label = gtk.Label(' Announce / Anndelta  : ')
-         label.set_alignment(1, 0.5)
--        table.attach(label, 0, 1, 9, 10, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(label, 0, 1, 9, 10, gtk.FILL,
-+                        gtk.FILL | gtk.EXPAND, 0, 0)
-         self.srvinfo_aa_label = gtk.Label()
-         self.srvinfo_aa_label.set_alignment(0, 0.5)
--        table.attach(self.srvinfo_aa_label, 1, 2, 9, 10, gtk.FILL,gtk.FILL | gtk.EXPAND, 0, 0)
-+        table.attach(self.srvinfo_aa_label, 1, 2, 9, 10,
-+                            gtk.FILL, gtk.FILL | gtk.EXPAND, 0, 0)
-+
-         vbox = gtk.VBox()
--        hbox.pack_start(vbox,True,True,0)
-+        hbox.pack_start(vbox, True, True, 0)
--        self.sd_frame =  gtk.Frame()
-+        self.sd_frame = gtk.Frame()
-         self.sd_frame.set_border_width(5)
-         label = gtk.Label('<b> Shared Disks </b>')
-         label.set_use_markup(True)
-         self.sd_frame.set_label_widget(label)
-         vbox.pack_start(self.sd_frame, False, False, 0)
--
--
-+        
-         # status bar
-         self.statusbar = gtk.Statusbar()
-         self.statusbar.set_has_resize_grip(True)
--        vbox.pack_start(self.statusbar, False, False, 0)
--
-+        toplevel_vbox.pack_end(self.statusbar, False, False, 0)
-+        
-         # signals/events
--        self.connect("delete_event", self.on_self_delete)
--        self.connect("key-press-event", self.on_key_press)
--
--        self.connect_item.connect("activate", self.on_connect_item_activate)
--        self.disconnect_item.connect("activate", self.on_disconnect_item_activate)
--        self.quit_item.connect("activate", self.on_quit_item_activate)
--        self.refresh_item.connect("activate", self.on_refresh_item_activate)
--        self.about_item.connect("activate", self.on_about_item_activate)
--
--
--        self.new_item.connect("activate", self.on_new_item_activate)
--        self.delete_item.connect("activate", self.on_delete_item_activate)
--        self.edit_item.connect("activate", self.on_edit_item_activate)
--        self.new_share_wizard_item.connect("activate", self.on_new_item_activate,True)
--
--        self.connect_button.connect("clicked", self.on_connect_item_activate)
--        self.disconnect_button.connect("clicked", self.on_disconnect_item_activate)
--
--        self.new_button.connect("clicked", self.on_new_item_activate)
--        self.delete_button.connect("clicked", self.on_delete_item_activate)
--        self.edit_button.connect("clicked", self.on_edit_item_activate)
--        self.new_share_wizard_button.connect("clicked", self.on_new_item_activate,True)
--
--        self.active_frame_new_button.connect("clicked", self.on_new_item_activate)
--        self.active_frame_delete_button.connect("clicked", self.on_delete_item_activate)
--        self.active_frame_edit_button.connect("clicked", self.on_edit_item_activate)
--
--        self.shares_tree_view.get_selection().connect("changed", self.on_update_sensitivity)
--        self.shares_tree_view.get_selection().connect("changed", self.on_switch_fill_active_pane)
--        self.shares_tree_view.connect("button_press_event", self.on_shares_tree_view_button_press)
--
--        self.share_notebook.connect("switch-page", self.on_notebook_switch_page)
-+        self.connect('delete_event', self.on_self_delete)
-+        self.connect('key-press-event', self.on_key_press)
-+
-+        self.connect_item.connect('activate',
-+                                  self.on_connect_item_activate)
-+        self.disconnect_item.connect('activate',
-+                self.on_disconnect_item_activate)
-+        self.quit_item.connect('activate', self.on_quit_item_activate)
-+        self.refresh_item.connect('activate',
-+                                  self.on_refresh_item_activate)
-+        self.about_item.connect('activate', self.on_about_item_activate)
-+
-+        self.new_item.connect('activate', self.on_new_item_activate)
-+        self.delete_item.connect('activate',
-+                                 self.on_delete_item_activate)
-+        self.edit_item.connect('activate', self.on_edit_item_activate)
-+        self.new_share_wizard_item.connect('activate',
-+                self.on_new_item_activate, True)
-+
-+        self.connect_button.connect('clicked',
-+                                    self.on_connect_item_activate)
-+        self.disconnect_button.connect('clicked',
-+                self.on_disconnect_item_activate)
-+
-+        self.new_button.connect('clicked', self.on_new_item_activate)
-+        self.delete_button.connect('clicked',
-+                                   self.on_delete_item_activate)
-+        self.edit_button.connect('clicked', self.on_edit_item_activate)
-+        self.new_share_wizard_button.connect('clicked',
-+                self.on_new_item_activate, True)
-+
-+        self.active_frame_new_button.connect('clicked',
-+                self.on_new_item_activate)
-+        self.active_frame_delete_button.connect('clicked',
-+                self.on_delete_item_activate)
-+        self.active_frame_edit_button.connect('clicked',
-+                self.on_edit_item_activate)
-+
-+        self.shares_tree_view.get_selection().connect('changed',
-+                self.on_update_sensitivity)
-+        self.shares_tree_view.get_selection().connect('changed',
-+                self.on_switch_fill_active_pane)
-+        self.shares_tree_view.connect('button_press_event',
-+                self.on_shares_tree_view_button_press)
-+
-+        self.share_notebook.connect('switch-page',
-+                                    self.on_notebook_switch_page)
-         self.add_accel_group(accel_group)
- ############################################################################################################
-+
- def PrintUsage():
--    print "Usage: %s [OPTIONS]" % (str(os.path.split(__file__)[-1]))
--    print "All options are optional. The user will be queried for additional information if needed.\n"
--    print "  -s  --server\t\tspecify the server to connect to."
--    print "  -u  --user\t\tspecify the username."
--    print "  -p  --password\tThe password for the user."
--    print "  -t  --transport\tTransport type.\n\t\t\t\t0 for RPC, SMB, TCP/IP\n\t\t\t\t1 for RPC, TCP/IP\n\t\t\t\t2 for localhost."
--    print "  -c  --connect-now\tSkip the connect dialog."
-+    print 'Usage: %s [OPTIONS]'\
-+         % str(os.path.split(__file__)[-1])
-+    print 'All options are optional. The user will be queried for additional information if needed.\n'
-+    print '  -s  --server\t\tspecify the server to connect to.'
-+    print '  -u  --user\t\tspecify the username.'
-+    print '  -p  --password\tThe password for the user.'
-+    print '''  -t  --transport\tTransport type.
-+\t\t\t\t0 for RPC, SMB, TCP/IP
-+\t\t\t\t1 for RPC, TCP/IP
-+\t\t\t\t2 for localhost.'''
-+    print '  -c  --connect-now\tSkip the connect dialog.'
- def ParseArgs(argv):
-     arguments = {}
--    try: #get arguments into a nicer format
--        opts, args = getopt.getopt(argv, "chu:s:p:t:", ["help", "user=", "server=", "password=", "connect-now", "transport="])
-+    try:  # get arguments into a nicer format
-+        (opts, args) = getopt.getopt(argv, 'chu:s:p:t:', [
-+            'help',
-+            'user=',
-+            'server=',
-+            'password=',
-+            'connect-now',
-+            'transport=',
-+            ])
-     except getopt.GetoptError:
-         PrintUsage()
-         sys.exit(2)
--    for opt, arg in opts:
--        if opt in ("-h", "--help"):
-+    for (opt, arg) in opts:
-+        if opt in ('-h', '--help'):
-             PrintUsage()
-             sys.exit(0)
--        elif opt in ("-s", "--server"):
--            arguments.update({"server":arg})
--        elif opt in ("-u", "--user"):
--            arguments.update({"username":arg})
--        elif opt in ("-p", "--password"):
--            arguments.update({"password":arg})
--        elif opt in ("-t", "--transport"):
--            arguments.update({"transport_type":int(arg)})
--        elif opt in ("-c", "--connect-now"):
--            arguments.update({"connect_now":True})
--    return (arguments)
--
--
--if __name__ == "__main__":
--    arguments = ParseArgs(sys.argv[1:]) #the [1:] ignores the first argument, which is the path to our utility
-+        elif opt in ('-s', '--server'):
-+            arguments.update({'server': arg})
-+        elif opt in ('-u', '--user'):
-+            arguments.update({'username': arg})
-+        elif opt in ('-p', '--password'):
-+            arguments.update({'password': arg})
-+        elif opt in ('-t', '--transport'):
-+            arguments.update({'transport_type': int(arg)})
-+        elif opt in ('-c', '--connect-now'):
-+            arguments.update({'connect_now': True})
-+    return arguments
-+
-+
-+if __name__ == '__main__':
-+    arguments = ParseArgs(sys.argv[1:])
-     main_window = ShareWindow(**arguments)
-     main_window.show_all()
-
-commit 7754896966e49572ce08faa97e31b66be15265f6
-Author: Dhananjay Sathe <dhananjaysathe@gmail.com>
-Date:   Sun Aug 14 20:32:53 2011 +0000
-
-    updates
-
-diff --git a/sambagtk/pysrvsvc.py b/sambagtk/pysrvsvc.py
-index cc552a7..b433d6d 100644
---- a/sambagtk/pysrvsvc.py
-+++ b/sambagtk/pysrvsvc.py
-@@ -71,7 +71,7 @@ class srvsvcConnectDialog(gtk.Dialog):
-         self.vbox.set_spacing(5)
--        # artwork
-+        # artwork TODO remove post decession
-         self.artwork = gtk.VBox()
-@@ -92,6 +92,8 @@ class srvsvcConnectDialog(gtk.Dialog):
-         self.artwork.pack_start(box, True, True, 0)
-         self.vbox.pack_start(self.artwork, False, True, 0)
-+        
-+        ########################### end of artwork TODO :
-         # server frame
-@@ -408,26 +410,10 @@ class ShareAddEditDialog(gtk.Dialog):
-         hbox.pack_start(label, True, True, 0)
-         self.desc_box.pack_start(hbox,True, True, 0)
--        # main box
--
--        self.main_box  = gtk.HBox()
--        self.vbox.pack_start(self.main_box,True,True,0)
--
--        #vertical logo
--        #vbox = gtk.VBox()
--        #vbox.set_border_width(5)
--        #samba_image_filename = os.path.join(sys.path[0],'images',
--        #        'samba-logo-vertical.png')
--        #samba_image = gtk.Image()
--        #samba_image.set_from_file(samba_image_filename)
--        #vbox.pack_end(samba_image, False, True, 0)
--
--        #self.main_box.pack_start(vbox, False, True, 0)
--
-         # the main form
-         self.form_box = gtk.VBox()
--        self.main_box.pack_start(self.form_box, True, True, 0)
-+        self.vbox.pack_start(self.form_box, True, True, 0)
-         # Name , password and comment (npc) frame
-         frame = gtk.Frame()
-@@ -677,26 +663,10 @@ class DeleteDialog(gtk.Dialog):
-         hbox.pack_start(label, True, True, 0)
-         self.desc_box.pack_start(hbox,True, True, 0)
--        # main box
--
--        self.main_box  = gtk.HBox()
--        self.vbox.pack_start(self.main_box,True,True,0)
--
--        #vertical logo
--        #vbox = gtk.VBox()
--        #vbox.set_border_width(5)
--        #samba_image_filename = os.path.join(sys.path[0],'images',
--        #        'samba-logo-vertical.png')
--        #samba_image = gtk.Image()
--        #samba_image.set_from_file(samba_image_filename)
--        #vbox.pack_end(samba_image, False, True, 0)
--
--        #self.main_box.pack_start(vbox, False, True, 0)
--
-         # the main form
-         self.form_box = gtk.VBox()
--        self.main_box.pack_start(self.form_box, True, True, 0)
-+        self.vbox.pack_start(self.form_box, True, True, 0)
-         frame = gtk.Frame()
-         label = gtk.Label('<b> Share Details</b>')
-
-commit fffac28cd2768d87a68572e60236f4e319727303
-Author: Dhananjay Sathe <dhananjaysathe@gmail.com>
-Date:   Thu Aug 11 00:04:55 2011 +0530
-
-    hide types, code cleanup, remove artwork, sys path appends not default anymore
-
-diff --git a/sambagtk/main.py b/sambagtk/main.py
-index 9f67982..f59901e 100644
---- a/sambagtk/main.py
-+++ b/sambagtk/main.py
-@@ -11,7 +11,9 @@ import gtk.glade
- import os.path
- import getopt
--sys.path.append('/usr/local/samba/lib/python2.7/site-packages/')
-+#sys.path.append('/usr/local/samba/lib/python2.7/site-packages/')
-+# for use against the default binaries from default .configure.developer for use on python 2.7
-+# Uncomment the above line if it is yor your config , else edit it as required
- import pygwsam
-diff --git a/sambagtk/pygwshare.py b/sambagtk/pygwshare.py
-index c1c0551..284c98d 100644
---- a/sambagtk/pygwshare.py
-+++ b/sambagtk/pygwshare.py
-@@ -31,9 +31,9 @@ import getopt
- import gobject
- import gtk
--sys.path.append('/usr/local/samba/lib/python2.7/site-packages/')
-+#sys.path.append('/usr/local/samba/lib/python2.7/site-packages/')
- #for use against the default binaries from default .configure.developer for use on python 2.7
--#TODO remove these entries
-+# Unhash the above line if it is yor your config , else edit it as required
- from samba import credentials
- from samba.dcerpc import (
-@@ -1772,5 +1772,3 @@ if __name__ == "__main__":
-     main_window.show_all()
-     gtk.main()
--#debug test pipe : TODO (remove later)
--# test = srvsvcPipeManager('127.0.0.1',0,'Administrator','Pass#2011')
-diff --git a/sambagtk/pysrvsvc.py b/sambagtk/pysrvsvc.py
-index e3baa82..cc552a7 100644
---- a/sambagtk/pysrvsvc.py
-+++ b/sambagtk/pysrvsvc.py
-@@ -414,15 +414,15 @@ class ShareAddEditDialog(gtk.Dialog):
-         self.vbox.pack_start(self.main_box,True,True,0)
-         #vertical logo
--        vbox = gtk.VBox()
--        vbox.set_border_width(5)
--        samba_image_filename = os.path.join(sys.path[0],'images',
--                'samba-logo-vertical.png')
--        samba_image = gtk.Image()
--        samba_image.set_from_file(samba_image_filename)
--        vbox.pack_end(samba_image, False, True, 0)
-+        #vbox = gtk.VBox()
-+        #vbox.set_border_width(5)
-+        #samba_image_filename = os.path.join(sys.path[0],'images',
-+        #        'samba-logo-vertical.png')
-+        #samba_image = gtk.Image()
-+        #samba_image.set_from_file(samba_image_filename)
-+        #vbox.pack_end(samba_image, False, True, 0)
--        self.main_box.pack_start(vbox, False, True, 0)
-+        #self.main_box.pack_start(vbox, False, True, 0)
-         # the main form
-@@ -515,12 +515,14 @@ class ShareAddEditDialog(gtk.Dialog):
-         self.stype_printq_radio_button = gtk.RadioButton(self.stype_disktree_radio_button,'Print Queue')
-         self.stype_printq_radio_button.set_tooltip_text('Shared Print Queue')
-         self.stype_printq_radio_button.set_active(self.stype == srvsvc.STYPE_PRINTQ)
--        vbox.pack_start(self.stype_printq_radio_button)
-+        #vbox.pack_start(self.stype_printq_radio_button)
-+        #deactivating this option until samba4 is fixed TODO activate once base is fixed
-         self.stype_ipc_radio_button = gtk.RadioButton(self.stype_printq_radio_button,'IPC ')
-         self.stype_ipc_radio_button.set_tooltip_text('Shared Interprocess Communication Pipe (IPC).')
-         self.stype_ipc_radio_button.set_active(self.stype == srvsvc.STYPE_IPC)
--        vbox.pack_start(self.stype_ipc_radio_button)
-+        #vbox.pack_start(self.stype_ipc_radio_button)
-+        #deactivating this option until samba4 is fixed TODO activate once base is fixed
-         # Special Share Flags
-         vbox = gtk.VBox()
-@@ -681,15 +683,15 @@ class DeleteDialog(gtk.Dialog):
-         self.vbox.pack_start(self.main_box,True,True,0)
-         #vertical logo
--        vbox = gtk.VBox()
--        vbox.set_border_width(5)
--        samba_image_filename = os.path.join(sys.path[0],'images',
--                'samba-logo-vertical.png')
--        samba_image = gtk.Image()
--        samba_image.set_from_file(samba_image_filename)
--        vbox.pack_end(samba_image, False, True, 0)
--
--        self.main_box.pack_start(vbox, False, True, 0)
-+        #vbox = gtk.VBox()
-+        #vbox.set_border_width(5)
-+        #samba_image_filename = os.path.join(sys.path[0],'images',
-+        #        'samba-logo-vertical.png')
-+        #samba_image = gtk.Image()
-+        #samba_image.set_from_file(samba_image_filename)
-+        #vbox.pack_end(samba_image, False, True, 0)
-+
-+        #self.main_box.pack_start(vbox, False, True, 0)
-         # the main form
-
-commit f0fee8f57697c04d5b673a1f03508ffbf4e5bdee
-Author: Dhananjay Sathe <dhananjaysathe@gmail.com>
-Date:   Mon Aug 8 16:55:54 2011 +0530
-
-    page swaps fixed
-
-diff --git a/sambagtk/main.py b/sambagtk/main.py
-index df75b33..9f67982 100644
---- a/sambagtk/main.py
-+++ b/sambagtk/main.py
-@@ -39,6 +39,7 @@ class SambaUtilities(object):
-         self.svcctl_window = None
-         self.crontab_window = None
-         self.srvsvc_window = None
-+        self.srvsvc_init= False
-         self.connection_args = connection_args
-         self.additional_connection_args = {} #arguments not supported by all utilities, such as domain_index
-@@ -128,7 +129,7 @@ class SambaUtilities(object):
-         self.set_status("User tab initialized.")
-         self.update_sensitivity()
--        
-+
-     def init_srvsvc_page(self):
-         args = self.connection_args.copy()
-@@ -140,8 +141,8 @@ class SambaUtilities(object):
-         self.srvsvc_viewport.show_all() #unhide all widgets
-         #We'll be displaying this later. We need to unparent it before attaching it to another container
--        #self.srvsvc_window.menubar.unparent()
--        #self.srvsvc_window.toolbar.unparent()
-+
-+        self.srvsvc_window.toolbar.unparent()
-         self.srvsvc_window.statusbar = self.statusbar #we simply tell the utility to use our status bar instead
-         self.set_status("Share Manager tab initialized.")
-@@ -199,10 +200,10 @@ class SambaUtilities(object):
-     def regedit_initialized(self):
-         return self.regedit_window is not None
--    
-+
-     def srvsvc_initialized (self):
-         return self.srvsvc_window is not None
--        
-+
-     def svcctl_initialized(self):
-         return self.svcctl_window is not None
-@@ -379,19 +380,22 @@ class SambaUtilities(object):
-             #Menubar
-             children = self.menubar_viewport.get_children()
-             self.menubar_viewport.remove(children[0])
--            self.srvsvc_window.menubar.reparent(self.menubar_viewport)
--            #self.menubar_viewport.add(self.srvsvc_window.menubar)
-+            if self.srvsvc_init is False:
-+                self.srvsvc_window.menubar.reparent(self.menubar_viewport)
-+                self.srvsvc_init = True
-+            else:
-+                self.menubar_viewport.add(self.srvsvc_window.menubar)
-             self.menubar_viewport.show_all()
-             #Toolbar
--            children = self.toolbar_viewport.get_children() 
-+            children = self.toolbar_viewport.get_children()
-             self.toolbar_viewport.remove(children[0])
-             self.srvsvc_window.toolbar.unparent()
-             self.toolbar_viewport.add(self.srvsvc_window.toolbar)
-             self.toolbar_viewport.show_all()
--            
-+
-             self.srvsvc_window.hide()
--            
-+
-         elif page_num == 3: #Regedit page
-             if self.regedit_viewport.child == None:
-                 self.init_regedit_page()
-@@ -450,7 +454,7 @@ class SambaUtilities(object):
-                     self.sam_window.on_connect_item_activate(None, **self.connection_args)
-             else:
-                 self.init_sam_page()
--            
-+
-             if self.srvsvc_initialized():
-                 if not self.srvsvc_window.connected():
-                     self.srvsvc_window.on_connect_item_activate(None, **self.connection_args)
-diff --git a/sambagtk/pygwsam.py b/sambagtk/pygwsam.py
-index d57c083..e11be7d 100755
---- a/sambagtk/pygwsam.py
-+++ b/sambagtk/pygwsam.py
-@@ -131,7 +131,7 @@ class SAMPipeManager(object):
-     def update_user(self, user):
-         """Submit any changes to 'user' to the server.
--        
-+
-         The User's RID must be correct for this to work.
-         This function will call update_user_security() to update user security
-         options.
-@@ -300,7 +300,7 @@ class SAMPipeManager(object):
-     def info_to_user(self, query_info, user=None):
-         """Converts 'query_info' information into a user type.
--        
-+
-         Values in 'user' will be overwriten by this function. If called with 'None' then a new User structure will be created
-         returns 'user
-
-commit a956ca8135492291830ba7ab0eb6e5bbad8288ff
-Author: Dhananjay Sathe <dhananjaysathe@gmail.com>
-Date:   Mon Aug 8 16:32:47 2011 +0530
-
-    connect missing image fixup
-
-diff --git a/sambagtk/sam.py b/sambagtk/sam.py
-index 0c7fa3d..9fcfd30 100644
---- a/sambagtk/sam.py
-+++ b/sambagtk/sam.py
-@@ -542,7 +542,7 @@ class SAMConnectDialog(gtk.Dialog):
-         self.artwork = gtk.VBox()
--        self.samba_image_filename = os.path.join(sys.path[0],"..", 'images',
-+        self.samba_image_filename = os.path.join(sys.path[0],'images',
-                 'samba-logo-small.png')
-         self.samba_image = gtk.Image()
-         self.samba_image.set_from_file(self.samba_image_filename)
-
-commit d577b6d1ac9af13ba702b312d041c900adda6b15
-Author: Dhananjay Sathe <dhananjaysathe@gmail.com>
-Date:   Mon Aug 8 15:50:28 2011 +0530
-
-    Multiple changes
-    1) Main now auto executes
-    2) Images relocated to match structure of rest of sambagtk
-    3) Modified sam.py to show newstyle connect dialog to maintain consistancy
-
-diff --git a/images/network-folder-alternate.png b/images/network-folder-alternate.png
-deleted file mode 100644
-index a49a77d..0000000
-Binary files a/images/network-folder-alternate.png and /dev/null differ
-diff --git a/images/network-folder-blue.png b/images/network-folder-blue.png
-deleted file mode 100644
-index 958039f..0000000
-Binary files a/images/network-folder-blue.png and /dev/null differ
-diff --git a/images/network-folder.png b/images/network-folder.png
-deleted file mode 100644
-index 311aa6f..0000000
-Binary files a/images/network-folder.png and /dev/null differ
-diff --git a/images/network-pipe-alt.png b/images/network-pipe-alt.png
-deleted file mode 100644
-index 8d1469f..0000000
-Binary files a/images/network-pipe-alt.png and /dev/null differ
-diff --git a/images/network-pipe.png b/images/network-pipe.png
-deleted file mode 100644
-index d05c01c..0000000
-Binary files a/images/network-pipe.png and /dev/null differ
-diff --git a/images/network-printer.png b/images/network-printer.png
-deleted file mode 100644
-index 5590e52..0000000
-Binary files a/images/network-printer.png and /dev/null differ
-diff --git a/images/network.png b/images/network.png
-deleted file mode 100644
-index 8d1469f..0000000
-Binary files a/images/network.png and /dev/null differ
-diff --git a/images/samba-logo-old.png b/images/samba-logo-old.png
-deleted file mode 100644
-index 475cc26..0000000
-Binary files a/images/samba-logo-old.png and /dev/null differ
-diff --git a/images/samba-logo-small.png b/images/samba-logo-small.png
-deleted file mode 100644
-index 8c2e20b..0000000
-Binary files a/images/samba-logo-small.png and /dev/null differ
-diff --git a/images/samba-logo-vertical.png b/images/samba-logo-vertical.png
-deleted file mode 100644
-index 05a39b6..0000000
-Binary files a/images/samba-logo-vertical.png and /dev/null differ
-diff --git a/sambagtk/images/network-folder-alternate.png b/sambagtk/images/network-folder-alternate.png
-new file mode 100644
-index 0000000..a49a77d
-Binary files /dev/null and b/sambagtk/images/network-folder-alternate.png differ
-diff --git a/sambagtk/images/network-folder-blue.png b/sambagtk/images/network-folder-blue.png
-new file mode 100644
-index 0000000..958039f
-Binary files /dev/null and b/sambagtk/images/network-folder-blue.png differ
-diff --git a/sambagtk/images/network-folder.png b/sambagtk/images/network-folder.png
-new file mode 100644
-index 0000000..311aa6f
-Binary files /dev/null and b/sambagtk/images/network-folder.png differ
-diff --git a/sambagtk/images/network-pipe-alt.png b/sambagtk/images/network-pipe-alt.png
-new file mode 100644
-index 0000000..8d1469f
-Binary files /dev/null and b/sambagtk/images/network-pipe-alt.png differ
-diff --git a/sambagtk/images/network-pipe.png b/sambagtk/images/network-pipe.png
-new file mode 100644
-index 0000000..d05c01c
-Binary files /dev/null and b/sambagtk/images/network-pipe.png differ
-diff --git a/sambagtk/images/network-printer.png b/sambagtk/images/network-printer.png
-new file mode 100644
-index 0000000..5590e52
-Binary files /dev/null and b/sambagtk/images/network-printer.png differ
-diff --git a/sambagtk/images/network.png b/sambagtk/images/network.png
-new file mode 100644
-index 0000000..8d1469f
-Binary files /dev/null and b/sambagtk/images/network.png differ
-diff --git a/sambagtk/images/samba-logo-old.png b/sambagtk/images/samba-logo-old.png
-new file mode 100644
-index 0000000..475cc26
-Binary files /dev/null and b/sambagtk/images/samba-logo-old.png differ
-diff --git a/sambagtk/images/samba-logo-small.png b/sambagtk/images/samba-logo-small.png
-index 475cc26..8c2e20b 100644
-Binary files a/sambagtk/images/samba-logo-small.png and b/sambagtk/images/samba-logo-small.png differ
-diff --git a/sambagtk/images/samba-logo-vertical.png b/sambagtk/images/samba-logo-vertical.png
-new file mode 100644
-index 0000000..05a39b6
-Binary files /dev/null and b/sambagtk/images/samba-logo-vertical.png differ
-diff --git a/sambagtk/main.py b/sambagtk/main.py
-index d96b684..df75b33 100644
---- a/sambagtk/main.py
-+++ b/sambagtk/main.py
-@@ -550,11 +550,11 @@ def ParseArgs(argv):
-             arguments.update({"connect_now":True})
-     return (arguments)
--"""
-+
- if __name__ == "__main__":
-     arguments = ParseArgs(sys.argv[1:])
-     gtk.gdk.threads_init()
-     main_window = SambaUtilities(arguments)
-     sys.stdout = main_window #redirect print statements to the write() function of this class
-     gtk.main()
--"""
-+
-diff --git a/sambagtk/pygwshare.py b/sambagtk/pygwshare.py
-index 17c780a..c1c0551 100644
---- a/sambagtk/pygwshare.py
-+++ b/sambagtk/pygwshare.py
-@@ -808,7 +808,7 @@ class ShareWindow(gtk.Window):
-                     0x04000000:('SV_TYPE_CLUSTER_VS_NT','Virtual Server Cluster')
-                     }
--            label_data = server_typedict.get(self.server_info.server_type,('','Unknown'))[1]
-+            label_data = server_typedict.get(self.server_info.server_type,('','Multiple Capablities'))[1]
-             self.srvinfo_type_label.set_text(label_data)
-             self.srvinfo_upath_label.set_text(self.server_info.userpath.upper())
-             self.srvinfo_to_label.set_text(str(self.server_info.disc))
-@@ -1330,8 +1330,8 @@ class ShareWindow(gtk.Window):
-         # main window
-         self.set_title("Samba-Gtk Share Management Interface")
-         self.set_default_size(800, 600)
--        self.icon_filename = os.path.join(sys.path[0],"..", "images", "network.png")
--        self.share_icon_filename = os.path.join(sys.path[0],"..", "images", "network.png")
-+        self.icon_filename = os.path.join(sys.path[0], "images", "network.png")
-+        self.share_icon_filename = os.path.join(sys.path[0], "images", "network.png")
-         self.icon_pixbuf = gtk.gdk.pixbuf_new_from_file(self.icon_filename)
-         self.set_icon(self.icon_pixbuf)
-diff --git a/sambagtk/pysrvsvc.py b/sambagtk/pysrvsvc.py
-index d159201..e3baa82 100644
---- a/sambagtk/pysrvsvc.py
-+++ b/sambagtk/pysrvsvc.py
-@@ -75,7 +75,7 @@ class srvsvcConnectDialog(gtk.Dialog):
-         self.artwork = gtk.VBox()
--        self.samba_image_filename = os.path.join(sys.path[0],"..", 'images',
-+        self.samba_image_filename = os.path.join(sys.path[0],'images',
-                 'samba-logo-small.png')
-         self.samba_image = gtk.Image()
-         self.samba_image.set_from_file(self.samba_image_filename)
-@@ -378,7 +378,7 @@ class ShareAddEditDialog(gtk.Dialog):
-         self.icon_name = ["network-folder","network-printer",
-                             "network","network-pipe"][self.stype]
-         self.icon_filename = \
--        os.path.join(sys.path[0], "..","images",''.join([self.icon_name,'.png']))
-+        os.path.join(sys.path[0],"images",''.join([self.icon_name,'.png']))
-         self.set_icon_from_file(self.icon_filename)
-         self.vbox.set_spacing(3)
-         self.set_border_width(5)
-@@ -416,7 +416,7 @@ class ShareAddEditDialog(gtk.Dialog):
-         #vertical logo
-         vbox = gtk.VBox()
-         vbox.set_border_width(5)
--        samba_image_filename = os.path.join(sys.path[0],"..", 'images',
-+        samba_image_filename = os.path.join(sys.path[0],'images',
-                 'samba-logo-vertical.png')
-         samba_image = gtk.Image()
-         samba_image.set_from_file(samba_image_filename)
-@@ -649,7 +649,7 @@ class DeleteDialog(gtk.Dialog):
-         self.icon_name = ["network-folder","network-printer",
-                             "network","network-pipe"][self.stype]
-         self.icon_filename = \
--        os.path.join(sys.path[0],"..", "images",''.join([self.icon_name,'.png']))
-+        os.path.join(sys.path[0],"images",''.join([self.icon_name,'.png']))
-         self.set_icon_from_file(self.icon_filename)
-         self.vbox.set_spacing(3)
-         self.set_border_width(5)
-@@ -683,7 +683,7 @@ class DeleteDialog(gtk.Dialog):
-         #vertical logo
-         vbox = gtk.VBox()
-         vbox.set_border_width(5)
--        samba_image_filename = os.path.join(sys.path[0], "..",'images',
-+        samba_image_filename = os.path.join(sys.path[0],'images',
-                 'samba-logo-vertical.png')
-         samba_image = gtk.Image()
-         samba_image.set_from_file(samba_image_filename)
-@@ -835,7 +835,7 @@ class ShareWizardDialog(ShareAddEditDialog):
-         vbox = gtk.VBox()
-         vbox.set_border_width(5)
--        samba_image_filename = os.path.join(sys.path[0],"..", 'images',
-+        samba_image_filename = os.path.join(sys.path[0],'images',
-                 'samba-logo-small.png')
-         samba_image = gtk.Image()
-         samba_image.set_from_file(samba_image_filename)
-diff --git a/sambagtk/sam.py b/sambagtk/sam.py
-index 1844997..0c7fa3d 100644
---- a/sambagtk/sam.py
-+++ b/sambagtk/sam.py
-@@ -534,11 +534,32 @@ class SAMConnectDialog(gtk.Dialog):
-         self.set_border_width(5)
-         self.set_icon_name(gtk.STOCK_CONNECT)
-         self.set_resizable(False)
-+        self.set_decorated(True)
-         # server frame
-         self.vbox.set_spacing(5)
-+        self.artwork = gtk.VBox()
-+
-+        self.samba_image_filename = os.path.join(sys.path[0],"..", 'images',
-+                'samba-logo-small.png')
-+        self.samba_image = gtk.Image()
-+        self.samba_image.set_from_file(self.samba_image_filename)
-+        self.artwork.pack_start(self.samba_image, True, True, 0)
-+
-+        label = gtk.Label('Opening Windows to A Wider World')
-+        box = gtk.HBox()
-+        box.pack_start(label, True, True, 0)
-+        self.artwork.pack_start(box, True, True, 0)
-+
-+        label = gtk.Label('Samba Control Center')
-+        box = gtk.HBox()
-+        box.pack_start(label, True, True, 0)
-+        self.artwork.pack_start(box, True, True, 0)
-+
-+        self.vbox.pack_start(self.artwork, False, True, 0)
-+
-         self.server_frame = gtk.Frame("Server")
-         self.vbox.pack_start(self.server_frame, False, True, 0)
-
-commit 31d64c06bb4a9c23e4ccb0f9df0023d2fe0146da
-Author: Dhananjay Sathe <dhananjaysathe@gmail.com>
-Date:   Sat Aug 6 01:03:36 2011 +0530
-
-    integration complete
-
-diff --git a/sambagtk/dialogs.py b/sambagtk/dialogs.py
-index 3b6836f..ddb669b 100644
---- a/sambagtk/dialogs.py
-+++ b/sambagtk/dialogs.py
-@@ -2,6 +2,7 @@
- # 
- # Copyright (C) 2010 Sergio Martins <sergio97@gmail.com>
- # Copyright (C) 2011 Jelmer Vernooij <jelmer@samba.org>
-+# Copyright (C) 2011 Dhananjay Sathe <dhananjaysathe@gmail.com>
- #
- # This program is free software; you can redistribute it and/or modify
- # it under the terms of the GNU General Public License as published by
-@@ -32,7 +33,7 @@ class AboutDialog(gtk.AboutDialog):
-         self.set_name(name)
-         self.set_version(samba.version)
-         self.set_logo(icon)
--        self.set_copyright("Copyright \xc2\xa9 2010 Sergio Martins <Sergio97@gmail.com>")
-+        self.set_copyright("Copyright \xc2\xa9 2010 Sergio Martins <Sergio97@gmail.com> Copyright \xc2\xa9 2011 Dhananjay Sathe <dhananjaysathe@gmail.com>")
-         self.set_authors(["Sergio Martins <Sergio97@gmail.com>", "Calin Crisan <ccrisan@gmail.com>", "Dhananjay Sathe <dhananajaysathe@gmail.com>","Jelmer Vernooij <jelmer@samba.org>"])
-         self.set_comments(description)
-         self.set_wrap_license(True)
-diff --git a/sambagtk/main.glade b/sambagtk/main.glade
-index 8a11a69..9c88ad0 100644
---- a/sambagtk/main.glade
-+++ b/sambagtk/main.glade
-@@ -1,63 +1,85 @@
--<?xml version="1.0"?>
-+<?xml version="1.0" encoding="UTF-8"?>
- <interface>
-   <requires lib="gtk+" version="2.16"/>
--  <!-- interface-naming-policy project-wide -->
-+  <object class="GtkImage" id="image1">
-+    <property name="visible">True</property>
-+    <property name="can_focus">False</property>
-+    <property name="stock">gtk-missing-image</property>
-+  </object>
-+  <object class="GtkImage" id="image2">
-+    <property name="visible">True</property>
-+    <property name="can_focus">False</property>
-+    <property name="stock">gtk-clear</property>
-+  </object>
-   <object class="GtkWindow" id="main_window">
-+    <property name="can_focus">False</property>
-     <property name="window_position">center</property>
-     <property name="default_width">800</property>
-     <property name="default_height">600</property>
--    <signal name="destroy" handler="on_main_window_destroy"/>
--    <signal name="key_press_event" handler="on_main_window_key_press_event"/>
-+    <signal name="destroy" handler="on_main_window_destroy" swapped="no"/>
-+    <signal name="key-press-event" handler="on_main_window_key_press_event" swapped="no"/>
-     <child>
-       <object class="GtkVBox" id="vbox">
-         <property name="visible">True</property>
--        <property name="orientation">vertical</property>
-+        <property name="can_focus">False</property>
-         <child>
-           <object class="GtkViewport" id="menubar_viewport">
-             <property name="visible">True</property>
-+            <property name="can_focus">False</property>
-             <property name="resize_mode">queue</property>
-             <property name="shadow_type">none</property>
-             <child>
-               <object class="GtkMenuBar" id="menubar">
-                 <property name="visible">True</property>
-+                <property name="can_focus">False</property>
-                 <child>
-                   <object class="GtkMenuItem" id="menuitem">
-                     <property name="visible">True</property>
-+                    <property name="can_focus">False</property>
-+                    <property name="use_action_appearance">False</property>
-                     <property name="label" translatable="yes">_File</property>
-                     <property name="use_underline">True</property>
-                     <child type="submenu">
-                       <object class="GtkMenu" id="menu_file">
-                         <property name="visible">True</property>
-+                        <property name="can_focus">False</property>
-                         <child>
-                           <object class="GtkImageMenuItem" id="connect_all_item">
-                             <property name="label">gtk-connect</property>
-                             <property name="visible">True</property>
-+                            <property name="can_focus">False</property>
-+                            <property name="use_action_appearance">False</property>
-                             <property name="use_underline">True</property>
-                             <property name="use_stock">True</property>
--                            <signal name="activate" handler="on_connect_all_item_activate"/>
-+                            <signal name="activate" handler="on_connect_all_item_activate" swapped="no"/>
-                           </object>
-                         </child>
-                         <child>
-                           <object class="GtkImageMenuItem" id="disconnect_all_item">
-                             <property name="label">gtk-disconnect</property>
-                             <property name="visible">True</property>
-+                            <property name="can_focus">False</property>
-+                            <property name="use_action_appearance">False</property>
-                             <property name="use_underline">True</property>
-                             <property name="use_stock">True</property>
--                            <signal name="activate" handler="on_disconnect_all_item_activate"/>
-+                            <signal name="activate" handler="on_disconnect_all_item_activate" swapped="no"/>
-                           </object>
-                         </child>
-                         <child>
-                           <object class="GtkSeparatorMenuItem" id="separatormenuitem1">
-                             <property name="visible">True</property>
-+                            <property name="can_focus">False</property>
-                           </object>
-                         </child>
-                         <child>
-                           <object class="GtkImageMenuItem" id="quit_item">
-                             <property name="label">gtk-quit</property>
-                             <property name="visible">True</property>
-+                            <property name="can_focus">False</property>
-+                            <property name="use_action_appearance">False</property>
-                             <property name="use_underline">True</property>
-                             <property name="use_stock">True</property>
--                            <signal name="activate" handler="on_quit_item_activate"/>
-+                            <signal name="activate" handler="on_quit_item_activate" swapped="no"/>
-                           </object>
-                         </child>
-                       </object>
-@@ -67,18 +89,23 @@
-                 <child>
-                   <object class="GtkMenuItem" id="menuitem2">
-                     <property name="visible">True</property>
-+                    <property name="can_focus">False</property>
-+                    <property name="use_action_appearance">False</property>
-                     <property name="label" translatable="yes">_Edit</property>
-                     <property name="use_underline">True</property>
-                     <child type="submenu">
-                       <object class="GtkMenu" id="menu_edit">
-                         <property name="visible">True</property>
-+                        <property name="can_focus">False</property>
-                         <child>
-                           <object class="GtkImageMenuItem" id="clear_log_item">
-                             <property name="label">Clear Log</property>
-                             <property name="visible">True</property>
-+                            <property name="can_focus">False</property>
-+                            <property name="use_action_appearance">False</property>
-                             <property name="image">image2</property>
-                             <property name="use_stock">False</property>
--                            <signal name="activate" handler="on_clear_log_activate"/>
-+                            <signal name="activate" handler="on_clear_log_activate" swapped="no"/>
-                           </object>
-                         </child>
-                       </object>
-@@ -88,18 +115,23 @@
-                 <child>
-                   <object class="GtkMenuItem" id="menuitem3">
-                     <property name="visible">True</property>
-+                    <property name="can_focus">False</property>
-+                    <property name="use_action_appearance">False</property>
-                     <property name="label" translatable="yes">_View</property>
-                     <property name="use_underline">True</property>
-                     <child type="submenu">
-                       <object class="GtkMenu" id="menu_view">
-                         <property name="visible">True</property>
-+                        <property name="can_focus">False</property>
-                         <child>
-                           <object class="GtkImageMenuItem" id="connection_info_item">
-                             <property name="label">Connection Details</property>
-                             <property name="visible">True</property>
-+                            <property name="can_focus">False</property>
-+                            <property name="use_action_appearance">False</property>
-                             <property name="image">image1</property>
-                             <property name="use_stock">False</property>
--                            <signal name="activate" handler="on_connection_info_item_activate"/>
-+                            <signal name="activate" handler="on_connection_info_item_activate" swapped="no"/>
-                           </object>
-                         </child>
-                       </object>
-@@ -109,18 +141,23 @@
-                 <child>
-                   <object class="GtkMenuItem" id="menuitem4">
-                     <property name="visible">True</property>
-+                    <property name="can_focus">False</property>
-+                    <property name="use_action_appearance">False</property>
-                     <property name="label" translatable="yes">_Help</property>
-                     <property name="use_underline">True</property>
-                     <child type="submenu">
-                       <object class="GtkMenu" id="menu_help">
-                         <property name="visible">True</property>
-+                        <property name="can_focus">False</property>
-                         <child>
-                           <object class="GtkImageMenuItem" id="about_item">
-                             <property name="label">gtk-about</property>
-                             <property name="visible">True</property>
-+                            <property name="can_focus">False</property>
-+                            <property name="use_action_appearance">False</property>
-                             <property name="use_underline">True</property>
-                             <property name="use_stock">True</property>
--                            <signal name="activate" handler="on_about_item_activate"/>
-+                            <signal name="activate" handler="on_about_item_activate" swapped="no"/>
-                           </object>
-                         </child>
-                       </object>
-@@ -132,25 +169,30 @@
-           </object>
-           <packing>
-             <property name="expand">False</property>
-+            <property name="fill">True</property>
-             <property name="position">0</property>
-           </packing>
-         </child>
-         <child>
-           <object class="GtkViewport" id="toolbar_viewport">
-             <property name="visible">True</property>
-+            <property name="can_focus">False</property>
-             <property name="resize_mode">queue</property>
-             <property name="shadow_type">none</property>
-             <child>
-               <object class="GtkToolbar" id="toolbar">
-                 <property name="visible">True</property>
-+                <property name="can_focus">False</property>
-                 <child>
-                   <object class="GtkToolButton" id="connect_all_button">
-                     <property name="visible">True</property>
-+                    <property name="can_focus">False</property>
-+                    <property name="use_action_appearance">False</property>
-                     <property name="is_important">True</property>
-                     <property name="label" translatable="yes">Connect All</property>
-                     <property name="use_underline">True</property>
-                     <property name="stock_id">gtk-connect</property>
--                    <signal name="clicked" handler="on_connect_all_button_clicked"/>
-+                    <signal name="clicked" handler="on_connect_all_button_clicked" swapped="no"/>
-                   </object>
-                   <packing>
-                     <property name="expand">False</property>
-@@ -160,11 +202,13 @@
-                 <child>
-                   <object class="GtkToolButton" id="disconnect_all_button">
-                     <property name="visible">True</property>
-+                    <property name="can_focus">False</property>
-+                    <property name="use_action_appearance">False</property>
-                     <property name="is_important">True</property>
-                     <property name="label" translatable="yes">Disconnect All</property>
-                     <property name="use_underline">True</property>
-                     <property name="stock_id">gtk-disconnect</property>
--                    <signal name="clicked" handler="on_disconnect_all_button_clicked"/>
-+                    <signal name="clicked" handler="on_disconnect_all_button_clicked" swapped="no"/>
-                   </object>
-                   <packing>
-                     <property name="expand">False</property>
-@@ -174,6 +218,7 @@
-                 <child>
-                   <object class="GtkSeparatorToolItem" id="toolbutton3">
-                     <property name="visible">True</property>
-+                    <property name="can_focus">False</property>
-                   </object>
-                   <packing>
-                     <property name="expand">False</property>
-@@ -183,11 +228,13 @@
-                 <child>
-                   <object class="GtkToolButton" id="clear_log_button">
-                     <property name="visible">True</property>
-+                    <property name="can_focus">False</property>
-+                    <property name="use_action_appearance">False</property>
-                     <property name="is_important">True</property>
-                     <property name="label" translatable="yes">Clear Log</property>
-                     <property name="use_underline">True</property>
-                     <property name="stock_id">gtk-clear</property>
--                    <signal name="clicked" handler="on_clear_log_button_clicked"/>
-+                    <signal name="clicked" handler="on_clear_log_button_clicked" swapped="no"/>
-                   </object>
-                   <packing>
-                     <property name="expand">False</property>
-@@ -199,6 +246,7 @@
-           </object>
-           <packing>
-             <property name="expand">False</property>
-+            <property name="fill">True</property>
-             <property name="position">1</property>
-           </packing>
-         </child>
-@@ -207,28 +255,30 @@
-             <property name="visible">True</property>
-             <property name="can_focus">True</property>
-             <property name="tab_pos">left</property>
--            <property name="homogeneous">True</property>
--            <signal name="switch_page" handler="on_utility_notebook_switch_page"/>
-+            <signal name="switch-page" handler="on_utility_notebook_switch_page" swapped="no"/>
-             <child>
-               <object class="GtkViewport" id="launcher_viewport">
-                 <property name="visible">True</property>
-+                <property name="can_focus">False</property>
-                 <property name="resize_mode">queue</property>
-                 <property name="shadow_type">none</property>
-                 <child>
-                   <object class="GtkVBox" id="vbox2">
-                     <property name="visible">True</property>
--                    <property name="orientation">vertical</property>
-+                    <property name="can_focus">False</property>
-                     <child>
-                       <object class="GtkVBox" id="vbox3">
-                         <property name="visible">True</property>
-+                        <property name="can_focus">False</property>
-                         <property name="border_width">3</property>
--                        <property name="orientation">vertical</property>
-                         <child>
-                           <object class="GtkHBox" id="hbox1">
-                             <property name="visible">True</property>
-+                            <property name="can_focus">False</property>
-                             <child>
-                               <object class="GtkLabel" id="label1">
-                                 <property name="visible">True</property>
-+                                <property name="can_focus">False</property>
-                                 <property name="xalign">0</property>
-                                 <property name="yalign">0</property>
-                                 <property name="xpad">5</property>
-@@ -243,25 +293,32 @@
-                             <child>
-                               <object class="GtkLabel" id="server_label">
-                                 <property name="visible">True</property>
-+                                <property name="can_focus">False</property>
-                                 <property name="xalign">0</property>
-                                 <property name="yalign">0</property>
-                                 <property name="label" translatable="yes">Unknown</property>
-                               </object>
-                               <packing>
-+                                <property name="expand">True</property>
-+                                <property name="fill">True</property>
-                                 <property name="position">1</property>
-                               </packing>
-                             </child>
-                           </object>
-                           <packing>
-+                            <property name="expand">True</property>
-+                            <property name="fill">True</property>
-                             <property name="position">0</property>
-                           </packing>
-                         </child>
-                         <child>
-                           <object class="GtkHBox" id="hbox3">
-                             <property name="visible">True</property>
-+                            <property name="can_focus">False</property>
-                             <child>
-                               <object class="GtkLabel" id="label2">
-                                 <property name="visible">True</property>
-+                                <property name="can_focus">False</property>
-                                 <property name="xalign">0</property>
-                                 <property name="yalign">0</property>
-                                 <property name="xpad">5</property>
-@@ -276,25 +333,32 @@
-                             <child>
-                               <object class="GtkLabel" id="username_label">
-                                 <property name="visible">True</property>
-+                                <property name="can_focus">False</property>
-                                 <property name="xalign">0</property>
-                                 <property name="yalign">0</property>
-                                 <property name="label" translatable="yes">Unknown</property>
-                               </object>
-                               <packing>
-+                                <property name="expand">True</property>
-+                                <property name="fill">True</property>
-                                 <property name="position">1</property>
-                               </packing>
-                             </child>
-                           </object>
-                           <packing>
-+                            <property name="expand">True</property>
-+                            <property name="fill">True</property>
-                             <property name="position">1</property>
-                           </packing>
-                         </child>
-                         <child>
-                           <object class="GtkHBox" id="hbox2">
-                             <property name="visible">True</property>
-+                            <property name="can_focus">False</property>
-                             <child>
-                               <object class="GtkLabel" id="label3">
-                                 <property name="visible">True</property>
-+                                <property name="can_focus">False</property>
-                                 <property name="xalign">0</property>
-                                 <property name="yalign">0</property>
-                                 <property name="xpad">5</property>
-@@ -309,21 +373,27 @@
-                             <child>
-                               <object class="GtkLabel" id="status_label">
-                                 <property name="visible">True</property>
-+                                <property name="can_focus">False</property>
-                                 <property name="xalign">0</property>
-                                 <property name="label" translatable="yes">Unknown</property>
-                               </object>
-                               <packing>
-+                                <property name="expand">True</property>
-+                                <property name="fill">True</property>
-                                 <property name="position">1</property>
-                               </packing>
-                             </child>
-                           </object>
-                           <packing>
-+                            <property name="expand">True</property>
-+                            <property name="fill">True</property>
-                             <property name="position">2</property>
-                           </packing>
-                         </child>
-                       </object>
-                       <packing>
-                         <property name="expand">False</property>
-+                        <property name="fill">True</property>
-                         <property name="padding">5</property>
-                         <property name="position">0</property>
-                       </packing>
-@@ -332,8 +402,6 @@
-                       <object class="GtkScrolledWindow" id="scrolledwindow1">
-                         <property name="visible">True</property>
-                         <property name="can_focus">True</property>
--                        <property name="hscrollbar_policy">automatic</property>
--                        <property name="vscrollbar_policy">automatic</property>
-                         <property name="shadow_type">in</property>
-                         <child>
-                           <object class="GtkTextView" id="messages_textview">
-@@ -348,6 +416,8 @@
-                         </child>
-                       </object>
-                       <packing>
-+                        <property name="expand">True</property>
-+                        <property name="fill">True</property>
-                         <property name="position">1</property>
-                       </packing>
-                     </child>
-@@ -358,6 +428,7 @@
-             <child type="tab">
-               <object class="GtkLabel" id="lblServerOptions">
-                 <property name="visible">True</property>
-+                <property name="can_focus">False</property>
-                 <property name="label" translatable="yes">Server Options</property>
-               </object>
-               <packing>
-@@ -367,6 +438,7 @@
-             <child>
-               <object class="GtkViewport" id="sam_viewport">
-                 <property name="visible">True</property>
-+                <property name="can_focus">False</property>
-                 <property name="resize_mode">queue</property>
-                 <property name="shadow_type">none</property>
-                 <child>
-@@ -380,6 +452,7 @@
-             <child type="tab">
-               <object class="GtkLabel" id="lblUserManager">
-                 <property name="visible">True</property>
-+                <property name="can_focus">False</property>
-                 <property name="label" translatable="yes">User Manager</property>
-               </object>
-               <packing>
-@@ -388,7 +461,7 @@
-               </packing>
-             </child>
-             <child>
--              <object class="GtkViewport" id="regedit_viewport">
-+              <object class="GtkViewport" id="srvsvc_viewport">
-                 <property name="visible">True</property>
-                 <property name="resize_mode">queue</property>
-                 <property name="shadow_type">none</property>
-@@ -401,18 +474,45 @@
-               </packing>
-             </child>
-             <child type="tab">
-+              <object class="GtkLabel" id="lblShareManager">
-+                <property name="visible">True</property>
-+                <property name="can_focus">False</property>
-+                <property name="label" translatable="yes">Share Manager</property>
-+              </object>
-+              <packing>
-+                <property name="position">2</property>
-+                <property name="tab_fill">False</property>
-+              </packing>
-+            </child>
-+            <child>
-+              <object class="GtkViewport" id="regedit_viewport">
-+                <property name="visible">True</property>
-+                <property name="can_focus">False</property>
-+                <property name="resize_mode">queue</property>
-+                <property name="shadow_type">none</property>
-+                <child>
-+                  <placeholder/>
-+                </child>
-+              </object>
-+              <packing>
-+                <property name="position">3</property>
-+              </packing>
-+            </child>
-+            <child type="tab">
-               <object class="GtkLabel" id="lblRegEdit">
-                 <property name="visible">True</property>
-+                <property name="can_focus">False</property>
-                 <property name="label" translatable="yes">Registry Editor</property>
-               </object>
-               <packing>
--                <property name="position">2</property>
-+                <property name="position">3</property>
-                 <property name="tab_fill">False</property>
-               </packing>
-             </child>
-             <child>
-               <object class="GtkViewport" id="svcctl_viewport">
-                 <property name="visible">True</property>
-+                <property name="can_focus">False</property>
-                 <property name="resize_mode">queue</property>
-                 <property name="shadow_type">none</property>
-                 <child>
-@@ -420,22 +520,24 @@
-                 </child>
-               </object>
-               <packing>
--                <property name="position">3</property>
-+                <property name="position">4</property>
-               </packing>
-             </child>
-             <child type="tab">
-               <object class="GtkLabel" id="lblServicesManager">
-                 <property name="visible">True</property>
-+                <property name="can_focus">False</property>
-                 <property name="label" translatable="yes">Services Manager</property>
-               </object>
-               <packing>
--                <property name="position">3</property>
-+                <property name="position">4</property>
-                 <property name="tab_fill">False</property>
-               </packing>
-             </child>
-             <child>
-               <object class="GtkViewport" id="crontab_viewport">
-                 <property name="visible">True</property>
-+                <property name="can_focus">False</property>
-                 <property name="resize_mode">queue</property>
-                 <property name="shadow_type">none</property>
-                 <child>
-@@ -443,16 +545,17 @@
-                 </child>
-               </object>
-               <packing>
--                <property name="position">4</property>
-+                <property name="position">5</property>
-               </packing>
-             </child>
-             <child type="tab">
-               <object class="GtkLabel" id="lblTaskScheduler">
-                 <property name="visible">True</property>
-+                <property name="can_focus">False</property>
-                 <property name="label" translatable="yes">Task Scheduler</property>
-               </object>
-               <packing>
--                <property name="position">4</property>
-+                <property name="position">5</property>
-                 <property name="tab_fill">False</property>
-               </packing>
-             </child>
-@@ -464,14 +567,18 @@
-             </child>
-           </object>
-           <packing>
-+            <property name="expand">True</property>
-+            <property name="fill">True</property>
-             <property name="position">2</property>
-           </packing>
-         </child>
-         <child>
-           <object class="GtkHBox" id="statusbar_hbox">
-             <property name="visible">True</property>
-+            <property name="can_focus">False</property>
-             <child>
-               <object class="GtkProgressBar" id="progressbar">
-+                <property name="can_focus">False</property>
-                 <property name="fraction">0.5</property>
-               </object>
-               <packing>
-@@ -483,27 +590,23 @@
-             <child>
-               <object class="GtkStatusbar" id="statusbar">
-                 <property name="visible">True</property>
-+                <property name="can_focus">False</property>
-                 <property name="spacing">2</property>
-               </object>
-               <packing>
-+                <property name="expand">True</property>
-+                <property name="fill">True</property>
-                 <property name="position">1</property>
-               </packing>
-             </child>
-           </object>
-           <packing>
-             <property name="expand">False</property>
-+            <property name="fill">True</property>
-             <property name="position">3</property>
-           </packing>
-         </child>
-       </object>
-     </child>
-   </object>
--  <object class="GtkImage" id="image1">
--    <property name="visible">True</property>
--    <property name="stock">gtk-missing-image</property>
--  </object>
--  <object class="GtkImage" id="image2">
--    <property name="visible">True</property>
--    <property name="stock">gtk-clear</property>
--  </object>
- </interface>
-diff --git a/sambagtk/main.py b/sambagtk/main.py
-index 7cb7155..d96b684 100644
---- a/sambagtk/main.py
-+++ b/sambagtk/main.py
-@@ -11,6 +11,9 @@ import gtk.glade
- import os.path
- import getopt
-+sys.path.append('/usr/local/samba/lib/python2.7/site-packages/')
-+
-+
- import pygwsam
- import pygwregedit
- import pygwcrontab
-@@ -100,6 +103,7 @@ class SambaUtilities(object):
-         self.svcctl_viewport = builder.get_object("svcctl_viewport")
-         self.crontab_viewport = builder.get_object("crontab_viewport")
-         self.regedit_viewport = builder.get_object("regedit_viewport")
-+        self.srvsvc_viewport = builder.get_object("srvsvc_viewport")
-         self.progressbar = builder.get_object("progressbar")
-         self.statusbar = builder.get_object("statusbar")
-@@ -124,6 +128,24 @@ class SambaUtilities(object):
-         self.set_status("User tab initialized.")
-         self.update_sensitivity()
-+        
-+    def init_srvsvc_page(self):
-+
-+        args = self.connection_args.copy()
-+        if self.additional_connection_args.has_key("info_callback"):
-+            args.update({"info_callback":self.additional_connection_args["info_callback"]})
-+
-+        self.srvsvc_window = pygwshare.ShareWindow(**args) #start up the utility
-+        self.srvsvc_window.share_notebook.reparent(self.srvsvc_viewport) #reparent the main widget into a notebook tab
-+        self.srvsvc_viewport.show_all() #unhide all widgets
-+
-+        #We'll be displaying this later. We need to unparent it before attaching it to another container
-+        #self.srvsvc_window.menubar.unparent()
-+        #self.srvsvc_window.toolbar.unparent()
-+        self.srvsvc_window.statusbar = self.statusbar #we simply tell the utility to use our status bar instead
-+
-+        self.set_status("Share Manager tab initialized.")
-+        self.update_sensitivity()
-     def init_regedit_page(self):
-         args = self.connection_args.copy()
-@@ -177,7 +199,10 @@ class SambaUtilities(object):
-     def regedit_initialized(self):
-         return self.regedit_window is not None
--
-+    
-+    def srvsvc_initialized (self):
-+        return self.srvsvc_window is not None
-+        
-     def svcctl_initialized(self):
-         return self.svcctl_window is not None
-@@ -186,11 +211,12 @@ class SambaUtilities(object):
-     def update_sensitivity(self):
-         sam_connected = self.sam_initialized() and self.sam_window.connected()
-+        srvsvc_connected = self.srvsvc_initialized() and self.srvsvc_window.connected()
-         regedit_connected = self.regedit_initialized() and self.regedit_window.connected()
-         svcctl_connected = self.svcctl_initialized() and self.svcctl_window.connected()
-         crontab_connected = self.crontab_initialized() and self.crontab_window.connected()
--        all_connected = sam_connected and regedit_connected and svcctl_connected and crontab_connected
--        all_disconnected = (not sam_connected) and (not regedit_connected) and (not svcctl_connected) and (not crontab_connected)
-+        all_connected = sam_connected and regedit_connected and svcctl_connected and crontab_connected and srvsvc_connected
-+        all_disconnected = (not sam_connected) and (not regedit_connected) and (not svcctl_connected) and (not crontab_connected) and (not srvsvc_connected)
-         self.connect_all_button.set_sensitive(not all_connected)
-         self.disconnect_all_button.set_sensitive(not all_disconnected)
-@@ -207,6 +233,8 @@ class SambaUtilities(object):
-             connected_utilities = []
-             if sam_connected:
-                 connected_utilities.append("User Manager")
-+            if srvsvc_connected:
-+                connected_utilities.append("Share Manager")
-             if regedit_connected:
-                 connected_utilities.append("Registry Editor")
-             if svcctl_connected:
-@@ -303,10 +331,12 @@ class SambaUtilities(object):
-         if current_page == 1:
-             self.sam_window.on_key_press(widget, event)
-         elif current_page == 2:
--            self.regedit_window.on_key_press(widget, event)
-+            self.srvsvc_window.on_key_press(widget, event)
-         elif current_page == 3:
--            self.svcctl_window.on_key_press(widget, event)
-+            self.regedit_window.on_key_press(widget, event)
-         elif current_page == 4:
-+            self.svcctl_window.on_key_press(widget, event)
-+        elif current_page == 5:
-             self.crontab_window.on_key_press(widget, event)
-     def on_utility_notebook_switch_page(self, widget, page, page_num):
-@@ -341,7 +371,28 @@ class SambaUtilities(object):
-             self.toolbar_viewport.add(self.sam_window.toolbar)
-             self.toolbar_viewport.show_all()
--        elif page_num == 2: #Regedit page
-+
-+        elif page_num == 2: #Share page
-+            if self.srvsvc_viewport.child == None:
-+                self.init_srvsvc_page()
-+
-+            #Menubar
-+            children = self.menubar_viewport.get_children()
-+            self.menubar_viewport.remove(children[0])
-+            self.srvsvc_window.menubar.reparent(self.menubar_viewport)
-+            #self.menubar_viewport.add(self.srvsvc_window.menubar)
-+            self.menubar_viewport.show_all()
-+
-+            #Toolbar
-+            children = self.toolbar_viewport.get_children() 
-+            self.toolbar_viewport.remove(children[0])
-+            self.srvsvc_window.toolbar.unparent()
-+            self.toolbar_viewport.add(self.srvsvc_window.toolbar)
-+            self.toolbar_viewport.show_all()
-+            
-+            self.srvsvc_window.hide()
-+            
-+        elif page_num == 3: #Regedit page
-             if self.regedit_viewport.child == None:
-                 self.init_regedit_page()
-@@ -357,7 +408,7 @@ class SambaUtilities(object):
-             self.toolbar_viewport.add(self.regedit_window.toolbar)
-             self.toolbar_viewport.show_all()
--        elif page_num == 3: #Services page
-+        elif page_num == 4: #Services page
-             if self.svcctl_viewport.child == None:
-                 self.init_svcctl_page()
-@@ -373,7 +424,7 @@ class SambaUtilities(object):
-             self.toolbar_viewport.add(self.svcctl_window.toolbar)
-             self.toolbar_viewport.show_all()
--        elif page_num == 4: #Crontab page
-+        elif page_num == 5: #Crontab page
-             if self.crontab_viewport.child == None:
-                 self.init_crontab_page()
-@@ -399,6 +450,12 @@ class SambaUtilities(object):
-                     self.sam_window.on_connect_item_activate(None, **self.connection_args)
-             else:
-                 self.init_sam_page()
-+            
-+            if self.srvsvc_initialized():
-+                if not self.srvsvc_window.connected():
-+                    self.srvsvc_window.on_connect_item_activate(None, **self.connection_args)
-+            else:
-+                self.init_srvsvc_page()
-             if self.regedit_initialized():
-                 if not self.regedit_window.connected():
-@@ -425,6 +482,8 @@ class SambaUtilities(object):
-     def on_disconnect_all_button_clicked(self, widget):
-         if self.sam_initialized():
-             self.sam_window.on_disconnect_item_activate(None)
-+        if self.srvsvc_initialized():
-+            self.srvsvc_window.on_disconnect_item_activate(None)
-         if self.regedit_initialized():
-             self.regedit_window.on_disconnect_item_activate(None)
-         if self.svcctl_initialized():
-@@ -491,10 +550,11 @@ def ParseArgs(argv):
-             arguments.update({"connect_now":True})
-     return (arguments)
--
-+"""
- if __name__ == "__main__":
-     arguments = ParseArgs(sys.argv[1:])
-     gtk.gdk.threads_init()
-     main_window = SambaUtilities(arguments)
-     sys.stdout = main_window #redirect print statements to the write() function of this class
-     gtk.main()
-+"""
-diff --git a/sambagtk/pygwshare.py b/sambagtk/pygwshare.py
-index a72956a..17c780a 100644
---- a/sambagtk/pygwshare.py
-+++ b/sambagtk/pygwshare.py
-@@ -860,7 +860,7 @@ class ShareWindow(gtk.Window):
-             "A tool to manage user shares on a SRVS Share server.\n"
-             "Based on Jelmer Vernooij's original Samba-GTK",
-             self.icon_pixbuf)
--        dialog.set_copyright("Copyright \xc2\xa9 2011 Dhananjay Sathe <dhananjaysathe@gmail.com>")
-+        #dialog.set_copyright("Copyright \xc2\xa9 2011 Dhananjay Sathe <dhananjaysathe@gmail.com>")
-         dialog.run()
-         dialog.hide()
-@@ -1334,15 +1334,14 @@ class ShareWindow(gtk.Window):
-         self.share_icon_filename = os.path.join(sys.path[0],"..", "images", "network.png")
-         self.icon_pixbuf = gtk.gdk.pixbuf_new_from_file(self.icon_filename)
-         self.set_icon(self.icon_pixbuf)
--        self.set_position(gtk.WIN_POS_CENTER)
-         accel_group = gtk.AccelGroup()
--        self.vbox = gtk.VBox(False, 0)
--        self.add(self.vbox)
-+        vbox = gtk.VBox(False, 0)
-+        self.add(vbox)
-         # menu
-         self.menubar = gtk.MenuBar()
--        self.vbox.pack_start(self.menubar, False, False, 0)
-+        vbox.pack_start(self.menubar, False, False, 0)
-         self.file_item = gtk.MenuItem("_File")
-         self.menubar.add(self.file_item)
-@@ -1412,7 +1411,7 @@ class ShareWindow(gtk.Window):
-         # toolbar
-         self.toolbar = gtk.Toolbar()
--        self.vbox.pack_start(self.toolbar, False, False, 0)
-+        vbox.pack_start(self.toolbar, False, False, 0)
-         self.connect_button = gtk.ToolButton(gtk.STOCK_CONNECT)
-         self.connect_button.set_is_important(True)
-@@ -1454,7 +1453,7 @@ class ShareWindow(gtk.Window):
-         #share-page
-         self.share_notebook = gtk.Notebook()
--        self.vbox.pack_start(self.share_notebook, True, True, 0)
-+        vbox.pack_start(self.share_notebook, True, True, 0)
-         main_hbox = gtk.HBox()
-         self.share_notebook.append_page(main_hbox, gtk.Label("Share Management"))
-@@ -1689,7 +1688,7 @@ class ShareWindow(gtk.Window):
-         self.statusbar = gtk.Statusbar()
-         self.statusbar.set_has_resize_grip(True)
--        self.vbox.pack_start(self.statusbar, False, False, 0)
-+        vbox.pack_start(self.statusbar, False, False, 0)
-         # signals/events
-diff --git a/sambagtk/pysrvsvc.py b/sambagtk/pysrvsvc.py
-index 22fd5ef..d159201 100644
---- a/sambagtk/pysrvsvc.py
-+++ b/sambagtk/pysrvsvc.py
-@@ -961,7 +961,7 @@ class ShareWizardDialog(ShareAddEditDialog):
-             self.fields_box.show_all()
--        if self.page == 1:
-+        elif self.page == 1:
-             self.title_label.set_markup('<b>Name and Password</b>')
-             self.info_label.set_text('Please enter a valid name and password (optional) for your share.')
-             self.prev_button.set_sensitive(True)
-@@ -993,7 +993,7 @@ class ShareWizardDialog(ShareAddEditDialog):
-             self.fields_box.show_all()
--        if self.page == 2:
-+        elif self.page == 2:
-             self.title_label.set_markup('<b>Comment and Max Users </b>')
-             self.info_label.set_text('Please enter a  comment(optional) and select max users')
-             self.prev_button.set_sensitive(True)
-@@ -1022,7 +1022,7 @@ class ShareWizardDialog(ShareAddEditDialog):
-             self.fields_box.pack_start(table,False,True,0)
-             self.fields_box.show_all()
--        if self.page == 3:
-+        elif self.page == 3:
-             self.title_label.set_markup('<b>Share Type Options</b>')
-             self.info_label.set_text('Please select your share type options.')
-             self.prev_button.set_sensitive(True)
-@@ -1076,7 +1076,7 @@ class ShareWizardDialog(ShareAddEditDialog):
--        if self.page == 4:
-+        else :
-             self.title_label.set_markup('<b>Path</b>')
-             if self.islocal:
-                 self.info_label.set_text('Please select a valid path.')
-
-commit aca6211e2409a908333091951159a8ed284e94d3
-Author: Dhananjay Sathe <dhananjaysathe@gmail.com>
-Date:   Wed Aug 3 20:28:07 2011 +0530
-
-    fields validate fixed , now handles both wizard and dialog
-
-diff --git a/sambagtk/pygwshare.py b/sambagtk/pygwshare.py
-index 1cc264e..a72956a 100644
---- a/sambagtk/pygwshare.py
-+++ b/sambagtk/pygwshare.py
-@@ -211,12 +211,12 @@ class srvsvcPipeManager(object):
-             if os.path.exists(path):
-                 path = os.path.realpath(path)  # gets canonical path
-             else:
--                raise OSError
-+                raise OSError("Path does not exist !")
--            if path.startswith('/'):
--                path = path.replace('/', '\\')
--                path = ''.join(['C:',path])
--                path = unicode(path)
-+        if path.startswith('/'):
-+            path = path.replace('/', '\\')
-+            path = ''.join(['C:',path])
-+            path = unicode(path)
-         return path
-diff --git a/sambagtk/pysrvsvc.py b/sambagtk/pysrvsvc.py
-index 2c65b52..22fd5ef 100644
---- a/sambagtk/pysrvsvc.py
-+++ b/sambagtk/pysrvsvc.py
-@@ -270,15 +270,20 @@ class ShareAddEditDialog(gtk.Dialog):
-     def validate_fields(self):
--        if len(self.sname) == 0:
-+        if type(self) is ShareAddEditDialog :
-+            name = self.share_name_entry.get_text()
-+        elif type(self) is ShareWizardDialog :
-+            name = self.sname
-+
-+        if len(name) == 0:
-             return "Share name may not be empty!"
--        if not self.pipe.name_validate(self.sname):
-+        if not self.pipe.name_validate(name):
-             return "Invalid Share name"
-         if (not self.edit_mode):
-             for share in self.pipe.share_list:
--                if share.name == self.share_name_entry.get_text():
-+                if share.name == name:
-                     return ' '.join(["A Share with the name : ", share.name ,"already exists!"])
-         return None
-
-commit c8b9a88c9ab45a7ce6badc2cc44066176729a759
-Author: Dhananjay Sathe <dhananjaysathe@gmail.com>
-Date:   Wed Aug 3 07:34:55 2011 +0530
-
-    wizard history fixup , custom collects
-
-diff --git a/sambagtk/pygwshare.py b/sambagtk/pygwshare.py
-index efbc19b..1cc264e 100644
---- a/sambagtk/pygwshare.py
-+++ b/sambagtk/pygwshare.py
-@@ -984,7 +984,8 @@ class ShareWindow(gtk.Window):
-     def on_new_item_activate(self, widget,wizard_mode=False):
-         share = self.run_share_add_edit_dialog(wizard_mode=wizard_mode)
--        #print share.type TODO cleanup post debug
-+        #TODO cleanup Debug
-+        #print share.name,share.comment,share.password,str(share.type),str(share.max_users),share.path
-         if share is None:
-             self.set_status("Share creation canceled.")
-             return
-diff --git a/sambagtk/pysrvsvc.py b/sambagtk/pysrvsvc.py
-index 7a02769..2c65b52 100644
---- a/sambagtk/pysrvsvc.py
-+++ b/sambagtk/pysrvsvc.py
-@@ -270,7 +270,7 @@ class ShareAddEditDialog(gtk.Dialog):
-     def validate_fields(self):
--        if len(self.share_name_entry.get_text()) == 0:
-+        if len(self.sname) == 0:
-             return "Share name may not be empty!"
-         if not self.pipe.name_validate(self.sname):
-@@ -962,8 +962,8 @@ class ShareWizardDialog(ShareAddEditDialog):
-             self.prev_button.set_sensitive(True)
-             self.next_button.set_sensitive(True)
-             self.ok_button.set_sensitive(False)
--            if self.name is not None:
--                self.share_name_entry.set_text(self.name)
-+            if self.sname is not None:
-+                self.share_name_entry.set_text(self.sname)
-             if self.password is not None:
-                 self.share_comment_entry.set_text(self.password)
-@@ -1114,3 +1114,40 @@ class ShareWizardDialog(ShareAddEditDialog):
-             self.fields_box.pack_start(table,False,True,0)
-             self.fields_box.show_all()
-+
-+    def collect_fields (self):
-+        """ Custom collect fields from the GUI and saves in class variables which is page specific. """
-+        if self.page == 0:
-+            pass
-+
-+        elif self.page == 1 :
-+            self.sname = self.share_name_entry.get_text()
-+            self.password = self.share_password_entry.get_text()
-+
-+
-+        elif self.page == 2:
-+            self.comment = self.share_comment_entry.get_text()
-+            self.max_users = self.max_users_spinbox.get_value_as_int()
-+
-+        elif self.page ==3 :
-+            # Now to handle the share type resolution
-+            if self.stype_disktree_radio_button.get_active() :
-+                self.stype = srvsvc.STYPE_DISKTREE
-+            elif self.stype_printq_radio_button.get_active() :
-+                self.stype = srvsvc.STYPE_PRINTQ
-+            else:
-+                self.stype = srvsvc.STYPE_IPC
-+            # check flags
-+            self.flags = [False,False]
-+            if self.sflag_temp_check_button.get_active():
-+                self.flags[0] = True
-+            if self.sflag_hidden_check_button.get_active():
-+                self.flags[1] = True
-+
-+        else :
-+            if self.islocal :
-+                self.path = self.file_button.get_filename()
-+            else:
-+                self.path = self.path_entry.get_text()
-+
-+