Set email util.
This commit is contained in:
parent
c23b4b324c
commit
0052858fdc
|
@ -91,6 +91,10 @@ class User( Persistent ):
|
|||
|
||||
return d
|
||||
|
||||
def __set_email_address( self, email_address ):
|
||||
self.update_revision()
|
||||
self.__email_address = email_address
|
||||
|
||||
def __set_password( self, password ):
|
||||
self.update_revision()
|
||||
self.__salt = self.__create_salt()
|
||||
|
@ -109,7 +113,7 @@ class User( Persistent ):
|
|||
self.__rate_plan = rate_plan
|
||||
|
||||
username = property( lambda self: self.secondary_id )
|
||||
email_address = property( lambda self: self.__email_address )
|
||||
email_address = property( lambda self: self.__email_address, __set_email_address )
|
||||
password = property( None, __set_password )
|
||||
storage_bytes = property( lambda self: self.__storage_bytes, __set_storage_bytes )
|
||||
rate_plan = property( lambda self: self.__rate_plan, __set_rate_plan )
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
#!/usr/bin/python2.5
|
||||
|
||||
import os
|
||||
import os.path
|
||||
import sys
|
||||
from config.Common import settings
|
||||
from controller.Database import Database
|
||||
from controller.Scheduler import Scheduler
|
||||
|
||||
|
||||
class Setter( object ):
|
||||
def __init__( self, scheduler, database, username, email_address ):
|
||||
self.scheduler = scheduler
|
||||
self.database = database
|
||||
self.username = username
|
||||
self.email_address = email_address
|
||||
self.password = None
|
||||
|
||||
threads = (
|
||||
self.set_email_address(),
|
||||
)
|
||||
|
||||
for thread in threads:
|
||||
self.scheduler.add( thread )
|
||||
self.scheduler.wait_for( thread )
|
||||
|
||||
def set_email_address( self ):
|
||||
self.database.load( u"User %s" % self.username, self.scheduler.thread )
|
||||
user = ( yield Scheduler.SLEEP )
|
||||
if user is None:
|
||||
raise Exception( "user %s is unknown" % self.username )
|
||||
|
||||
user.email_address = self.email_address
|
||||
self.database.save( user )
|
||||
print "email set"
|
||||
|
||||
|
||||
def main( program_name, args ):
|
||||
print "IMPORTANT: Stop the Luminotes server before running this program."
|
||||
|
||||
if len( args ) < 2:
|
||||
print "usage: %s username emailaddress" % program_name
|
||||
sys.exit( 1 )
|
||||
|
||||
scheduler = Scheduler()
|
||||
database = Database( scheduler, "data.db" )
|
||||
initializer = Setter( scheduler, database, *args )
|
||||
scheduler.wait_until_idle()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import sys
|
||||
main( sys.argv[ 0 ], sys.argv[ 1: ] )
|
|
@ -32,7 +32,7 @@ class Setter( object ):
|
|||
|
||||
user.rate_plan = int( self.rate_plan )
|
||||
self.database.save( user )
|
||||
print "password reset"
|
||||
print "rate plan set"
|
||||
|
||||
|
||||
def main( program_name, args ):
|
||||
|
|
Reference in New Issue