You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
(10) |
Aug
(2) |
Sep
(2) |
Oct
(2) |
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
|
Feb
|
Mar
(3) |
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(23) |
Oct
(3) |
Nov
(2) |
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(3) |
Jun
(6) |
Jul
|
Aug
|
Sep
(20) |
Oct
|
Nov
(3) |
Dec
(9) |
2011 |
Jan
(3) |
Feb
(1) |
Mar
|
Apr
(2) |
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(5) |
Oct
(2) |
Nov
(1) |
Dec
|
From: <Z3...@us...> - 2009-09-08 20:42:44
|
Revision: 273 http://spd.svn.sourceforge.net/spd/?rev=273&view=rev Author: Z3po Date: 2009-09-08 20:42:34 +0000 (Tue, 08 Sep 2009) Log Message: ----------- added possibility to not give any keywords (backwards compatible?) Modified Paths: -------------- trunk/src/spdCLI.py trunk/src/spdCore.py Added Paths: ----------- trunk/src/spd-cli Removed Paths: ------------- trunk/src/spd Deleted: trunk/src/spd =================================================================== --- trunk/src/spd 2009-09-07 18:43:16 UTC (rev 272) +++ trunk/src/spd 2009-09-08 20:42:34 UTC (rev 273) @@ -1,80 +0,0 @@ -#!/usr/bin/python -# Copyright (C) 2009 Klaus Umbach {{{ -# <tre...@us...> -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# }}} - -import sys -import spdCore -import spdCLI -from optparse import OptionParser - -# {{{ OptionParser stuff -parser = OptionParser( "%prog [Optionen] Search", - description = "SPD - Simple Password Displayer", - version = "0.3-alpha", - epilog = "With no parameters it will print out nothing!") - -parser.add_option( "-d", "--delete", - dest ="delete", - help ="Entry to delete") - -parser.add_option( "-a", "--add", - action="store_true", - dest = "add", - default=False, - help = "Add an Entry") - -parser.add_option( "-p", "--password-only", - dest = "pwonly", - help = "print Password only of first match, usefull for piping (e.g. in rdesktop)") - - - -(options, args) = parser.parse_args() -# }}} - -pc = spdCore.PasswordContainer('~/.spd/config') - -interface = spdCLI.cli() - -# check if it is a search or not. - -if options.add: - pc.addEntry(interface.newEntry(pc.getCollumns())) - pc.exportPasswordsPlain() - -elif options.delete: - searchPatterns = sys.argv - del searchPatterns[0] - del searchPatterns[0] - pc.delEntry(searchPatterns) - pc.exportPasswordsPlain() - -elif options.pwonly: - searchPatterns = sys.argv - del searchPatterns[0] - del searchPatterns[0] - print pc.findPassword(searchPatterns)[pc.passwordField][0] - -else: # regular search - searchPatterns = sys.argv - del searchPatterns[0] - interface.listOutput(pc.findPassword(searchPatterns)) - - -# EOF -# vim:foldmethod=marker:tabstop=3:autoindent:shiftwidth=3 Copied: trunk/src/spd-cli (from rev 272, trunk/src/spd) =================================================================== --- trunk/src/spd-cli (rev 0) +++ trunk/src/spd-cli 2009-09-08 20:42:34 UTC (rev 273) @@ -0,0 +1,94 @@ +#!/usr/bin/python +# Copyright (C) 2009 Klaus Umbach {{{ +# <tre...@us...> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# }}} + +import sys +import spdCore +import spdCLI +from optparse import OptionParser + +# {{{ OptionParser stuff +parser = OptionParser( "%prog [Optionen] Search", + description = "SPD - Simple Password Displayer", + version = "0.3-alpha", + epilog = "With no parameters it will print out nothing!") + +parser.add_option( "-d", "--delete", + dest ="delete", + help ="Entry to delete") + +parser.add_option( "-a", "--add", + action="store_true", + dest = "add", + default=False, + help = "Add an Entry") + +parser.add_option( "-p", "--password-only", + action="store_true", + dest = "pwonly", + default=False, + help = "print Password only of first match, usefull for piping (e.g. in rdesktop)") + +#parser.add_option( "-w", "--wide", +# action="store_true", +# dest = "widemode", +# default=False, +# help = "print output in wide mode (means as a table)") + + + +(options, args) = parser.parse_args() +# }}} + +pc = spdCore.PasswordContainer('~/.spd/config') + +interface = spdCLI.cli() + +# check if it is a search or not. + +if options.add: + pc.addEntry(interface.newEntry(pc.getCollumns())) + pc.exportPasswordsPlain() + +elif options.delete: + searchPatterns = sys.argv + del searchPatterns[0] + del searchPatterns[0] + pc.delEntry(searchPatterns) + pc.exportPasswordsPlain() + +elif options.pwonly: + searchPatterns = sys.argv + del searchPatterns[0] + del searchPatterns[0] + print pc.findPassword(searchPatterns)[pc.passwordField][0] + +#elif options.widemode: +# searchPatterns = sys.argv +# del searchPatterns[0] +# interface.tableOutput(pc.findPassword(searchPatterns)) + + +else: # regular search + searchPatterns = sys.argv + del searchPatterns[0] + interface.listOutput(pc.findPassword(searchPatterns)) + + +# EOF +# vim:foldmethod=marker:tabstop=3:autoindent:shiftwidth=3 Modified: trunk/src/spdCLI.py =================================================================== --- trunk/src/spdCLI.py 2009-09-07 18:43:16 UTC (rev 272) +++ trunk/src/spdCLI.py 2009-09-08 20:42:34 UTC (rev 273) @@ -1,29 +1,6 @@ import sys import platform -from optparse import OptionParser -# {{{ OptionParser stuff -def CreateParser(): - - parser = OptionParser( "%prog [Optionen] Search", - description = "SPD - Simple Password Displayer", - version = "0.3-alpha", - epilog = "With no parameters it will print out nothing!") - - parser.add_option( "-d", "--delete", - dest ="delete", - help ="Entry to delete") - - parser.add_option( "-a", "--add", - action="store_true", - dest = "add", - default=False, - help = "Add an Entry") - - return parser -# }}} - - class cli(object): def __init__(self): # {{{ Modified: trunk/src/spdCore.py =================================================================== --- trunk/src/spdCore.py 2009-09-07 18:43:16 UTC (rev 272) +++ trunk/src/spdCore.py 2009-09-08 20:42:34 UTC (rev 273) @@ -149,7 +149,7 @@ for j in collumns: try: self.__table[j].append(line[collumnCount]) - + except IndexError: # Debug print j print collumnCount @@ -269,6 +269,9 @@ # patterns: list of strings (filter) def findPassword(self,patterns,output='table'): #{{{ cursor = self.__sql.cursor() + + if not patterns: + patterns='%' # create the query count = 0 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tre...@us...> - 2009-09-07 18:43:27
|
Revision: 272 http://spd.svn.sourceforge.net/spd/?rev=272&view=rev Author: treibholz Date: 2009-09-07 18:43:16 +0000 (Mon, 07 Sep 2009) Log Message: ----------- extended the API a little bit for IDs, so editing and specific deletion will be possible. TODO: spdCLI needs to sort its output now. Modified Paths: -------------- trunk/src/spdCLI.py trunk/src/spdCore.py Modified: trunk/src/spdCLI.py =================================================================== --- trunk/src/spdCLI.py 2009-09-06 21:20:39 UTC (rev 271) +++ trunk/src/spdCLI.py 2009-09-07 18:43:16 UTC (rev 272) @@ -86,7 +86,7 @@ output += table[j][i] output += self.colorReset else: - output += table[j][i] + output += str(table[j][i]) print output print "" Modified: trunk/src/spdCore.py =================================================================== --- trunk/src/spdCore.py 2009-09-06 21:20:39 UTC (rev 271) +++ trunk/src/spdCore.py 2009-09-07 18:43:16 UTC (rev 272) @@ -261,30 +261,40 @@ # dump SQLite in self.__table def dumpSQLite(self): #{{{ # quite easy, eh? :-) - self.__table = self.findPassword("%") + self.__table = self.findPassword("%",output='noID') #}}} # find a password in SQLite # patterns: list of strings (filter) - def findPassword(self,patterns): #{{{ + def findPassword(self,patterns,output='table'): #{{{ cursor = self.__sql.cursor() # create the query count = 0 searchCollumns = '' - for i in self.__table: - searchCollumns += i + ',' + if (output == 'id'): + searchCollumns = '__ID' + result = { "ID" : []} - searchCollumns = re.sub(r',$','',searchCollumns) + else: + result = {} + + if (output != "noID" ): + result.update({'__ID' : [] }) + result.update(self.__table) + + for i in result: + searchCollumns += i + ',' + + searchCollumns = re.sub(r',$','',searchCollumns) + query = "select " + searchCollumns + " from passwords where " + self.__buildWhere(patterns) - cursor.execute(query) # convert the result in a Dictionary # this looks a little bit unelegant.... FIXME - result = self.__table # make a copy for row in cursor: count = 0 for i in row: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tre...@us...> - 2009-09-06 22:22:40
|
Revision: 271 http://spd.svn.sourceforge.net/spd/?rev=271&view=rev Author: treibholz Date: 2009-09-06 21:20:39 +0000 (Sun, 06 Sep 2009) Log Message: ----------- simplified the API a little bit creating the PasswordContainer now automatically calls importPasswordsPlain, fillSQLite and flushPasswordsPlain (if you don't set autoload=False) also exportPasswordsPlain now calls dumpSQL alone (if you don't set autoload=False) Modified Paths: -------------- trunk/src/spd trunk/src/spdCore.py Modified: trunk/src/spd =================================================================== --- trunk/src/spd 2009-09-06 21:02:57 UTC (rev 270) +++ trunk/src/spd 2009-09-06 21:20:39 UTC (rev 271) @@ -48,9 +48,6 @@ # }}} pc = spdCore.PasswordContainer('~/.spd/config') -pc.importPasswordsPlain() -pc.fillSQLite() -pc.flushPasswordsPlain() interface = spdCLI.cli() @@ -58,7 +55,6 @@ if options.add: pc.addEntry(interface.newEntry(pc.getCollumns())) - pc.dumpSQLite() pc.exportPasswordsPlain() elif options.delete: @@ -66,16 +62,15 @@ del searchPatterns[0] del searchPatterns[0] pc.delEntry(searchPatterns) - pc.dumpSQLite() pc.exportPasswordsPlain() elif options.pwonly: searchPatterns = sys.argv del searchPatterns[0] del searchPatterns[0] - print pc.findPassword(searchPatterns)['Password'][0] + print pc.findPassword(searchPatterns)[pc.passwordField][0] -else: +else: # regular search searchPatterns = sys.argv del searchPatterns[0] interface.listOutput(pc.findPassword(searchPatterns)) Modified: trunk/src/spdCore.py =================================================================== --- trunk/src/spdCore.py 2009-09-06 21:02:57 UTC (rev 270) +++ trunk/src/spdCore.py 2009-09-06 21:20:39 UTC (rev 271) @@ -43,11 +43,13 @@ class PasswordContainer(object): # {{{ - # The Constructor - # creates an internal memory-based SQLite database and declares a - # a the self.__table dictionary - # file: string, the config-file - def __init__(self,file,debug=0): #{{{ + '''The Constructor + creates an internal memory-based SQLite database and declares a + a the self.__table dictionary + file: string, the config-file + debug: if set to true, the database /tmp/spd_debug.db + autoload: if set to False, the data is not loaded automatically''' + def __init__(self,file,debug=False,autoload=True): #{{{ if not debug: self.__sql = sqlite3.connect(":memory:") @@ -92,6 +94,11 @@ self.users=[] for i in c.items('Users'): self.users.append(i[1]) + + if autoload: + self.importPasswordsPlain() + self.fillSQLite() + self.flushPasswordsPlain() @@ -161,7 +168,10 @@ #}}} # write passwordfile - def exportPasswordsPlain(self): #{{{ + def exportPasswordsPlain(self,autoload=True): #{{{ + if autoload: + self.dumpSQLite() + vcs = self.vcs encryption = self.encryption This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tre...@us...> - 2009-09-06 21:03:09
|
Revision: 270 http://spd.svn.sourceforge.net/spd/?rev=270&view=rev Author: treibholz Date: 2009-09-06 21:02:57 +0000 (Sun, 06 Sep 2009) Log Message: ----------- * internal database now has a primary key (__ID) (not used for anything yet) * code cleanup * fixed a bug when deleting an entry Modified Paths: -------------- trunk/src/spd trunk/src/spdCLI.py trunk/src/spdCore.py Modified: trunk/src/spd =================================================================== --- trunk/src/spd 2009-09-06 15:35:32 UTC (rev 269) +++ trunk/src/spd 2009-09-06 21:02:57 UTC (rev 270) @@ -58,13 +58,14 @@ if options.add: pc.addEntry(interface.newEntry(pc.getCollumns())) - pc.recipients = config.users pc.dumpSQLite() pc.exportPasswordsPlain() elif options.delete: - pc.delEntry(options.delete) - pc.recipients = config.users + searchPatterns = sys.argv + del searchPatterns[0] + del searchPatterns[0] + pc.delEntry(searchPatterns) pc.dumpSQLite() pc.exportPasswordsPlain() @@ -81,4 +82,4 @@ # EOF -# vim:foldmethod=marker:tabstop=3:autoindent +# vim:foldmethod=marker:tabstop=3:autoindent:shiftwidth=3 Modified: trunk/src/spdCLI.py =================================================================== --- trunk/src/spdCLI.py 2009-09-06 15:35:32 UTC (rev 269) +++ trunk/src/spdCLI.py 2009-09-06 21:02:57 UTC (rev 270) @@ -109,38 +109,6 @@ return entry # }}} -def main(clientoptions, config, pc): - interface = cli() - - # check if it is a search or not. - - if clientoptions.add: - pc.importPasswordsPlain(config.file,"\t",config.encryption,config.vcs) - pc.fillSQLite() - pc.flushPasswordsPlain() - pc.addEntry(interface.newEntry(pc.getCollumns())) - pc.recipients = config.users - pc.dumpSQLite() - pc.exportPasswordsPlain(config.file,"\t",config.encryption,config.vcs) - - elif clientoptions.delete: - pc.importPasswordsPlain(config.file,"\t",config.encryption,config.vcs) - pc.fillSQLite() - pc.flushPasswordsPlain() - pc.delEntry(clientoptions.delete) - pc.recipients = config.users - pc.dumpSQLite() - pc.exportPasswordsPlain(config.file,"\t",config.encryption,config.vcs) - - else: - pc.importPasswordsPlain(config.file,"\t",config.encryption,config.vcs) - pc.fillSQLite() - pc.flushPasswordsPlain() - searchPatterns = sys.argv - del searchPatterns[0] - interface.listOutput(pc.findPassword(searchPatterns)) - - # EOF -# vim:foldmethod=marker:tabstop=3:autoindent +# vim:foldmethod=marker:tabstop=3:autoindent:shiftwidth=3 Modified: trunk/src/spdCore.py =================================================================== --- trunk/src/spdCore.py 2009-09-06 15:35:32 UTC (rev 269) +++ trunk/src/spdCore.py 2009-09-06 21:02:57 UTC (rev 270) @@ -47,9 +47,13 @@ # creates an internal memory-based SQLite database and declares a # a the self.__table dictionary # file: string, the config-file - def __init__(self,file): #{{{ + def __init__(self,file,debug=0): #{{{ - self.__sql = sqlite3.connect(":memory:") + if not debug: + self.__sql = sqlite3.connect(":memory:") + else: + self.__sql = sqlite3.connect("/tmp/spd_debug.db") + self.__table = {} # read the config @@ -167,7 +171,7 @@ if (encryption == "GnuPG"): fobj = GPGFile() - fobj.open(file,"w",self.recipients) + fobj.open(file,"w",self.users) else: fobj = open(file,"w") @@ -207,30 +211,35 @@ cursor = self.__sql.cursor() count = 0 - # cursor.execute("IF EXISTS DROP TABLE passwords") - query = "CREATE TABLE passwords (" - insertStatement = "INSERT into passwords VALUES ( " + query = "CREATE TABLE passwords ( __ID INTEGER PRIMARY KEY," + self.__insertStatement = "INSERT into passwords ( " + insertValues = "" for collumns in self.__table: # first create the table count += 1 query += collumns + " TEXT" - insertStatement += ":" + collumns + insertValues += ":" + collumns + self.__insertStatement += collumns if (count == len(self.__table)): # write ) if last collumn query += ")" - insertStatement += ")" + self.__insertStatement += ")" + insertValues += ")" else: # otherwise write a , query += ", " - insertStatement += ", " + self.__insertStatement += ", " + insertValues += ", " cursor.execute(query) - + + self.__insertStatement += ' VALUES (' + insertValues + for i in range(0,len(self.__table[collumns])): values = {} for collumns in self.__table: values[collumns] = self.__table[collumns][i] try: - cursor.execute(insertStatement, values) + cursor.execute(self.__insertStatement, values) except sqlite3.OperationalError: #DEBUG print values @@ -253,17 +262,14 @@ # create the query count = 0 - query = "select * from passwords where (" - - for filter in patterns: - for collumns in self.__table: - if (collumns != self.passwordField): - query += collumns + " like '%" + filter + "%' or " - count += 1 - - query = re.sub(r'or $',') and (',query) # delete the last - query = re.sub(r'\) and \($',')',query) # delet the last + searchCollumns = '' + for i in self.__table: + searchCollumns += i + ',' + searchCollumns = re.sub(r',$','',searchCollumns) + + query = "select " + searchCollumns + " from passwords where " + self.__buildWhere(patterns) + cursor.execute(query) # convert the result in a Dictionary @@ -284,28 +290,12 @@ self.__table[collumns] = [] #}}} - # defines the receipients for encryption - # recipients: list of strings - def setRecipients(self,recipients): # {{{ - self.recipients = recipients - # }}} - # add a new entry # entry: dictionary like self.__table def addEntry(self, entry): # {{{ cursor = self.__sql.cursor() - insertStatement = "INSERT into passwords VALUES ( " count = 0 - for i in entry: - count += 1 - insertStatement += ":" + i - if (count != len(entry)): - insertStatement += ", " - else: - insertStatement +=')' - - #print insertStatement - cursor.execute(insertStatement, entry) + cursor.execute(self.__insertStatement, entry) self.__sql.commit() del entry @@ -315,11 +305,17 @@ # patterns: list of strings def delEntry(self,patterns): #{{{ cursor = self.__sql.cursor() - + # create the query - count = 0 - query = "delete from passwords where (" + query = "delete from passwords where " + self.__buildWhere(patterns) + cursor.execute(query) + #}}} + + # internal to build the WHERE + def __buildWhere(self,patterns): # {{{ + count = 0 + query = '(' for filter in patterns: for collumns in self.__table: if (collumns != self.passwordField): @@ -329,10 +325,9 @@ query = re.sub(r'or $',') and (',query) # delete the last query = re.sub(r'\) and \($',')',query) # delet the last - cursor.execute(query) - - #}}} - + return query + #}}} + # return a list of used collumns def getCollumns(self): # {{{ return self.__table.keys() @@ -392,4 +387,4 @@ # }}} # EOF -# vim:foldmethod=marker:tabstop=3:autoindent +# vim:foldmethod=marker:tabstop=3:autoindent:shiftwidth=3 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Sebastian C. <sca...@po...> - 2009-09-06 17:41:23
|
Hi klaus, > I had an idea for a mascot which could lead to a logo: I like Brachiopods > That's totally fine with me :) regards, Sebastian |
From: <tre...@us...> - 2009-09-06 15:35:45
|
Revision: 269 http://spd.svn.sourceforge.net/spd/?rev=269&view=rev Author: treibholz Date: 2009-09-06 15:35:32 +0000 (Sun, 06 Sep 2009) Log Message: ----------- removed the class config. PasswordContainer now gets the configuration by its constructor. Modified Paths: -------------- trunk/src/spd trunk/src/spdCore.py Modified: trunk/src/spd =================================================================== --- trunk/src/spd 2009-09-05 11:05:52 UTC (rev 268) +++ trunk/src/spd 2009-09-06 15:35:32 UTC (rev 269) @@ -47,9 +47,8 @@ (options, args) = parser.parse_args() # }}} -config = spdCore.config('~/.spd/config') -pc = spdCore.PasswordContainer() -pc.importPasswordsPlain(config.file,"\t",config.encryption,config.vcs) +pc = spdCore.PasswordContainer('~/.spd/config') +pc.importPasswordsPlain() pc.fillSQLite() pc.flushPasswordsPlain() @@ -61,13 +60,13 @@ pc.addEntry(interface.newEntry(pc.getCollumns())) pc.recipients = config.users pc.dumpSQLite() - pc.exportPasswordsPlain(config.file,"\t",config.encryption,config.vcs) + pc.exportPasswordsPlain() elif options.delete: pc.delEntry(options.delete) pc.recipients = config.users pc.dumpSQLite() - pc.exportPasswordsPlain(config.file,"\t",config.encryption,config.vcs) + pc.exportPasswordsPlain() elif options.pwonly: searchPatterns = sys.argv Modified: trunk/src/spdCore.py =================================================================== --- trunk/src/spdCore.py 2009-09-05 11:05:52 UTC (rev 268) +++ trunk/src/spdCore.py 2009-09-06 15:35:32 UTC (rev 269) @@ -46,21 +46,61 @@ # The Constructor # creates an internal memory-based SQLite database and declares a # a the self.__table dictionary - def __init__(self): #{{{ + # file: string, the config-file + def __init__(self,file): #{{{ + self.__sql = sqlite3.connect(":memory:") self.__table = {} - self.passwordField = "Password" + # read the config + file = os.path.expanduser(file) + c = ConfigParser.RawConfigParser() + + if os.access(file,os.F_OK): + c.read(file) + else: # generate the config if not there # {{{ + c.add_section('Main') + c.set('Main','file','~/.spd/spd_data.gpg') + c.set('Main','passwordField','Password') + c.set('Main','encryption','GnuPG') + c.set('Main','vcs','none') + + c.add_section('Users') + c.set('Users', 'User1', "Klaus Umbach") + c.set('Users', 'User2', "Klaus Windows") + + c.add_section('Colors') + c.set('Colors','passwordFG','brightblue') + c.set('Colors','passwordBG','blue') + configfile = open(file, 'wb') + c.write(configfile) + # }}} + + # set the configuration variables + self.file = os.path.expanduser(c.get('Main','file')) + self.encryption = c.get('Main','encryption') + self.passwordField = c.get('Main', 'passwordField') + self.separator = '\t' + + self.vcs = c.get('Main','vcs') + + + self.users=[] + for i in c.items('Users'): + self.users.append(i[1]) + + + #}}} - # Read what-ever-separated passwordfile - # file: string - # separator: string - # encryption: string - # currently either "GnuPG" or "none" - # vcs: string - # currently either "SVN" or "none" - def importPasswordsPlain(self,file,separator,encryption,vcs): #{{{ + # read passwordfile + def importPasswordsPlain(self): #{{{ + vcs = self.vcs + encryption = self.encryption + file = self.file + separator = self.separator + + if (vcs == "svn"): svn = pysvn.Client() svn.update(file) @@ -116,14 +156,15 @@ return True #}}} - # write as what-ever-separated passwordfile - # file: string - # separator: string - # encryption: string - # currently either "GnuPG" or "none" - # vcs: string - # currently either "SVN" or "none" - def exportPasswordsPlain(self,file,separator,encryption,vcs): #{{{ + # write passwordfile + def exportPasswordsPlain(self): #{{{ + vcs = self.vcs + encryption = self.encryption + + file = self.file + separator = self.separator + + if (encryption == "GnuPG"): fobj = GPGFile() fobj.open(file,"w",self.recipients) @@ -350,50 +391,5 @@ # }}} -class config(object): # {{{ - - def __init__(self,file): # {{{ - - file = os.path.expanduser(file) - - c = ConfigParser.RawConfigParser() - - if os.access(file,os.F_OK): - c.read(file) - else: - c.add_section('Main') - c.set('Main','file','~/.spd/spd_data.gpg') - c.set('Main','passwordField','Password') - c.set('Main','encryption','GnuPG') - c.set('Main','vcs','none') - - c.add_section('Users') - c.set('Users', 'User1', "Klaus Umbach") - c.set('Users', 'User2', "Klaus Windows") - - c.add_section('Colors') - c.set('Colors','passwordFG','brightblue') - c.set('Colors','passwordBG','blue') - configfile = open(file, 'wb') - c.write(configfile) - - # set the configuration variables - self.file = os.path.expanduser(c.get('Main','file')) - self.encryption = c.get('Main','encryption') - - self.vcs = c.get('Main','vcs') - - - self.users=[] - for i in c.items('Users'): - self.users.append(i[1]) - - - # }}} - - - -# }}} - # EOF # vim:foldmethod=marker:tabstop=3:autoindent This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Klaus U. <tre...@so...> - 2009-09-05 12:00:33
|
hi, I had an idea for a mascot which could lead to a logo: I like Brachiopods http://en.wikipedia.org/wiki/Brachiopod or in German: http://de.wikipedia.org/wiki/Brachiopoden I would like a special kind, which is found in the region, my parents are from, because I collected lots of them when I was a child. http://upload.wikimedia.org/wikipedia/de/7/7a/Coenothyris_vulgaris_140409.jpg They have a very simple shape and the logo would be very simple, too. The only problem is: they are a very old phylum and were very successfull a few hundred million years ago but today they are almost extinct... What do you think about it? - Klaus -- BOFH excuse #4: static from nylon underwear |
From: Klaus U. <tre...@so...> - 2009-09-05 11:13:35
|
Hi, I installed a svnnotify hook to this list. It includes a diff. These mails can be quite big. If someone doesn't like that. Please tell me, so I turn of sending the diff. (This is more like an experiment to test if this makes sence anyway) - Klaus -- BOFH excuse #228: That function is not currently supported, but Bill Gates assures us it will be featured in the next upgrade. |
From: <tre...@us...> - 2009-09-05 11:06:03
|
Revision: 268 http://spd.svn.sourceforge.net/spd/?rev=268&view=rev Author: treibholz Date: 2009-09-05 11:05:52 +0000 (Sat, 05 Sep 2009) Log Message: ----------- moved to doc and changed svnnotify Added Paths: ----------- trunk/doc/spd_modules.dot Removed Paths: ------------- trunk/spd_modules.dot Copied: trunk/doc/spd_modules.dot (from rev 266, trunk/spd_modules.dot) =================================================================== --- trunk/doc/spd_modules.dot (rev 0) +++ trunk/doc/spd_modules.dot 2009-09-05 11:05:52 UTC (rev 268) @@ -0,0 +1,40 @@ +graph ER { + overlap=false; + node [shape=doubleoctagon color=red style=filled fontsize=20] Core; + + node [shape=box color=grey fontsize=12]; + + Core -- UI; + Core -- Encryption; + Core -- Storage; + Core -- Server; + Encryption -- Storage [style=dotted]; + + node [shape=ellipse color=yellow]; + + UI -- Tk; + UI -- WxWidgets; + UI -- cli; + UI -- ncurses; + + node [color=green]; + Encryption -- OpenSSL; + Encryption -- GnuPG; + + + node [color=blue]; + Storage -- tsv; + Storage -- SQLite; + + node [color=brown1]; + Server -- RCS; + Server -- Fileshare; + Server -- rsync; + + node [shape=diamond color=brown3]; + RCS -- Subversion; + RCS -- CVS; + RCS -- git; + + label = "\nSPD 0.3 \"Codename: Verräterpartei\" \n Modules - Brainstorming"; +} Property changes on: trunk/doc/spd_modules.dot ___________________________________________________________________ Added: svn:mergeinfo + Deleted: trunk/spd_modules.dot =================================================================== --- trunk/spd_modules.dot 2009-09-05 10:58:44 UTC (rev 267) +++ trunk/spd_modules.dot 2009-09-05 11:05:52 UTC (rev 268) @@ -1,40 +0,0 @@ -graph ER { - overlap=false; - node [shape=doubleoctagon color=red style=filled fontsize=20] Core; - - node [shape=box color=grey fontsize=12]; - - Core -- UI; - Core -- Encryption; - Core -- Storage; - Core -- Server; - Encryption -- Storage [style=dotted]; - - node [shape=ellipse color=yellow]; - - UI -- Tk; - UI -- WxWidgets; - UI -- cli; - UI -- ncurses; - - node [color=green]; - Encryption -- OpenSSL; - Encryption -- GnuPG; - - - node [color=blue]; - Storage -- tsv; - Storage -- SQLite; - - node [color=brown1]; - Server -- RCS; - Server -- Fileshare; - Server -- rsync; - - node [shape=diamond color=brown3]; - RCS -- Subversion; - RCS -- CVS; - RCS -- git; - - label = "\nSPD 0.3 \"Codename: Verräterpartei\" \n Modules - Brainstorming"; -} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tre...@us...> - 2009-09-05 10:59:03
|
Revision: 267 http://spd.svn.sourceforge.net/spd/?rev=267&view=rev Author: treibholz Date: 2009-09-05 10:58:44 +0000 (Sat, 05 Sep 2009) Log Message: ----------- Website slightly updated and test svnnotify to spd-devel Modified Paths: -------------- trunk/doc/wiki-src/Roadmap.mdwn trunk/doc/wiki-src/index.mdwn Added Paths: ----------- trunk/doc/upload.txt This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Sebastian C. <sca...@po...> - 2009-09-03 07:31:29
|
> I do not know any application that behaves that way. good point..me either :) > I don't like this solution. If you really want to have one command, then > use a symlink that points to the frontend you like. Ok..i can live with having different executables :) Because it hurts me too much, can anyone other reverse my damngood changes? :) regards, Sebastian -- A: Yes. >Q: Are you sure? >>A: Because it reverses the logical flow of conversation. >>>Q: Why is top posting frowned upon? |
From: Klaus U. <tre...@so...> - 2009-09-02 19:33:30
|
On 02/09/09 09:32, Sebastian Cabrera wrote: > Hi Klaus, > >> implemented) a parameter (And those who use GUIs hate parameters!). > > but if they hate parameters, how do they use the cli using SSH ? good point... > I think its a good idea to have this in the main configuration. You can > choose on first start if you want to use the CLI or the GUI and thats > written into the configuration file. Once you want to change it you can > change it permanently or maybe temporary with something like > --temporary-use=cli (just came up my mind). I do not know any application that behaves that way. Every app uses different executables (like vim vs. gvim). I find this very confusing. Plus spd-cli and spd-gui will be completely different applications, they just work with the same data. I don't like this solution. If you really want to have one command, then use a symlink that points to the frontend you like. - Klaus -- BOFH excuse #63: not properly grounded, please bury computer |
From: Sebastian C. <sca...@po...> - 2009-09-02 08:06:44
|
Hi Klaus, > implemented) a parameter (And those who use GUIs hate parameters!). but if they hate parameters, how do they use the cli using SSH ? I think its a good idea to have this in the main configuration. You can choose on first start if you want to use the CLI or the GUI and thats written into the configuration file. Once you want to change it you can change it permanently or maybe temporary with something like --temporary-use=cli (just came up my mind). regards, Sebastian -- A: Yes. >Q: Are you sure? >>A: Because it reverses the logical flow of conversation. >>>Q: Why is top posting frowned upon? |
From: Klaus U. <tre...@us...> - 2009-09-02 06:13:11
|
Hi, I'm not sure whether this is a good idea or not. I recommend to separate GUI and CLI completely. Imagine you normally use the GUI and want to lookup a password via ssh, you would have to change the ini or (in case it will be implemented) a parameter (And those who use GUIs hate parameters!). For me it makes no sense to combine them into one executable. I would prefer an 'spd' and an e.g. 'spd-gui'. - Klaus ----- Forwarded message from Z3...@us... ----- From: Z3...@us... To: tre...@us... Date: Tue, 01 Sep 2009 21:50:11 +0000 Subject: SF.net SVN: spd:[265] trunk/src Revision: 265 http://spd.svn.sourceforge.net/spd/?rev=265&view=rev Author: Z3po Date: 2009-09-01 21:50:11 +0000 (Tue, 01 Sep 2009) Log Message: ----------- changed behaviour of spd mainmodule. It just should manage spdCLI or spdGUI without doing anything productive. Modified Paths: -------------- trunk/src/spd trunk/src/spdCLI.py trunk/src/spdCore.py This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ----- End forwarded message ----- -- Klaus Umbach Pfinztalstrasse 15 76227 Karlsruhe-Durlach Germany Je mehr Vergnügen du an deiner Arbeit hast, um so besser wird sie bezahlt. -- Mark Twain |
From: Klaus U. <tre...@us...> - 2009-08-27 13:09:29
|
I added some coding guidelines (well, ONE). These are not untouchable! I'm open for discussions. More suggestions are welcome! - Klaus |
From: Klaus U. <tre...@us...> - 2009-08-27 09:03:47
|
We (the SPD-Team), decided to switch to Python for the rewrite of SPD in 0.3. The first tests results are: * faster * easier to port on Windows * faster to develop We are looking forward to a great future! Stay tuned for more exciting News! - Klaus -- The only winning move, is not to play. |
From: Sebastian C. <sca...@po...> - 2009-04-24 15:18:28
|
Hi everybody, I just posted our release version 0.2 of the great simple password displayer. Now take all a deep breath and start thinking about version 0.3 :) best regards, Sebastian -- A: Yes. >Q: Are you sure? >>A: Because it reverses the logical flow of conversation. >>>Q: Why is top posting frowned upon? |
From: Sebastian C. <sca...@po...> - 2009-04-22 21:01:25
|
Hi Daniel, > Only think I can think of is to test to make sure 0.2 can be called via > a symbolic link - I think 0.1 made some path assumptions. that should work without any problems. We just substituted the path assumption thing :) > I also have the quick-and-dirty packaging patch in > http://sourceforge.net/tracker/?func=detail&aid=2132740&group_id=230162&atid=1079429 > , but I think it's fine keeping that separate if people don't want to > integrate it for whatever reason. Maybe we can support already built deb and rpm binaries starting with version 0.3. If you want to do this packaging thing you are very welcome :) best regards, Sebastian |
From: Daniel C. <dc...@po...> - 2009-04-22 20:02:16
|
Sebastian Cabrera wrote: > Hi everybody, > > if there are no really urgent feature requests or bugs i would like to > release version 0.2 of spd as fast as possible. > To be honest every change on our current trunk is needless work as > version 0.3 will be a complete rewrite to have a more suggestive modularity. > In version 0.3 we will start building a graphical user interface and > will hopefully implement svn functionality. > > Does anyone have any bugs or feature requests which should be fullfilled > or fixed in version 0.2? > > I also heared that cchrisch will join us again as fast as he does have > internet connectivity :) > > Hopefully we will start writing the new version being rested and full of > energy :) > > thanks, > best regards, > > Sebastian Only think I can think of is to test to make sure 0.2 can be called via a symbolic link - I think 0.1 made some path assumptions. I also have the quick-and-dirty packaging patch in http://sourceforge.net/tracker/?func=detail&aid=2132740&group_id=230162&atid=1079429 , but I think it's fine keeping that separate if people don't want to integrate it for whatever reason. -- Daniel JB Clark | Sys Admin, Free Software Foundation pobox.com/~dclark | http://www.fsf.org/about/staff#danny |
From: Sebastian C. <sca...@po...> - 2009-04-22 19:21:36
|
Hi everybody, if there are no really urgent feature requests or bugs i would like to release version 0.2 of spd as fast as possible. To be honest every change on our current trunk is needless work as version 0.3 will be a complete rewrite to have a more suggestive modularity. In version 0.3 we will start building a graphical user interface and will hopefully implement svn functionality. Does anyone have any bugs or feature requests which should be fullfilled or fixed in version 0.2? I also heared that cchrisch will join us again as fast as he does have internet connectivity :) Hopefully we will start writing the new version being rested and full of energy :) thanks, best regards, Sebastian -- A: Yes. >Q: Are you sure? >>A: Because it reverses the logical flow of conversation. >>>Q: Why is top posting frowned upon? |
From: Sebastian C. <sca...@po...> - 2009-03-26 18:04:42
|
Daniel Clark wrote: > > you were successfull :) > Thank you so much ;) |
From: Daniel C. <dc...@po...> - 2009-03-25 22:10:14
|
Sebastian Cabrera wrote: > test you were successfull :) -- Daniel JB Clark | Sys Admin, Free Software Foundation pobox.com/~dclark | http://www.fsf.org/about/staff#danny |
From: Sebastian C. <sca...@po...> - 2009-03-25 14:00:27
|
test -- A: Yes. >Q: Are you sure? >>A: Because it reverses the logical flow of conversation. >>>Q: Why is top posting frowned upon? |
From: Klaus U. <tre...@so...> - 2008-10-19 11:06:11
|
On 14/10/08 17:05, Daniel Clark wrote: > A little while ago I did a quick hack to get a .deb of spd using epm [1]. > > I'd like to now work on a proper policy-compliant .deb package for spd > and try to get it included in debian and ubuntu (I'm not a debian > developer, but have many friends who are so doubt I would have trouble > finding a sponsor). Would that be cool with the authors of spd? That would be great, as of the two main spd-developers are debian-users, too. > > This wouldn't replace the work in [1] as epm can be made to produce > packages for a lot of packages other than .deb. > > Other than including a updated version of the extra doc/examples in > [1] and creating a README.Debian file, I'd probably create a shell > script wrapper for spd, and add a /etc/default/spd file with optional > user exits to be run before/after each spd invocation (so a site could > force an svn update before each spd run and a svn commit after each > run). I already wrote a similar script (.sh and .bat) for the SVN-integration. > > I'd base off of current svn trunk unless people would prefer I wait > for the 0.2-release. We scheduled "The 1. SPD-CodeNight" for next friday, for code cleanups and the svn-integration, better support for Windows, a proper Makefile and so on, and maybe we will be able to release 0.2 that weekend. A serverside configuration and serverside pubkeys would be cool, too. > Also FYI I pimped spd on sage-members mailing list [2] :-) Great! Thanks! :-) - Klaus > > [1] [ 2132740 ] Add packaging to spd via epm > http://sourceforge.net/tracker/index.php?func=detail&aid=2132740&group_id=230162&atid=1079429 > > [2] Re: [SAGE] Multi-user password safe.. > http://www.sage.org/lists/sage-members-archive/2008/msg01490.html > > Cheers, > -- > Daniel JB Clark # http://opensysadmin.com > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Spd-devel mailing list > Spd...@li... > https://lists.sourceforge.net/lists/listinfo/spd-devel > -- BOFH excuse #134: because of network lag due to too many people playing deathmatch |
From: Daniel C. <dc...@po...> - 2008-10-14 22:40:09
|
A little while ago I did a quick hack to get a .deb of spd using epm [1]. I'd like to now work on a proper policy-compliant .deb package for spd and try to get it included in debian and ubuntu (I'm not a debian developer, but have many friends who are so doubt I would have trouble finding a sponsor). Would that be cool with the authors of spd? This wouldn't replace the work in [1] as epm can be made to produce packages for a lot of packages other than .deb. Other than including a updated version of the extra doc/examples in [1] and creating a README.Debian file, I'd probably create a shell script wrapper for spd, and add a /etc/default/spd file with optional user exits to be run before/after each spd invocation (so a site could force an svn update before each spd run and a svn commit after each run). I'd base off of current svn trunk unless people would prefer I wait for the 0.2-release. Also FYI I pimped spd on sage-members mailing list [2] :-) [1] [ 2132740 ] Add packaging to spd via epm http://sourceforge.net/tracker/index.php?func=detail&aid=2132740&group_id=230162&atid=1079429 [2] Re: [SAGE] Multi-user password safe.. http://www.sage.org/lists/sage-members-archive/2008/msg01490.html Cheers, -- Daniel JB Clark # http://opensysadmin.com |