Example #1
0
def setup(user):
    os.environ['SSHPROXY_WIZARD'] = 'running'
    import config
    configdir = config.inipath

    if not os.path.isdir(configdir):
        print 'Creating config dir %s' % configdir
        os.makedirs(os.path.join(configdir, 'log'))

    config.get_config = config.Config(config.inifile)
    cfg = config.get_config('sshproxy')

    Wizard()
    print 'Setup done.'
    from backend import Backend
    from plugins import init_plugins
    init_plugins()
    clients = Backend().list_clients()
    print
    options = ' -c %s' % configdir
    if user:
        options += ' -u ' + user
    if not len(clients):
        print 'You can now add an administrator:'
        print '    sshproxy-setup%s --add-admin admin' % options
        print

    print 'To start sshproxy daemon, run the following command:'
    print '    ' + os.environ.get('INITD_STARTUP', 'sshproxyd%s' % (options))
Example #2
0
def setup(user):
    os.environ["SSHPROXY_WIZARD"] = "running"
    import config

    configdir = config.inipath

    if not os.path.isdir(configdir):
        print "Creating config dir %s" % configdir
        os.makedirs(os.path.join(configdir, "log"))

    config.get_config = config.Config(config.inifile)
    cfg = config.get_config("sshproxy")

    Wizard()
    print "Setup done."
    from backend import Backend
    from plugins import init_plugins

    init_plugins()
    clients = Backend().list_clients()
    print
    options = " -c %s" % configdir
    if user:
        options += " -u " + user
    if not len(clients):
        print "You can now add an administrator:"
        print "    sshproxy-setup%s --add-admin admin" % options
        print

    print "To start sshproxy daemon, run the following command:"
    print "    " + os.environ.get("INITD_STARTUP", "sshproxyd%s" % (options))
Example #3
0
File: load.py Project: stef/pywik
def init():
    global geoipdb, countries, ignorepaths, goodpaths, ignoremissing, filters
    # Load the database once and store it globally in interpreter memory.
    geoipdb = GeoIP.open('%s/data/GeoIP.dat' %
                         basepath,GeoIP.GEOIP_STANDARD)

    csvfile = open('%s/data/countrylist.csv' % basepath,'r')
    dialect = csv.Sniffer().sniff(csvfile.read(32768))
    csvfile.seek(0)
    headers = csv.reader(csvfile, dialect=dialect).next()
    reader = UnicodeDictReader(csvfile,
                               fieldnames=headers,
                               dialect=dialect)
    countries={}
    for line in reader:
        countries[line['ISO 3166-1 2 Letter Code']]=line
    csvfile.close()

    fp=open('%s/data/%s/ignorepaths' % (basepath, sys.argv[1]),'r')
    ignorepaths=[re.compile(x.strip()) for x in fp]
    fp.close()

    fp=open('%s/data/%s/ignoremissing' % (basepath, sys.argv[1]),'r')
    ignoremissing=[re.compile(x.strip()) for x in fp]
    fp.close()

    fp=open('%s/data/%s/goodpaths' % (basepath, sys.argv[1]),'r')
    goodpaths=[re.compile(r"%s" % x.strip()) for x in fp]
    fp.close()

    filters, queries=init_plugins(sys.argv[1])
Example #4
0
File: pywik.py Project: stef/pywik
def pywik(site, span=1):
    db=pymongo.Connection().pywik
    now=datetime.datetime.now()
    qspan = now - datetime.timedelta(days=(7 if span<8 else span))
    span = now - datetime.timedelta(days=span)

    res=[]
    reports=queries[:]
    reports.extend(init_plugins(site)[1])
    for title, q, fields in reports:
        #print >>sys.stderr, title, q, fields
        qsparks=dict([x for x in q.items()])
        qsparks["timestamp"]={'$gt': qspan, '$lt': now}

        q["timestamp"]={'$gt': span, '$lt': now}
        res.append(
            {'total': db.__getitem__(site).find(q, fields).count(),
             'fields': fields,
             'title': title,
             'sparks': tod3(db.__getitem__(site).group(fields+['year','month','day'],
                                                       qsparks,
                                                       {'count': 0},
                                                       'function(doc, out){ out.count++;}'),fields),
             'lines': [ (int(x['count']),
                         dict([(f,x[f]) for f in fields]) )
                        for x in sorted(db.__getitem__(site).group(fields,
                                                                   q,
                                                                   {'count': 0},
                                                                   'function(doc, out){ out.count++;}'),
                                        key=itemgetter('count'),
                                        reverse=True ) ] } )
    return res
