54 lines
1.3 KiB
Python
Executable File
54 lines
1.3 KiB
Python
Executable File
#!/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: ] )
|