Secure LDAP Configuration

2010-08-12 Thread sajuptpm
I want to create an LDAP database for my company with following
settings.

Only the ldap user belongs to my company can search and view ldap
entries
I want to protect ldap user belongs to my company
One ldap user can't search and view others details
Only allow ldap users to authenticate with there username and
password
I need an LDAP administrator for my company.Only he can add and
delete users from LDAP.

For these how configure /etc/openldap/slapd.conf



I need to add group and role infornations to ldap directory.Can i use
existing attributes like 'ou' for these or need to add new attribute.


Here is the LDAP entry i configured.

dn: uid=user6,dc=localhost,dc=localdomain
objectclass: top
objectclass: person
objectclass: inetorgperson
ou: [('userGroup111','userr'),('adminGroup','admin'),
('Server111','operator')]
cn: user6
sn: My company
uid: user6
userPassword: 123456


ou: [('userGroup111','userr'),('adminGroup','admin'),
('Server111','operator')] <-newly added group and role pair.Is it
correct way

Have any other way to do it.
-- 
http://mail.python.org/mailman/listinfo/python-list


list of tuples with dynamic change in position

2010-09-06 Thread sajuptpm
I have a list of tuples l = [(('s','a'),(5,9)), (('u','w'),(9,2)),
(('y','x'),(3,0))]
some functions using this list and fetch data using index l[0][1], l[1]
[1]
I need to change position of each values in the list and that dont
affect fuctions which are using this list.
I must have to use list of tuples.
Have any way to do it using list of tuples.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: list of tuples with dynamic change in position

2010-09-06 Thread sajuptpm
I have a list of tuples l = [(('s','a'),(5,9)), (('u','w'),(9,2)),
(('y','x'),(3,0))] and postion of values in the tuple change
dynamicaly. I need a way to access correct value even if change in
position.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: list of tuples with dynamic change in position

2010-09-06 Thread sajuptpm
More details
I have a list of tuples l = [((cpu_util,mem_util),(disk_util)),
((cpu_util,mem_util),(disk_util))]
ie, l = [((30,50),(70)), ((50,20),(20))]

l.sort(key=lambda x:(-x[0][0], x[1][0])) # sorting cpu_util asc and
disk_util desc

suppose i changed order that is l = [((mem_util,cpu_util),
(disk_util)), ((mem_util,cpu_util),(disk_util))]
So i have to change the sort code to l.sort(key=lambda x:(-x[0][1],
x[1][0])) # sorting cpu_util asc and disk_util desc


I want to use same (common) sort code, that must work even if i
changed tuple order.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: list of tuples with dynamic change in position

2010-09-07 Thread sajuptpm
On Sep 7, 1:16 pm, Ulrich Eckhardt  wrote:
> sajuptpm wrote:
> > I have a list of tuples l = [((cpu_util,mem_util),(disk_util)),
> > ((cpu_util,mem_util),(disk_util))]
> > ie, l = [((30,50),(70)), ((50,20),(20))]
>
> > l.sort(key=lambda x:(-x[0][0], x[1][0]))
> > # sorting cpu_util asc and disk_util desc
>
> One thing here: Without knowing what special meaning the indices have, this
> code is impossible to understand. In my opinion, that code should rather be
>
>   l.sort(key=lambda x: (-x.cpu_util, x.disk_util))
>
> You could then save the comment, which btw may or may not describe the
> actual code.
>
> > suppose i changed order that is l = [((mem_util,cpu_util),
> > (disk_util)), ((mem_util,cpu_util),(disk_util))]
> > So i have to change the sort code to l.sort(key=lambda x:(-x[0][1],
> > x[1][0])) # sorting cpu_util asc and disk_util desc
>
> > I want to use same (common) sort code, that must work even if i
> > changed tuple order.
>
> You don't have to use a lambda function. You can as well define the sorting
> order in the same place of your code where you define the order inside the
> elements, that way you would only have to adjust the sorting in one place.
>
> Otherwise, you will have to embed the order of the tuple inside the tuple or
> the containing list. One approach would be to have a dictionary (which has
> no order), or you use a separate type instead:
>
>   class record(object):
>       pass
>
>   r = record()
>   r.cpu_util = 12
>   r.disk_util = 42
>   l.append(r)
>
> However, this basically all boils down to either "don't use the sorting
> (dict)" or "keep records sorted", so it doesn't really answer your
> question. However, I'm afraid there is no answer to your question as it
> stands. Maybe I could help you better if you explained why the order
> changes etc, because normally I don't deal with data that has such a
> volatile meaning, I rather normalize it on input and then use it in the
> same way afterwards.
>
> Uli
>
> --
> Sator Laser GmbH
> Geschäftsführer: Thorsten Föcking, Amtsgericht Hamburg HR B62 932



[((cpu_util,mem_util),(disk_util)),((cpu_util,mem_util),(disk_util))]

