From: <Z3...@us...> - 2010-09-05 11:34:10
|
Revision: 308 http://spd.svn.sourceforge.net/spd/?rev=308&view=rev Author: Z3po Date: 2010-09-05 11:34:04 +0000 (Sun, 05 Sep 2010) Log Message: ----------- first import of spdCLIi and change of spdInterface Module Modified Paths: -------------- branches/spd-ng/src/spdCheck.py Added Paths: ----------- branches/spd-ng/src/spdCLI.py branches/spd-ng/src/spdInterface.py Added: branches/spd-ng/src/spdCLI.py =================================================================== --- branches/spd-ng/src/spdCLI.py (rev 0) +++ branches/spd-ng/src/spdCLI.py 2010-09-05 11:34:04 UTC (rev 308) @@ -0,0 +1,24 @@ +#!/usr/bin/python + +import string + +class CLI(object): # {{{ + """This is the CLI Module. + Resistance is Futile""" + + output = "normal" + + def printPasswords(passdict): # {{{ + if output == 'normal': + for key in passdict: + print key + ':' + passdict[key].value + # }}} + + def findPasswordsInteractive(): # {{{ + searchstring = raw_input("Please give your Searchstrings separated by whitespace") + # }}} + +# }}} + +# EOF +# vim:foldmethod=marker:tabstop=3:autoindent:shiftwidth=3 Modified: branches/spd-ng/src/spdCheck.py =================================================================== --- branches/spd-ng/src/spdCheck.py 2010-09-05 11:17:17 UTC (rev 307) +++ branches/spd-ng/src/spdCheck.py 2010-09-05 11:34:04 UTC (rev 308) @@ -3,15 +3,26 @@ import spdConfig import os -class CHECK(object): +class CHECK(object): # {{{ + """This is the initcheck Configuration Module + Checks if everything is there to perform :)""" - def __init__(self,module): + spddir = os.path.expanduser('~/.spd/') + + def __init__(self,module): # {{{ if module == "spdInterface": + self.checkSPDdir() self.checkConfigFile() elif module == "spdCore": pass + # }}} - def checkConfigFile(self): + def checkSPDdir(self): # {{{ + if not os.access(self.spddir, os.F_OK): + os.mkdir(spddir) + # }}} + + def checkConfigFile(self): # {{{ config = spdConfig.CONFIG() if config.checkConfigFileExist(): if config.checkConfigFileReadable(): @@ -34,11 +45,16 @@ newconfig.createDefaultConfig(config) else: config.ErrorHandler("CONFIGFILE PATH NOT WRITEABLE") + # }}} +# }}} -class DEFAULTS(object): +class DEFAULTS(object): # {{{ - def createDefaultConfig(self,config): + def createDefaultConfig(self,config): # {{{ config.setSection("Main") config.setSPDversion("0.3") + # }}} +# }}} -test = CHECK("spdInterface") +# EOF +# vim:foldmethod=marker:tabstop=3:autoindent:shiftwidth=3 Added: branches/spd-ng/src/spdInterface.py =================================================================== --- branches/spd-ng/src/spdInterface.py (rev 0) +++ branches/spd-ng/src/spdInterface.py 2010-09-05 11:34:04 UTC (rev 308) @@ -0,0 +1,107 @@ +#!/usr/bin/python + +import spdCheck +import spdCore +import spdCLI +from optparse import OptionParser + +version = "0.3-alpha" + +class INTERFACE(object): # {{{ + + clientmode = "CLI" + + def __init__(self,clientmode="CLI"): # {{{ + """Do some checks before we start""" + check = spdCheck.CHECK("spdInterface") + del check + + if clientmode == 'CLI': + self.client = spdCLI.CLI() + # }}} + + def findPasswords(searchString='%',interactive=False): # {{{ + """Find the passwords interactively or by searchlist handed. + print the results in output format. + searchlist: optional list of keywords to search for + interactive: shall the interface ask for the keywords?""" + + if not interactive: + searchlist = string.split(searchString) + else: + searchlist = self.client.findPasswordsInteractive() + + passdict = spdCore.searchEntry(searchlist) + printPasswords(passdict) + # }}} + + +# }}} + +# {{{ OptionParser stuff +parser = OptionParser( "%prog [Options] [Keywords]", + description = "SPD - Simple Password Displayer", + version = version, + epilog = "With no parameters it will print out everything!") + +#parser.add_option( "-d", "--delete", +# metavar="Keywords", +# dest ="delete", +# help ="Entries to delete") +# +#parser.add_option( "-e", "--edit", +# metavar="ID", +# dest ="edit", +# help ="ID to edit") +# +#parser.add_option( "-i", "--delete-id", +# metavar="ID", +# dest ="deleteID", +# help ="ID to delete") +# +#parser.add_option( "--id", +# dest ="id", +# help ="Show Password by ID") +# +#parser.add_option( "-a", "--add", +# action="store_true", +# dest = "add", +# default=False, +# help = "Add an Entry") +# +#parser.add_option( "--add-collumn", +# metavar="Collumn", +# dest = "addcollumn", +# default=False, +# help = "Add a Collumn to Passfile") +# +#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)") +# +#parser.add_option( "-l", "--local", +# action="store_true", +# dest = "localStore", +# default=False, +# help = "do not operate on the configured RCS, only use the local password container") +# +#parser.add_option( "--passfile", +# dest = "passfile", +# help = "do not use the confgured passfile but the one given here") + +(options, args) = parser.parse_args() +# }}} + +interface = INTERFACE() +interface.findPassword(args) + +# EOF +# 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. |