ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/ns_dev/Python/learning/IntranetCOM.py
Revision: 8
Committed: Sat May 5 04:21:19 2012 UTC (13 years, 10 months ago) by ninoborges
Content type: text/x-python
Original Path: Python/NinoCode/learning/IntranetCOM.py
File size: 2391 byte(s)
Log Message:
Initial Import

File Contents

# User Rev Content
1 ninoborges 8 ## This program will be a com server to the McGuireWoods intranet Firm Dir.
2     ## It will allow for basic IO manipulation. E.i. Setting network shares, Assigning
3     ## network printers...
4     #Eaborges
5     #06.15.02
6    
7     import os
8     from win32net import NetUseGetInfo, NetUseAdd, NetUseDel, NetUseEnum
9    
10     class ShareControll:
11     #_public_methods_ = ['QueryDrive','MapDrive','DeleteDrive','SplitString']
12     _public_methods_ = ['SplitString']
13     _reg_progid_ = "PythonDemos.MW_COM"
14     _reg_clsid_ = "{1CBECF27-89E4-4E5A-928B-92E11B11B0A9}"
15     def MapDrive(self, letter, share):
16     try:
17     share = u'%s'%share
18     letter = u'%s'%letter
19     NetUseAdd(None,1,{'remote': share, 'local': letter})
20     status = "sucess"
21     except:
22     status = "fail"
23     return status
24    
25     def DeleteDrive(self, letter):
26     try:
27     NetUseDel(None,letter)
28     status = "sucess"
29     except:
30     status = "fail"
31     return status
32    
33     def QueryDrive(self, letter):
34     try:
35     query = NetUseGetInfo(None,letter)
36     except:
37     query = "Drive not in use"
38     return query
39    
40     def SplitString(self, val, item=None):
41     import string
42     if item != None: item = str(item)
43     return string.split(str(val), item)
44    
45     if __name__ == "__main__":
46     #os.system('cls')
47     #print "What would you like to do?"
48     #print "1. Query a drive mapping."
49     #print "2. Delete a drive mapping."
50     #print "3. Add a new drive mapping."
51     #print "4. Add a printer mapping."
52     #print
53     #menuSelect = raw_input(">>? ")
54     #if menuSelect == "1":
55     # test = raw_input("give me a letter: ")
56     # print ShareControll.QueryDrive(test)['remote']
57     #if menuSelect == "2":
58     # remove = raw_input("What drive would you like to remove? ")
59     # print ShareControll.DeleteDrive(remove)
60     # print remove,"has now been deleted."
61     #if menuSelect == "3":
62     # drive = raw_input("give me a letter: ")
63     # share = raw_input("Now what share would you like to give it? ")
64     # print ShareControll.MapDrive(drive,share)
65     #else:
66     # print "Sorry that option is not yet avalible..."
67     print "Registering COM server..."
68     import win32com.server.register
69     win32com.server.register.UseCommandLine(ShareControll)