i want to find the loaded machine based on cpu and mem and desk
utilization by changing this order.

I created a UI using that i can change the order of item in the tuple.
But the problem is asc and desc sorting



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


another way to sort like l.sort(key=lambda x:(x[0][0], -x[1][0]))

2010-09-07 Thread sajuptpm
I have a list of tuples.

l = [((30,50),(70)), ((50,20),(20))]

for i in range(10):
k = ((i+30,i+50),(i+70))#suppose creating new tuple in each iteration
using some random value and in sert it into list.

flag=True
for i, v in enumerate(l):
if v >= k:
l.insert(i,k)
flag = False
break
if flag:
l.append(k)


This code will give a list of tuples sorted in asc order.
I need to change this code to sort this list by k[0][0] ascending and
k[0][1] descending.
What are the modifications needed in this code.
I dont want to user sort() method of list.

i need to implement  l.sort(key=lambda x:(x[0][0], -x[1][0])) in
another way .I want to know what the modification needed in the 'if'
check to sort this list of tuples in k[0][0] ascending and k[0][1]
descending.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: another way to sort like l.sort(key=lambda x:(x[0][0], -x[1][0]))

2010-09-07 Thread sajuptpm
On Sep 7, 7:03 pm, Peter Otten <__pete...@web.de> wrote:
> sajuptpm wrote:
> > i need to implement  l.sort(key=lambda x:(x[0][0], -x[1][0])) in
> > another way .I want to know what the modification needed in the 'if'
> > check to sort this list of tuples in k[0][0] ascending and k[0][1]
> > descending.
>
> It seems you are not getting any closer to your goal. Perhaps it would help
> if you could explain that goal clearly rather than describing the means you
> are employing to achieve it.
>
> > I have a list of tuples.
>
> > l = [((30,50),(70)), ((50,20),(20))]
>
> By the way, (42) is not a tuple, it's an integer. To turn it into a 1-tuple
> you have to add a ',':
>
> >>> (42)
> 42
> >>> (42,)
> (42,)
> >>> 42,
>
> (42,)
>
> Peter


I have a list of tuples.

l = [((30,50),(70,)), ((50,20),(20,))]

for i in range(10):
k = ((i+30,i+50),(i+70))#suppose creating new tuple in each
iteration
using some random value and in sert it into list.

flag=True
for i, v in enumerate(l):
if v >= k:
l.insert(i,k)
flag = False
break
if flag:
l.append(k)

This code will give a list of tuples sorted in asc order.
I need to change this code to sort this list by k[0][0] ascending and
k[0][1] descending.
What are the modifications needed in this code.
I dont want to user sort() method of list.

i need to implement  l.sort(key=lambda x:(x[0][0], -x[1][0])) in
another way .I want to know what the modification needed in the 'if'
check to sort this list of tuples in k[0][0] ascending and k[0][1]
descending.

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


Re: another way to sort like l.sort(key=lambda x:(x[0][0], -x[1][0]))

2010-09-07 Thread sajuptpm
Detailed Description
-


l1 = []

l2 = [
 ((3,8),(1,2)),
 ((1,3),(1,7)),
 ((7,0),(1,8)),
 ((4,2),(1,2)),
 ((2,9),(9,1))
]

I need to take each item from l2 and insert into l1 with first
element(column)(3,1,7,4,2) sorted in ascending order and second
element(column)(8,3,0,2,9) sorted in descending order.


#SORTING

for k in l2:
flag=True
for i, v in enumerate(l1):
if v <= k:
l1.insert(i,k)
flag = False
break
if flag:
l1.append(k)


for a in l1:
print a

output
---
((7, 0), (1, 8))
((4, 2), (1, 2))
((3, 8), (1, 2))
((2, 9), (9, 1))
((1, 3), (1, 7))

This will not give l1 with first element(column)(3,1,7,4,2) sorted in
ascending order and second element(column)(8,3,0,2,9) sorted in
descending order.

-- I added a -ve signe to all first elements

l2 = [
 ((-3,8),(1,2)),
 ((-1,3),(1,7)),
 ((-7,0),(1,8)),
 ((-4,2),(1,2)),
 ((-2,9),(9,1))
]

#SORTING

for k in l2:
flag=True
for i, v in enumerate(l1):
if v <= k:
l1.insert(i,k)
flag = False
break
if flag:
l1.append(k)


for a in l1:
print a

output
---
((-1, 3), (1, 7))
((-2, 9), (9, 1))
((-3, 8), (1, 2))
((-4, 2), (1, 2))
((-7, 0), (1, 8))

Now output is similar to first elements asc and second elements
desc.But the problem is the -ve sign, i dont need that.

Have any other method to do it??
-- 
http://mail.python.org/mailman/listinfo/python-list


Unpaking Tuple

2012-10-06 Thread sajuptpm
Hi,

I am using python 2.6.

