Example #1
0
 def __init__(self, context):
     self.context = context
     childContext = Context(context)
     childContext.addService(Logger("SecurityDBApi"))
     self.securityApi = SecurityDBApi(childContext)
     self.securityTokenFactory = SecurityTokenFactory(
         childContext, CherryPySecurityTokenImpl)
     self.siteDBApi = self.securityApi.api
     context.addService(self.securityApi)
     context.addService(self.siteDBApi)
     context.addService(self.securityTokenFactory)
     RedirectorToLogin.context = staticmethod(lambda: self.context)
     RedirectToLocalPage.context = staticmethod(lambda: self.context)
     RedirectAway.context = staticmethod(lambda: self.context)
Example #2
0
 def __init__ (self, context):
     self.context = context
     Controller.__init__ (self, context, __file__)
     self.security_api = SecurityDBApi (context)
     self.context.addService (self.security_api)
     self.context.addService (Logger ("SECURITY_MODULE_CONTROLLER"))
Example #3
0
import codecs

if __name__ == "__main__":
    parser = OptionParser()
    parser.add_option("-f",
                      "--file",
                      help="input HN shadow passwd",
                      default="passwd",
                      dest="source")
    parser.add_option("-d",
                      "--db",
                      help="target SiteDB database",
                      default="sitedb_test.db",
                      dest="db")
    options, args = parser.parse_args()
    context = Context()
    context.addService(Logger("importHNShadow"))
    api = SecurityDBApi(context)
    context.Logger().message("HN file is " + options.source)
    shadowFile = codecs.open(options.source, "r", "ascii", "replace")
    for line in shadowFile:
        contact = line.split(":")
        if " " in contact[4]:
            forename, surname = contact[4].split(" ", 1)
        else:
            forename, surname = (contact[4], contact[4])
        api.importHNAccount(username=contact[0].encode("ascii", "replace"),
                            passwd=contact[1],
                            forename=forename.encode("ascii", "replace"),
                            email=contact[7].strip(),
                            surname=surname.encode("ascii", "replace"))