[Nym3-commit] r120 - trunk/nym3/Client
nym3-devel@lists.noreply.org
nym3-devel@lists.noreply.org
Tue, 24 Aug 2004 17:48:58 +0200
Author: jr
Date: 2004-08-24 17:48:51 +0200 (Tue, 24 Aug 2004)
New Revision: 120
Modified:
trunk/nym3/Client/Config.py
trunk/nym3/Client/Main.py
trunk/nym3/Client/User.py
Log:
- finish User.__init() (Client.User.py)
- add some defaults (Client.Config.py)
- further the backbone of the parser (Client.Main.py)
Modified: trunk/nym3/Client/Config.py
===================================================================
--- trunk/nym3/Client/Config.py 2004-08-24 14:14:59 UTC (rev 119)
+++ trunk/nym3/Client/Config.py 2004-08-24 15:48:51 UTC (rev 120)
@@ -1,6 +1,6 @@
DEBUG = False
-
path = '.'
-
default_settings = {}
+default.User = "nym@server"
+
Modified: trunk/nym3/Client/Main.py
===================================================================
--- trunk/nym3/Client/Main.py 2004-08-24 14:14:59 UTC (rev 119)
+++ trunk/nym3/Client/Main.py 2004-08-24 15:48:51 UTC (rev 120)
@@ -49,7 +49,7 @@
sys.exit(2)
def setDefaultUser():
- setUser(None,"",Config.DefaultUser,None)
+ setUser(None,"",Config.defaultUser,None)
def myParseArgs(p,l):
ret = p.parse_args(l)
@@ -71,15 +71,15 @@
#if sys.argv[1] == 'control': #handling of fragments (pipe to mixminion ...
# pass
if sys.argv[1] == 'send-surb':
- parser.usage = "%prog [options]"
+ parser.usage = "%prog send-surb [options]"
parser.add_option(userOption)
(options, args) = myParseArgs(parser, sys.argv[2:])
if sys.argv[1] == 'change-key':
- parser.usage = "%prog [options]"
+ parser.usage = "%prog change-key [options]"
parser.add_option(userOption)
(options, args) = myParseArgs(parser, sys.argv[2:])
if sys.argv[1] == 'relay':
- parser.usage = "%prog [options]"
+ parser.usage = "%prog relay [options]"
parser.add_option(userOption)
(options, args) = myParseArgs(parser, sys.argv[2:])
if sys.argv[1] == 'get':
@@ -88,7 +88,7 @@
(options, args) = myParseArgs(parser, sys.argv[2:])
#convert the idx given as arguments to mid and send
if sys.argv[1] == 'summarize':
- parser.usage = "%prog [options]"
+ parser.usage = "%prog summarize [options]"
parser.add_option(userOption)
(options, args) = myParseArgs(parser, sys.argv[2:])
if sys.argv[1] == 'delete':
@@ -97,7 +97,7 @@
(options, args) = myParseArgs(parser, sys.argv[2:])
#convert the idx given as arguments to mid and send
if sys.argv[1] == 'policy':
- parser.usage = "%prog [options]"
+ parser.usage = "%prog policy [options]"
parser.add_option(userOption)
(options, args) = myParseArgs(parser, sys.argv[2:])
Modified: trunk/nym3/Client/User.py
===================================================================
--- trunk/nym3/Client/User.py 2004-08-24 14:14:59 UTC (rev 119)
+++ trunk/nym3/Client/User.py 2004-08-24 15:48:51 UTC (rev 120)
@@ -14,9 +14,11 @@
#TODO what is the criteria determining which account we must load? For the time being we only have a user account
"""0 : load user data throw an error if the account doesn't exist
1 : create a new account throw an error if it already exist
+ _ : load user data create an account if the account doesn't exist
username is of the form <nym>@<server>
"""
- self.home = Config.path + os.sep
+ self.username = username
+ self.home = Config.path + os.sep + username + os.sep
self.datafile = self.home + 'data'
self.index = None
self.mbox = None
@@ -24,15 +26,23 @@
self.data = None
self._lock()
try:
+ if not os.access(self.home,os.F_OK):
+ raise NoSuchUser
f = open(self.datafile, 'r')
if create == 1:
- raise AlreadySuchUser
- except IOError:
+ raise AlreadySuchUser
+ self.data = pickle.load(f)
+ f.close()
+ except NoSuchUser:
if create == 0:
- raise NoSuchUser()
+ raise
else:
+ os.mkdir(home, 0700)
self.data = Config.default_settings
-
+ except IOError:
+ print "the user account of %s contains some error : impossible to open %s" % username, self.datafile
+ sys.exit(2)
+
def __del__(self):
self._save_index()
self._save_synbox()
@@ -48,8 +58,7 @@
def _lock(self):
"""Lock the user. For well behaved functions."""
- self.lock = mixminion.Common.Lockfile(Config.path + os.sep +
- self.username + '.lck')
+ self.lock = mixminion.Common.Lockfile(Config.path + os.sep + self.username + '.lck')
self.lock.acquire()
def _release(self):