I need a way to make following code working without any ValueError .
>>> a, b, c, d = (1,2,3,4)
>>> a, b, c, d = (1,2,3).

Note: Number of values in the tuple will change dynamically.


I know in python 3, you can do `a, b, c, *d = (1, 2, 3)` and then d will 
contain any elements that didn't fit into a,b,c.

Regards,
Saju
-- 
http://mail.python.org/mailman/listinfo/python-list


I am facing an issue while decoding json string using json.loads

2012-12-25 Thread sajuptpm

I am facing an issue while decoding json string using json.loads(jstring). Its 
working, if i do json.dumps(eval(jstring)) before json.loads(jstring). I could 
not figure out the issue. I want to avoide use of "eval" here.



## Failing without json.dumps(eval(jstring)) 


def format_json_string(self, jstring):
"""
"""
from pprint import pprint
print "===string before urllib.unquote===", pprint(jstring)
jstring = urllib.unquote(jstring)##For revert encode change applied in 
the javascript
print "===string after urllib.unquote===", pprint(jstring)
jstring = json.loads(jstring)
print "===string after json.loads(jstring) ===", pprint(jstring)




===string from client 
(javascript)u'{"selected_objects":{"datacenter-2":{"name":"Data 
!@#$%25^&*()_ {}[]|%5c%2f.,?><:\\"`Center8(Data !@#$%^&*()_ 
{}[]|/.,?><:\\"`Center8)","type":"Datacenter","moid":"datacenter-2","actual_name":"Data
 !@#$%25^&*()_ {}[]|%5c%2f.,?><:\\"`Center8","server_pools":[{"name":"cluster 
~!@#$%25^&*()_ {}|\\":?><,.%2f;\'%5c][=-`(cluster ~!@#$%^&*()_ 
{}|\\":?><,./;\'][=-`)","type":"ClusterComputeResource","moid":"domain-c401","actual_name":"cluster
 ~!@#$%25^&*()_ 
{}|\\":?><,.%2f;\'%5c][=-`","hosts":[{"name":"192.168.1.13","type":"HostSystem","moid":"host-27","actual_name":"192.168.1.13"}]}]}}}'
None



===string after 
urllib.unquoteu'{"selected_objects":{"datacenter-2":{"name":"Data 
!@#$%^&*()_ {}[]|\\/.,?><:\\"`Center8(Data !@#$%^&*()_ 
{}[]|/.,?><:\\"`Center8)","type":"Datacenter","moid":"datacenter-2","actual_name":"Data
 !@#$%^&*()_ {}[]|\\/.,?><:\\"`Center8","server_pools":[{"name":"cluster 
~!@#$%^&*()_ {}|\\":?><,./;\'\\][=-`(cluster ~!@#$%^&*()_ 
{}|\\":?><,./;\'][=-`)","type":"ClusterComputeResource","moid":"domain-c401","actual_name":"cluster
 ~!@#$%^&*()_ 
{}|\\":?><,./;\'\\][=-`","hosts":[{"name":"192.168.1.13","type":"HostSystem","moid":"host-27","actual_name":"192.168.1.13"}]}]}}}'
None
Traceback (most recent call last):
  File 
"/home/saju/cvt/tk/src/cct/web/cct/cct/controllers/VcenterController.py", line 
69, in import_managed_objects_from_vcenter
self.vcenter_service.validate_vcenter(session['auth'], vcenter_id, context)
  File "/home/saju/cvt/tk/src/cct/web/cct/cct/viewModel/VcenterService.py", 
line 360, in validate_vcenter
context = self.format_json_string(context)
  File "/home/saju/cvt/tk/src/cct/web/cct/cct/viewModel/VcenterService.py", 
line 747, in format_json_string
jstring = json.loads(jstring)
  File 
"/home/saju/cms/cct-enterprise/tg2env/local/lib/python2.7/site-packages/simplejson-2.5.0-py2.7-linux-x86_64.egg/simplejson/__init__.py",
 line 451, in loads
return _default_decoder.decode(s)
  File 
"/home/saju/cms/cct-enterprise/tg2env/local/lib/python2.7/site-packages/simplejson-2.5.0-py2.7-linux-x86_64.egg/simplejson/decoder.py",
 line 402, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File 
"/home/saju/cms/cct-enterprise/tg2env/local/lib/python2.7/site-packages/simplejson-2.5.0-py2.7-linux-x86_64.egg/simplejson/decoder.py",
 line 418, in raw_decode
obj, end = self.scan_once(s, idx)
JSONDecodeError: Invalid \escape: line 1 column 289 (char 289)




### Working with json.dumps(eval(jstring)) #



But, here i have to do json.dumps(eval(jstring)) before json.loads(). How to do 
it without eval ??? 



