svn commit: samba r16041 - in branches/SOC/bnh: . include

brad at samba.org brad at samba.org
Sun Jun 4 21:19:22 GMT 2006


Author: brad
Date: 2006-06-04 21:19:22 +0000 (Sun, 04 Jun 2006)
New Revision: 16041

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=16041

Log:
Added a constant for ERROR_PATH_NOT_FOUND to include\common.vbs, and moved NEW_WINDOW_MINIMIZED from smb_addshare.wsh and smb_delshare.wsh.
Created include\fs_common.vbs with functions for creating and removing directories.
smb_addshare.wsh and smb_delshare.wsh have been updated to find common.vbs and fs_common.vbs in include\, and use the new fs_common.vbs create_directory and delete_directory functions.


Added:
   branches/SOC/bnh/include/fs_common.vbs
Modified:
   branches/SOC/bnh/include/common.vbs
   branches/SOC/bnh/smb_addshare.wsf
   branches/SOC/bnh/smb_delshare.wsf


Changeset:
Modified: branches/SOC/bnh/include/common.vbs
===================================================================
--- branches/SOC/bnh/include/common.vbs	2006-06-04 20:42:12 UTC (rev 16040)
+++ branches/SOC/bnh/include/common.vbs	2006-06-04 21:19:22 UTC (rev 16041)
@@ -11,6 +11,8 @@
 
 const READ_ONLY = 1
 
+const ERROR_PATH_NOT_FOUND = 76
+
 ' We don't have WMI or ADSI extended errors in VBScript.
 ' To figure them out, take the last 4 digits of the hex error code,
 ' and convert them to an integer. Then search for that integer
@@ -19,6 +21,8 @@
 const ADSI_ERROR_DS_NO_SUCH_OBJECT	= "80072030" ' PlatformSDK WinError.h
 const LM_NERR_PasswordTooShort		= "800708C5" ' PlatformSDK LMErr.h
 
+const NEW_WINDOW_MINIMIZED = 7
+
 set stdout = wscript.stdout
 set stdin = wscript.stdin
 
@@ -82,4 +86,3 @@
         set file = nothing
         set fileSystemObject = nothing
 end function
-

Added: branches/SOC/bnh/include/fs_common.vbs
===================================================================
--- branches/SOC/bnh/include/fs_common.vbs	2006-06-04 20:42:12 UTC (rev 16040)
+++ branches/SOC/bnh/include/fs_common.vbs	2006-06-04 21:19:22 UTC (rev 16041)
@@ -0,0 +1,47 @@
+' A VBScript providing some common library functions for performing
+' filesystem activities.
+' Copyright Brad Henry <brad at samba.org> 2006
+' Released under the GNU GPL v2 or later.
+
+' Don't halt on runtime errors, we will catch them.
+on error resume next
+
+public function create_directory(pathname)
+	on error resume next
+	
+	set fileSystemObject = createObject("scripting.fileSystemObject")
+	set folder = fileSystemObject.createFolder(pathname)
+
+	if err.number <> 0 then
+		stdout.writeline "Unhandled error occurred while " _
+			& "creating directory " & pathname & "."
+		report_error
+		wscript.quit(err.number)
+	end if
+	stdout.writeline "Directory " & pathname & " created."
+	create_directory = err.number
+end function
+
+public function delete_directory(pathname)
+	on error resume next
+
+	set fileSystemObject = createObject("scripting.fileSystemObject")
+
+	fileSystemObject.deleteFolder(pathname)
+	if err.number <> 0 then
+		if err.number = ERROR_PATH_NOT_FOUND then
+			stdout.writeline "Directory " & pathname  _
+				& " does not exist."
+			report_error
+		else
+			stdout.writeline "An unhandled error occurred " _
+				& "while removing the directory " & pathname _
+				& "."
+			report_error
+			wscript.quit(err.number)
+		end if
+	else
+		stdout.writeline "Directory " & pathname & " removed."
+	end if
+	delete_directory = err.number
+end function

Modified: branches/SOC/bnh/smb_addshare.wsf
===================================================================
--- branches/SOC/bnh/smb_addshare.wsf	2006-06-04 20:42:12 UTC (rev 16040)
+++ branches/SOC/bnh/smb_addshare.wsf	2006-06-04 21:19:22 UTC (rev 16041)
@@ -1,43 +1,30 @@
 <package>
 <job id=smb_addshare>
-<script language="VBScript" src="common.vbs">
+<script language="VBScript" src="include\common.vbs">
 
 ' A windows script (.wsf) to add a shared directory, written in VBScript.
 ' Copyright Brad Henry <brad at samba.org> 2006
 ' Released under the GNU GPL v2 or later.
 
+execute include("include\fs_common.vbs")
+
 const USAGE_STATEMENT = "Usage: cscript smb_addshare.vbs /username:<username> /sharename:<share name> /sharepath:<share path>"
 
 function setup_dir(username, sharename, sharepath)
 
 	on error resume next
 
-	stdout.writeline(sharepath)
-
 	' Check to see if the directory exists. If it does, delete it.
 	set fileSystemObject = createObject("scripting.fileSystemObject")
 	if fileSystemObject.folderExists(sharepath) then
 		stdout.writeline "Directory " & sharepath & " exists."
-		fileSystemObject.deleteFolder(sharepath)
-		if err.number <> 0 then
-			stdout.writeline "Unhandled error occurred while " _
-				& "removing directory " & sharepath & "."
-			report_error
-			wscript.quit(err.number)
-		end if
-		stdout.writeline "Directory " & sharepath & " removed."
+		delete_directory sharepath
 	end if
 
 	' Create the directory to share.
-	set folder = fileSystemObject.createFolder(sharepath)
-	if err.number <> 0 then
-		stdout.writeline "Unhandled error occurred while " _
-			& "creating directory " & sharepath & "."
-		report_error
-		wscript.quit(err.number)
-	end if
-	stdout.writeline "Directory " & sharepath & " created."
+	create_directory sharepath
 	
+	' If the share exists, remove it.	
 	local_machine = "."
 	set shares_list = getObject("WinNT://" & local_machine _
 		& "/LanmanServer,FileService")

Modified: branches/SOC/bnh/smb_delshare.wsf
===================================================================
--- branches/SOC/bnh/smb_delshare.wsf	2006-06-04 20:42:12 UTC (rev 16040)
+++ branches/SOC/bnh/smb_delshare.wsf	2006-06-04 21:19:22 UTC (rev 16041)
@@ -1,13 +1,14 @@
 <package>
 <job id=smb_delshare>
-<script language="VBScript" src="common.vbs">
+<script language="VBScript" src="include\common.vbs">
 
 ' A windows script (.wsf) to remove a shared directory, written in VBScript.
 ' Copyright Brad Henry <brad at samba.org> 2006
 ' Released under the GNU GPL v2 or later.
 
+execute include("include\fs_common.vbs")
+
 const USAGE_STATEMENT =  "Usage: cscript smb_delshare.vbs /sharename:<share name> /sharepath:<share path>"
-const NEW_WINDOW_MINIMIZED = 7
 
 on error resume next
 
@@ -41,15 +42,7 @@
 end if
 
 ' Delete the directory.
-set fileSystemObject = createObject("scripting.fileSystemObject")
-fileSystemObject.deleteFolder(pathname)
-if err.number <> 0 then
-	stdout.writeline "An unhandled error occurred while removing " _
-		& "the directory " & pathname  & "."
-	report_error
-	wscript.quit(err.number)
-end if
-stdout.writeline "Directory " & pathname & " removed."
+delete_directory pathname
 
 </script>
 </job>



More information about the samba-cvs mailing list