Example #5
0
File: pywik.py Project: stef/pywik
def ascii():
    now=datetime.datetime.now()
    span=None
    for k, v in spans.items():
        if k in sys.argv:
            span = now - datetime.timedelta(days=v)
            del sys.argv[sys.argv.index(k)]
    if not span:
        span = now - datetime.timedelta(days=1)

    reports=[]
    queries.extend(init_plugins(sys.argv[1])[1])
    for title, q, fields in queries:
        if title in sys.argv:
            reports.append((title, q, fields))
            del sys.argv[sys.argv.index(title)]

    if not reports: reports=queries
    res=[]
    for title, q, fields in reports:
        q["timestamp"]={'$gt': span, '$lt': now}
        gfx, lo, hi = sparks(sys.argv[1], 'day', q)
        res.append((u"%30s %8s %s %s" % (title, lo, gfx, hi)).encode('utf8'))

        res.extend(displayQ(sys.argv[1], title, q, fields))
        res.append('='*80)
    return res
Example #6
0
def run_server(daemon=False, sock=None):
    log.info("sshproxy starting")

    try:
        try:
            init_plugins()
        except:
            log.exception("Could not initialize plugins...")
            raise
        try:
            if sock is None:
                sock = bind_server(daemon)
            Daemon(daemon, sock)
        except (KeyboardInterrupt, SystemExit):
            log.info("System exit")
            return
        except Exception, msg:
            log.exception("ERROR: sshproxy may have crashed:"
                                                    " AUTORESTARTING...")
    finally:
        log.info("sshproxy ending")
        os.abort()
Example #7
0
def run_server(daemon=False, sock=None):
    log.info("sshproxy starting")

    try:
        try:
            init_plugins()
        except:
            log.exception("Could not initialize plugins...")
            raise
        try:
            if sock is None:
                sock = bind_server(daemon)
            Daemon(daemon, sock)
        except (KeyboardInterrupt, SystemExit):
            log.info("System exit")
            return
        except Exception, msg:
            log.exception("ERROR: sshproxy may have crashed:"
                          " AUTORESTARTING...")
    finally:
        log.info("sshproxy ending")
        os.abort()
Example #8
0
File: kinski.py Project: ajm/herzog
    def __init__(self, portnumber, baseworkingdir, logdir, masterhostname, masterportnumber, plugindir='plugins', cores=None, verbose=False) :
        DaemonBase.__init__(self, baseworkingdir, logdir, herzogdefaults.KINSKI_LOG_FILENAME, verbose)

        self.resource = Resource()
        self.workers = {}
        self.masterurl = "http://%s:%d" % (masterhostname, masterportnumber)
        random.seed()

        self.resource.portnumber = portnumber # <hack>
        if cores != None :
            self.resource.cpucores = cores

        plugins.init_plugins(plugindir)
        
        self.server = SimpleXMLRPCServer((self.resource.hostname, portnumber))
        
        self.server.register_function(self.list_resources,  'list_resources')
        self.server.register_function(self.fragment_prep,   'fragment_prep' )
        self.server.register_function(self.fragment_start,  'fragment_start')
        self.server.register_function(self.fragment_stop,   'fragment_stop' )
        self.server.register_function(self.fragment_list,   'fragment_list' )
        self.server.register_introspection_functions()

        self.log.debug("initialised @ http://%s:%d" % (self.resource.hostname, portnumber))