def format_json_string(self, jstring):
"""
"""
from pprint import pprint
print "===string from client (javascript)===", pprint(jstring)
jstring = urllib.unquote(jstring)##For revert encode change applied in 
the javascript
print "===string after urllib.unquote===", pprint(jstring)
jstring = json.dumps(eval(jstring))
print "===string after json.dumps(eval(jstring) ===", pprint(jstring)
jstring = json.loads(jstring)
print "===string after json.loads(jstring) ===", pprint(jstring)




===string from client 
(javascript)u'{"selected_objects":{"datacenter-2":{"name":"Data 
!@#$%25^&*()_ {}[]|%5c%2f.,?><:\\"`Center8(Data !@#$%^&*()_ 
{}[]|/.,?><:\\"`Center8)","type":"Datacenter","moid":"datacenter-2","actual_name":"Data
 !@#$%25^&*()_ {}[]|%5c%2f.,?><:\\"`Center8","server_pools":[{"name":"cluster 
~!@#$%25^&*()_ {}|\\":?><,.%2f;\'%5c][=-`(cluster ~!@#$%^&*()_ 
{}|\\":?><,./;\'][=-`)","type":"ClusterComputeResource","moid":"domain-c401","actual_name":"cluster
 ~!@#$%25^&*()_ 
{}|\\":?><,.%2f;\'%5c][=-`","hosts":[{"name":"192.168.1.13","type":"HostSystem","moid":"host-27","actual_name":"192.168.1.13"}]}]}}}'
None



===string after 
urllib.unquote===u'{"selected_objects":{"datacenter-2":{"name":"Data 
!@#$%^&*()_ {}[]|\\/.,?><:\\"`Center8(Data !@#$%^&*()_ 
{}[]|/.,?><:\\"`Center8)","type":"Datacenter","moid":"datacenter-2","actual_name":"Data
 !@#$%^&*()_ {}[]|\\/.,?><:\\"`Center8","server_pools":[{"name":"cluster 
~!@#$%^&*()_ {}|\\":?><,./;\'\\][=-`(clu

Re: I am facing an issue while decoding json string using json.loads

2012-12-27 Thread sajuptpm
Hi,

Fixed:
=

urllib.unquote is messing up the JSON. Reverse the
order of unquote, and loads, i.e., do a json.loads on
the original string, and then urllib.unquote the components
that need unquote.

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


python: HTTP connections through a proxy server requiring authentication

2013-01-26 Thread sajuptpm
Hi,

I followed http://dabase.com/blog/Minimal_squid3_proxy_configuration/ to setup 
proxy server.
I tested my proxy server with firefox with IP:127.0.0.1 and Port:3128 and it 
working (asking for proxy username and password).

But, i could not make http connection through proxy server requiring 
authentication using following python code..

## Python code ## 

import urllib2
proxy = 
urllib2.ProxyHandler({'http':'http://saju:123@saju-Inspiron-N5010:3128'})
opener = urllib2.build_opener(proxy, urllib2.HTTPHandler)
urllib2.install_opener(opener)

conn = urllib2.urlopen('http://python.org')
return_str = conn.read()
print "===return_st", return_str


 ERROR 

Traceback (most recent call last):
  File "my_proxy.py", line 6, in 
conn = urllib2.urlopen('http://python.org')
  File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 407, in open
response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 520, in http_response
'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 445, in error
return self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 379, in _call_chain
result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 528, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 407: Proxy Authentication Required



## Proxy Server Settings ## 

sudo vim /etc/squid3/squid.conf
---
auth_param digest program /usr/lib/squid3/digest_pw_auth -c 
/etc/squid3/passwords
auth_param digest realm saju-Inspiron-N5010
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_port 3128

Setting up user
--

htdigest -c /etc/squid3/passwords saju-Inspiron-N5010 saju

==



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


Re: python: HTTP connections through a proxy server requiring authentication

2013-01-26 Thread sajuptpm
Hi,

/etc/squid3/squid.conf
---

