How to get ip setting, dynamic ip or static ip?

2006-09-21 Thread kode4u
How to use python get my windows box's ip setting type? Dynamic ip, or
static ip?

If it's static ip, what's the exact value?

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to get ip setting, dynamic ip or static ip?

2006-09-21 Thread kode4u
The way has one shortcoming. That's it depend on the proper language
version of Windows. If I'm using Simplified Chinese Windows, I must
modify some strings.
:(

Duncan Booth wrote:
> "kode4u" <[EMAIL PROTECTED]> wrote:
>
> > How to use python get my windows box's ip setting type? Dynamic ip, or
> > static ip?
> >
> > If it's static ip, what's the exact value?
> >
> Here's one way:
>
> def ipinfo(interface="Local Area Connection"):
>   dhcpenabled = False
>   staticip = None
>   subnetmask = None
>   for l in os.popen('netsh interface ip show address "%s"' % interface):
>   l = l.strip()
>   if l.startswith('DHCP enabled'):
>   dhcpenabled = l.endswith('Yes')
>   if l.startswith("IP Address"):
>   staticip = l.rsplit(None,1)[-1]
>   if l.startswith("SubnetMask"):
>   subnetmask = l.rsplit(None,1)[-1]
>   return dhcpenabled, staticip, subnetmask
>
> >>> ipinfo()
> (True, None, None)
> >>> ipinfo("VMware Network Adapter VMnet1")
> (False, '192.168.126.1', '255.255.255.0')

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to get ip setting, dynamic ip or static ip?

2006-09-27 Thread kode4u
There are some errors in result:
>>> import win32com.client
>>> wmi=win32com.client.GetObject('winmgmts:')
>>> adapters=wmi.InstancesOf('Win32_NetworkAdapterConfiguration')
>>> for adapter in adapters:
... print adapter.Properties_['Caption'],
adapter.Properties_['DhcpEnabled'], adapter.Properties_['IpAddress']
...
[0001] Realtek RTL8139 Family PCI Fast Ethernet NIC True
(u'169.254.52.213',)
Traceback (most recent call last):
  File "", line 2, in 
  File "C:\Python25\Lib\site-packages\win32com\client\dynamic.py", line
187, in __str__
return str(self.__call__())
UnicodeEncodeError: 'ascii' codec can't encode characters in position
15-19: ordinal not in range(128)

How to deal with it?



Roger Upole wrote:
> "kode4u" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
> > How to use python get my windows box's ip setting type? Dynamic ip, or
> > static ip?
> >
> > If it's static ip, what's the exact value?
> >
>
> You can use WMI to list properties of your network adapter(s):
> import win32com.client
> wmi=win32com.client.GetObject('winmgmts:')
> adapters=wmi.InstancesOf('Win32_NetworkAdapterConfiguration')
> for adapter in adapters:
> print adapter.Properties_['Caption'], adapter.Properties_['DhcpEnabled'], 
> adapter.Properties_['IpAddress']
>
>Roger
>
>
>
>
> == Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet 
> News==
> http://www.newsfeeds.com The #1 Newsgroup Service in the World! >100,000 
> Newsgroups
> ---= East/West-Coast Server Farms - Total Privacy via Encryption =---

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to get ip setting, dynamic ip or static ip?

2006-09-28 Thread kode4u
Thank you very much.

Does the wmi object can modify the ip address?

Roger Upole wrote:
> This means the unicode object contains characters that
> can't be represented in the default encoding.  Try encoding it
> in another character set, something like
>
> adapter.Properties_['Caption'].Value.encode('mbcs')
> (you may need to use a different codec)
>
>   Roger
>
>
> "kode4u" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
> > There are some errors in result:
> >>>> import win32com.client
> >>>> wmi=win32com.client.GetObject('winmgmts:')
> >>>> adapters=wmi.InstancesOf('Win32_NetworkAdapterConfiguration')
> >>>> for adapter in adapters:
> > ... print adapter.Properties_['Caption'],
> > adapter.Properties_['DhcpEnabled'], adapter.Properties_['IpAddress']
> > ...
> > [0001] Realtek RTL8139 Family PCI Fast Ethernet NIC True
> > (u'169.254.52.213',)
> > Traceback (most recent call last):
> >  File "", line 2, in 
> >  File "C:\Python25\Lib\site-packages\win32com\client\dynamic.py", line
> > 187, in __str__
> >return str(self.__call__())
> > UnicodeEncodeError: 'ascii' codec can't encode characters in position
> > 15-19: ordinal not in range(128)
> >
> > How to deal with it?
> >
> >
> >
> > Roger Upole wrote:
> >> "kode4u" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
> >> > How to use python get my windows box's ip setting type? Dynamic ip, or
> >> > static ip?
> >> >
> >> > If it's static ip, what's the exact value?
> >> >
> >>
> >> You can use WMI to list properties of your network adapter(s):
> >> import win32com.client
> >> wmi=win32com.client.GetObject('winmgmts:')
> >> adapters=wmi.InstancesOf('Win32_NetworkAdapterConfiguration')
> >> for adapter in adapters:
> >> print adapter.Properties_['Caption'], 
> >> adapter.Properties_['DhcpEnabled'], adapter.Properties_['IpAddress']
> >>
> >>Roger
> >>
> >>
> >>
> >>
> >> == Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet 
> >> News==
> >> http://www.newsfeeds.com The #1 Newsgroup Service in the World! >100,000 
> >> Newsgroups
> >> ---= East/West-Coast Server Farms - Total Privacy via Encryption =---
> >

-- 
http://mail.python.org/mailman/listinfo/python-list