saju@saju-Inspiron-N5010:~$ cat squid.conf | grep ^[^#]
auth_param digest program /usr/lib/squid3/digest_pw_auth -c 
/etc/squid3/passwords
auth_param digest realm saju-Inspiron-N5010
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl authenticated proxy_auth REQUIRED
acl SSL_ports port 443
acl Safe_ports port 80# http
acl Safe_ports port 21# ftp
acl Safe_ports port 443# https
acl Safe_ports port 70# gopher
acl Safe_ports port 210# wais
acl Safe_ports port 1025-65535# unregistered ports
acl Safe_ports port 280# http-mgmt
acl Safe_ports port 488# gss-http
acl Safe_ports port 591# filemaker
acl Safe_ports port 777# multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow authenticated
http_access deny all
http_port 3128
coredump_dir /var/spool/squid3
refresh_pattern ^ftp:144020%10080
refresh_pattern ^gopher:14400%1440
refresh_pattern -i (/cgi-bin/|\?) 00%0
refresh_pattern (Release|Packages(.gz)*)$  0   20% 2880
refresh_pattern .020%4320
saju@saju-Inspiron-N5010:~$


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


Documentation using Sphinx

2011-12-08 Thread sajuptpm
Hi,
I am trying source code documentation using Sphinx. Here i have to
copy paste all modules in to *.rst file, that is painful. Have any way
to create documentation (doc for all modules, classes and methods in
the project directory) from project folder quickly. I also plannig to
add a code browsing facility in the document, for example: code should
display if we click on a method/class name in the doc, does sphinx has
this feature???  or what tool i have to choose for that ???.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Guide to: Learning Python Decorators

2012-02-09 Thread sajuptpm
Hi,

Thanks for replay,
I am looking for PDF version of same book. Please share if you can.

http://www.amazon.com/gp/product/B006ZHJSIM/ref=as_li_tf_tl?ie=UTF8&tag=8012-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=B006ZHJSIM
-- 
http://mail.python.org/mailman/listinfo/python-list


log and figure out what bits are slow and optimize them.

2012-02-10 Thread sajuptpm
Hi,

I want to log time taken to complete database requests inside a method/
function using decorator .  is it possible 
I think, i have to inject log code inside the method/fuctions or
modify it.
I wrote a decorator to log taken by a method/function to complete it
execution and its working well.

My requirement : log everything and figure out what bits are slow and
optimize them.

What are your suggestions ??
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: log and figure out what bits are slow and optimize them.

2012-02-10 Thread sajuptpm
Hi,

Yes i saw profile module,
I think i have to do function call via

cProfile.run('foo()')

I know, we can debug this way.

But, i need a fixed logging system and want to use it in production.
  I think, we can't permanently include profile's debugging code
in source code,
 will cause any performance issue ??
-- 
http://mail.python.org/mailman/listinfo/python-list


ldap proxy user bind

2012-02-10 Thread sajuptpm
I have developed a LDAP auth system using python-ldap module.
Using that i can validate username and password,  fetch user and
groups info from LDAP directory.
Now i want to implement ldap proxy user bind to the ldap server.
I googled and find this http://ldapwiki.willeke.com/wiki/LDAPProxyUser
But i don't have any idea about how implement it usng python-ldap.

My existing LDAP settings at client side
ldap_enabled = True
ldap_host = your_ldap_server
ldap_port = 389
ldap_basedn = o=My_omain
ldap_user_key = cn
ldap_group_key = groupMembership
ldap_email_key = mail
ldap_user_search = ou=Users
ldap_group_search = ou=Groups
ldap_group_objectclass = groupOfNames

I want to add following 2 new flags

ldap_proxy_user = ldap_proxy
ldap_proxy_pwd = secret


I don't know how this ldapproxy system would works.
Could you please point me to an python article/example ??

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


Re: log and figure out what bits are slow and optimize them.

2012-02-10 Thread sajuptpm

I decided to create a decorator like.

import cProfile
def debug_time(method):
def timed(*args, **kw):
prof = cProfile.Profile()
prof.enable(subcalls=False, builtins=False)
result = prof.runcall(method, *args, **kw)
#prof.print_stats()
msg = "\n\n\n\n###"
msg += "\n\nURL : %s" %(tg.request.url)
msg += "\nMethod: %r" %(method.__name__)
print "--ddd", type(prof.getstats())
msg += "\n\nStatus : %s" %(prof.print_stats())
msg += "\n\n###"
print msg
LOGGER.info(msg)
return result
return timed

Ref : 
http://stackoverflow.com/questions/5375624/a-decorator-that-profiles-a-method-call-and-logs-the-profiling-result


I want to log it in existing log file in my project,
so i tried prof.print_stats() and prof.getstats(). prof.getstats()
will need extra loop for fetch data.
prof.print_stats() will log library calls also.

Please suggest a better way to log profiler output.


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


Re: ldap proxy user bind

2012-02-11 Thread sajuptpm
Hi Michael Torrie,
Thanks to reply

Why we need Twisted here, i did not get it.

My understanding is that
if
ldap_proxy_user = ldap_proxy
ldap_proxy_pwd = secret
( set more privileges to this user at ldap server side, for get other
users infos)
are configured at server side, then allow clients to login using
username only, this time use ldap_proxy_user and ldap_proxy_pwd for
login to ldap server, user validation and get user infos.
Is it possible and any drawback 

I think this is what client need.
-- 
http://mail.python.org/mailman/listinfo/python-list


RuntimeWarning: Unable to load template engine entry point

2012-04-26 Thread sajuptpm
Hi,

I am using
Ubuntu 12.04 precise
Python 2.7
turbogears 2.0.3

Getting following errors when doing turbogears setup.
Have any way to fix this without upgrade to turbogears 2.0.4.



Using /home/saju/cmt-enterprise/tg2env/lib/python2.7/site-packages/
BytecodeAssembler-0.3-py2.7.egg
Searching for SymbolType==1.0
Best match: SymbolType 1.0
Processing SymbolType-1.0-py2.7.egg
SymbolType 1.0 is already the active version in easy-install.pth

Using /home/saju/cmt-enterprise/tg2env/lib/python2.7/site-packages/
SymbolType-1.0-py2.7.egg
Finished processing dependencies for cmt==3.1dev-r5535

Setting up cmt with : /home/saju/cmt-enterprise/tg2env
/home/saju/cmt-enterprise/tg2env/local/lib/python2.7/site-packages/
Pylons-0.9.7-py2.7.egg/pylons/configuration.py:26: RuntimeWarning:
Unable to load template engine entry point: 'json =
turbojson.jsonsupport:JsonSupport': Traceback (most recent call last):
  File "/home/saju/cmt-enterprise/tg2env/local/lib/python2.7/site-
packages/Pylons-0.9.7-py2.7.egg/pylons/templating.py", line 610, in

Engine = entry_point.load()
  File "/home/saju/cmt-enterprise/tg2env/local/lib/python2.7/site-
packages/setuptools-0.6c11-py2.7.egg/pkg_resources.py", line 1954, in
load
entry = __import__(self.module_name, globals(),globals(),
['__name__'])
  File "build/bdist.linux-x86_64/egg/turbojson/__init__.py", line 1,
in 
  File "build/bdist.linux-x86_64/egg/turbojson/jsonsupport.py", line
3, in 
  File "build/bdist.linux-x86_64/egg/turbojson/jsonify.py", line 6, in

  File "build/bdist.linux-x86_64/egg/peak/rules/__init__.py", line 3,
in 
  File "build/bdist.linux-x86_64/egg/peak/rules/core.py", line 729, in

when(implies, (bool, bool))(lambda c1, c2: c2 or not c1)
  File "build/bdist.linux-x86_64/egg/peak/util/decorators.py", line
642, in do_decorate
frame, getattr(f,'__name__',None), f, frame.f_locals
  File "build/bdist.linux-x86_64/egg/peak/rules/core.py", line 197, in
callback
register_for_class(None)
  File "build/bdist.linux-x86_64/egg/peak/rules/core.py", line 190, in
register_for_class
rules.add(parse_rule(engine, pred, context, cls))
  File "", line 14, in add
return __func(self, rule)
  File "build/bdist.linux-x86_64/egg/peak/rules/core.py", line 265, in
add
self._notify(added=actiondefs)
  File "build/bdist.linux-x86_64/egg/peak/rules/core.py", line 286, in
_notify
listener.actions_changed(added, removed)
  File "", line 14, in
actions_changed
return __func(self, added, removed)
  File "build/bdist.linux-x86_64/egg/peak/rules/core.py", line 433, in
actions_changed
self._add_method(rule.predicate, rule)
  File "build/bdist.linux-x86_64/egg/peak/rules/core.py", line 518, in
_add_method
if key!=signature and implies(key, signature):
  File "build/bdist.linux-x86_64/egg/peak/rules/core.py", line 591, in
implies
def implies(s1,s2):
  File "", line 14, in _regenerate
return __func(self)
  File "build/bdist.linux-x86_64/egg/peak/rules/core.py", line 392, in
_regenerate
func.func_code = self.engine._generate_code()
  File "build/bdist.linux-x86_64/egg/peak/rules/core.py", line 553, in
_generate_code
c.return_(call_thru(self.function, target))
  File "build/bdist.linux-x86_64/egg/peak/util/assembler.py", line
731, in return_
return self(ob, Code.RETURN_VALUE)
  File "build/bdist.linux-x86_64/egg/peak/util/assembler.py", line
720, in __call__
last = ob(self)
  File "build/bdist.linux-x86_64/egg/peak/util/assembler.py", line
103, in __call__
return func(*(self[1:]+(code,)))
  File "build/bdist.linux-x86_64/egg/peak/util/assembler.py", line
176, in Call
code(func, *args)
  File "build/bdist.linux-x86_64/egg/peak/util/assembler.py", line
720, in __call__
last = ob(self)
  File "build/bdist.linux-x86_64/egg/peak/util/assembler.py", line
103, in __call__
return func(*(self[1:]+(code,)))
  File "build/bdist.linux-x86_64/egg/peak/util/assembler.py", line
176, in Call
code(func, *args)
  File "build/bdist.linux-x86_64/egg/peak/util/assembler.py", line
727, in __call__
last = f(self, ob)
  File "build/bdist.linux-x86_64/egg/peak/util/assembler.py", line
871, in gen_tuple
code(*ob)
  File "build/bdist.linux-x86_64/egg/peak/util/assembler.py", line
720, in __call__
last = ob(self)
  File "build/bdist.linux-x86_64/egg/peak/util/assembler.py", line
103, in __call__
return func(*(self[1:]+(code,)))
  File "build/bdist.linux-x86_64/egg/peak/util/assembler.py", line
237, in Suite
code(*body)
  File "build/bdist.linux-x86_64/egg/peak/util/assembler.py", line
720, in __call__
last = ob(self)
  File "build/bdist.linux-x86_64/egg/peak/util/assembler.py", line
103, in __call__
return func(*(self[1:]+(code,)))
  File "build/bdist.linux-x86_64/egg/peak/util/assembler.py", line
221, in TryExcept
next_test.JUMP_IF_FALSE, Code.POP_TOP,  # remove condition
AttributeError: 'Label' object has no attribute 'JUMP_IF_FALSE'

  import pylons.templating
-- 
http://mail.python.org/mailman/listinfo/p

Re: RuntimeWarning: Unable to load template engine entry point

2012-04-27 Thread sajuptpm
Issue get solved by updating following packages
$ easy_install -U DecoratorTools
$ easy_install -U turbojson
-- 
http://mail.python.org/mailman/listinfo/python-list


psphere: how to make thread safe

2012-08-22 Thread sajuptpm
Hi,

psphere: Python interface for the VMware vSphere Web Services SDK

I already developed an app using https://bitbucket.org/jkinred/psphere. But 
getting lot of errors since psphere is not thread safe (I think). So i wrote 
couple of scripts to test it (See attached files) and found that caching 
mechanism used by psphere is not thread safe. Could someone please give me some 
suggestion to make it thread safe.


===Test Code 

import psphere
from psphere.client import Client
from psphere.managedobjects import HostSystem, VirtualMachine, ComputeResource
client = Client("192.168.0.114", "root", "vmware1") ##vCenter
print "\nSucessfully connected to vCenter.\n"

from threading import Thread

def myfunc(i):
host1 = HostSystem.get(client, name="192.168.0.134")
host2 = HostSystem.get(client, name="192.168.0.113")
print "i--",i
while True:
#host1.update(properties=["config", "vm"])
#host2.update(properties=["config", "vm"])
c = type(host1.config.network)
v = type(host2.config.network)
for vm in host1.vm:
k = vm.config.template
for vm in host2.vm:
p = vm.config.template


for i in range(10): 
t = Thread(target=myfunc, args=(i,))
t.start()


"""
OUTPUT 
===
Sucessfully connected to vCenter.

i-- 1
i-- 3
i-- 5
i-- 0
 i-- 4
i-- 2i-- 7
i-- 
9
i-- 6
i-- 8
Exception in thread Thread-4:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
self.run()
  File "/usr/lib/python2.7/threading.py", line 504, in run
self.__target(*self.__args, **self.__kwargs)
  File "vcenter_test1.py", line 19, in myfunc
k = vm.config.template
  File "/home/saju/cvt/trunk/src/cvt/web/cvt/psphere/__init__.py", line 79, in 
__get__
value = self.fget(inst)
  File "/home/saju/cvt/trunk/src/cvt/web/cvt/psphere/managedobjects.py", line 
1236, in config
return self._get_dataobject("config", False)
  File "/home/saju/cvt/trunk/src/cvt/web/cvt/psphere/__init__.py", line 116, in 
_get_dataobject
return self._cache[name][0]
KeyError: 'config'

Exception in thread Thread-6:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
self.run()
  File "/usr/lib/python2.7/threading.py", line 504, in run
self.__target(*self.__args, **self.__kwargs)
  File "vcenter_test1.py", line 17, in myfunc
v = type(host2.config.network)
AttributeError: VirtualMachineConfigInfo instance has no attribute 'network'



"""

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


LDAP: How get all users belongs to a group.

2011-06-23 Thread sajuptpm
Hi,
How get all users belongs to a group using python ldap module.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: LDAP: How get all users belongs to a group.

2011-06-24 Thread sajuptpm
Hi,
Thanks for reply.

dn: cn=My-Group-1, ou=Groups, o=CUST
equivalentToMe: cn=TDS7034,ou=Internal PCA,o=CUST
objectClass: groupOfNames  <
objectClass: top
objectClass: swarePointers
ACL: 2#entry#[Root]#member
cn: My-Group-1
member: cn=AJP2203,ou=Internal PCA,o=CUST
member: cn=AZE9632,ou=Internal PCA,o=CUST
member: cn=BTC4979,ou=Internal PCA,o=CUST


* I have group definition in LDAP server as above.
* How fetch all members from this perticular group 'My-Group-1' using
python-ldap module.
* I tried, but i don't know how do it.
* I want to get those 3 members from group 'My-Group-'



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


Re: LDAP: How get all users belongs to a group.

2011-06-24 Thread sajuptpm
I am using Openldap (openldap 2.3.43-12.el5_5.2  and openldap.i386
0:2.3.43_2.2.29-12.el5_6.7)
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: LDAP: How get all users belongs to a group.

2011-06-24 Thread sajuptpm
--- User

cn=AJP2203,ou=Internal PCA,o=CUST has group memberships
to the following Groups:
groupMembership: cn=My-Group-1,ou=Groups,o=CUST
groupMembership: cn=My-Group-2,u=Groups,o=CUST
groupMembership: cn=My-Group-3,ou=Groups,o=CUST

--- Group

dn: cn=My-Group-1, ou=Groups, o=CUST
equivalentToMe: cn=TDS7034,ou=Internal PCA,o=CUST
objectClass: groupOfNames  <
objectClass: top
objectClass: swarePointers
ACL: 2#entry#[Root]#member
cn: My-Group-1
member: cn=AJP2203,ou=Internal PCA,o=CUST
member: cn=AZE9632,ou=Internal PCA,o=CUST
member: cn=BTC4979,ou=Internal PCA,o=CUST

-

* We will get groups of a member from member record, using key
'groupMembership'.
* But i want to get members belogs to a particular group Eg:'My-
Group-1'
* Have any method in python-ldap model for this ???
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: LDAP: How get all users belongs to a group.

2011-06-25 Thread sajuptpm
results = ldapClient.search_s("cn=My-Group-1,ou=Groups,o=CUST",
ldap.SCOPE_BASE)

Is this method work for all types of groups (groupOfNames,
posixGroup) ???

have to implement user search/fetch separately for each groups ???
-- 
http://mail.python.org/mailman/listinfo/python-list


Change Location in the google search page

2011-09-15 Thread sajuptpm
Hi,

I want to open Google search page and Change the Location link in the
left hand nav of Google) from the users current location to a
different location, then return the results of the updated search.

I tried to change google search location through
http://www.google.co.in/preferences?hl=en#loc , but getting error
mechanize._response.httperror_seek_wrapper: HTTP Error 404: Not
Found

Here is the code i tried

= 1

import re
import cookielib
from mechanize import Browser
import mechanize

br1= Browser()
# Cookie Jar
cj = cookielib.LWPCookieJar()
br1.set_cookiejar(cj)

br1.set_handle_robots(False)
br1.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-
US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

P_URL = "http://www.google.co.in/preferences?hl=en#loc";
s_page = br1.open(P_URL)
loc_form = br1.select_form(name="langform")
br1.form['luul'] = u'bangaluru' # <-- New location
resp = br1.submit()
print "-resp-",resp.read()


Output
===

$ python a11.py
Traceback (most recent call last):
  File "a11.py", line 94, in ?
resp = br1.submit()
  File "build/bdist.linux-i686/egg/mechanize/_mechanize.py", line 541,
in submit
  File "build/bdist.linux-i686/egg/mechanize/_mechanize.py", line 203,
in open
  File "build/bdist.linux-i686/egg/mechanize/_mechanize.py", line 255,
in _mech_open
mechanize._response.httperror_seek_wrapper: HTTP Error 404: Not Found


= 2


Tried this also, but getting blank google search page.

import re
from mechanize import Browser

LOGIN_URL = "http://www.google.co.in/search?q=new+york
+locksmith&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-
US:official&client=firefox-a"

br = Browser()
br.set_handle_robots(False)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686;
en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9
Firefox/3.0.1')]

s_page = br.open(LOGIN_URL)
loc_form = br.select_form(nr=1)
loc_text_fld = br.form.find_control(id='lc-input')
loc_text_fld.__dict__['_value'] = 'kerala' #Change the Location
resp = br.submit()

print "\n\n--resp--", resp.read() #Returning blank
google search page.



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


selenium pyvirtualdisplay script on remote server

2011-10-05 Thread sajuptpm
Hi Friends,

Here the isuue is i can't find the "li" element. that is because that
element is out of display, so i adjust scroll bar or do focus around
that area to get that element via find_element_by_id("loc_opt")

I already tested with scroll bar and focus and its working fine in my
laptop.
But when i run this script on Remote Server, it can't find that
element.??

Note: Here i am using pyvirtualdisplay, Xvfb and Xephyr, because
server don't have Xserver.
Its also working fine with pyvirtualdisplay in my laptop. but the
issue is in Remote Server.

Has anyone faced this problem before ?

Please suggest a solution.

class Search:
def __init__(self):
"""
"""
self.display = Display(visible=0, size=(800, 600))
self.display.start()
self.url ='http://www.google.com'
self.search_url = None
self.driver  = webdriver().Firefox()

def search(self, search_query, search_location=None):
"""
"""
if search_query:
self.search_url = "%s/search?q=%s" %(self.url, 
search_query)
print "\nURL : ", self.search_url
self.driver.get(self.search_url)
self.submit_search()

#self.driver.execute_script("window.scrollBy(0,200)")

self.driver.execute_script("document.getElementById('tbpi').focus();")
more_search_tools_link = 
self.driver.find_element_by_id("tbpi")
more_search_tools_link.click()
self.driver.execute_script("window.scrollBy(0,200)")
loc_li = self.driver.find_element_by_id("loc_opt")

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