Beispiel #1
0
    def __init__(self, configFile):
         self.sock = ''
         self.recvThread = ''
         self.line = u''
	 self.exit = False
	 self.moduleList = { }
	 self.DCC_Connections = [ ]
	 self.configFile = configFile
         self.configuration = ConfigParser.ConfigParser()
	 self.configuration.read(self.configFile)
	 self.threadConfig()
	 self.threadChkDCCs()
	 self.DCC_ports = re.split(',', self.configuration.get('irc', 'dcc_ports'))
	 self.ownIP = ''
	 self.logger = logs.logger(self.configuration.get('logs', 'loglevel'), self.configuration.get('logs', 'coding'), self.configuration.get('logs', 'channel'), \
	                                                  self.configuration.get('logs', 'dcc'), self.configuration.get('logs', 'debug'), \
							  self.configuration.get('logs', 'irc'), self.configuration.get('logs', 'private'))
	 self.server = self.configuration.get('irc', 'server')
	 self.port = self.configuration.get('irc', 'port')
	 self.nickname = self.configuration.get('irc', 'nickname').lower()
	 self.__password__ = self.configuration.get('irc', 'password')
	 self.ident = self.configuration.get('irc', 'ident')
	 self.realname = self.configuration.get('irc', 'realname')
	 self.modes = self.configuration.get('irc', 'modes')
	 self.db = xmlDB.dbXML(self.configuration.get('database', 'user'), self.configuration.get('database', 'akick'), self.configuration.get('database', 'service'), self.configuration.get('database', 'spam'))
	 self.channels = re.split(',', self.configuration.get('irc', 'channels'))
	 for section in self.configuration.sections():
	      if self.configuration.has_option(section, 'enable') and self.configuration.getboolean(section, 'enable'):
	           self.loadModule(section)
	 return
Beispiel #2
0
def download_mm(folder='OOXXgif'):
    os.mkdir(folder)
    os.chdir(folder)#切换到文件夹里面
    log = logs.logger()
    url='http://jandan.net/ooxx/'
    page_num = int(get_page(url))#获取页数
    print(page_num)
   
    for i in range(page_num):
        page_num-=1
        page_url = url+'page-'+str(page_num)+'#comments'
        img_addrs = find_imgs(log,page_url)
        save_imgs(folder,img_addrs)
Beispiel #3
0
 def __init__(self, configFile):
     self.sock = ''
     self.recvThread = ''
     self.line = u''
     self.exit = False
     self.moduleList = {}
     self.DCC_Connections = []
     self.configFile = configFile
     self.configuration = ConfigParser.ConfigParser()
     self.configuration.read(self.configFile)
     self.threadConfig()
     self.threadChkDCCs()
     self.DCC_ports = re.split(',',
                               self.configuration.get('irc', 'dcc_ports'))
     self.ownIP = ''
     self.logger = logs.logger(self.configuration.get('logs', 'loglevel'), self.configuration.get('logs', 'coding'), self.configuration.get('logs', 'channel'), \
                                                      self.configuration.get('logs', 'dcc'), self.configuration.get('logs', 'debug'), \
            self.configuration.get('logs', 'irc'), self.configuration.get('logs', 'private'))
     self.server = self.configuration.get('irc', 'server')
     self.port = self.configuration.get('irc', 'port')
     self.nickname = self.configuration.get('irc', 'nickname').lower()
     self.__password__ = self.configuration.get('irc', 'password')
     self.ident = self.configuration.get('irc', 'ident')
     self.realname = self.configuration.get('irc', 'realname')
     self.modes = self.configuration.get('irc', 'modes')
     self.db = xmlDB.dbXML(self.configuration.get('database', 'user'),
                           self.configuration.get('database', 'akick'),
                           self.configuration.get('database', 'service'),
                           self.configuration.get('database', 'spam'))
     self.channels = re.split(',',
                              self.configuration.get('irc', 'channels'))
     for section in self.configuration.sections():
         if self.configuration.has_option(
                 section, 'enable') and self.configuration.getboolean(
                     section, 'enable'):
             self.loadModule(section)
     return
#! /usr/bin/env python

import sys
import time

import client
import config
import logs
import wait

log = logs.logger('Create')

hints = { '0z0ne_target_host' : config.target_compute } if config.target_compute else None

def create(name, image=config.image, flavor=config.flavor, key_name=None, meta={}, files={}, timeout=config.timeout):
    image = client.nova.images.get(image)
    flavor = client.nova.flavors.get(flavor)
    if hints:
        log.info('Using compute host: {}'.format(hints.values()[0]))
    log.info('Creating server {} with {} flavor'.format(name, flavor.id))
    server = client.nova.servers.create(name, image, flavor, key_name=key_name, meta=meta, files=files, scheduler_hints=hints)
    log.info('Created server {} with password {}'.format(server.id, server.adminPass))
    if wait.has_state(server, 'ACTIVE', timeout):
        info = 'Server has started'
        if server.accessIPv4 or server.addresses['private'][0]['addr']:
            info += ' with '
        if server.accessIPv4:
            info += 'public-net IP {}'.format(server.accessIPv4)
        if server.accessIPv4 and server.addresses['private'][0]['addr']:
            info += ' and '
        if server.addresses['private'][0]['addr']:
#! /usr/bin/env python

import sys
import time

import novaclient

import client
import config
import get
import logs
import ssh

log = logs.logger('Wait')

def wait(id, state):
    server = get.server(id)
    has_state(server, state)

def has_state(server, state, timeout=config.timeout, silently=False):
    if not server:
        return
    log.info('Waiting until server {} status is {}'.format(server.id, state))
    limit = time.time() + timeout
    try:
        while time.time() < limit:
            time.sleep(1)
            try:
                result = client.nova.servers.get(server.id)
                if not silently:
                    log.info('Server {} is in state {}'.format(server.id, result.status))
import os
import re
import sys
import time

import client
import config
import create
import delete
import logs
import ssh
import wait

logging.getLogger(__name__).addHandler(logging.StreamHandler())

log = logs.logger('Stack')

args_parser = argparse.ArgumentParser(
    prog='stack.py',
    description='Containers tempest devstack vm setup',
    formatter_class=argparse.RawTextHelpFormatter)
args_parser.add_argument(
    '-r', '--reset',
    action='store_true',
    dest='reset',
    default=False,
    required=False,
    help='delete existing vm and start from scratch')
args_parser.add_argument(
    '-d', '--devstack-only',
    action='store_true',
 def scp_upload(self,localfile,remoteserver,destinationfile):
     logger().log("Uploading {} to {} at {} ".format(localfile,remoteserver,destinationfile))
     call('scp "%s" "%s:%s"' % (localfile,remoteserver,destinationfile))
     return
Beispiel #8
0
from selenium import webdriver
import time
from urllib.request import urlretrieve
import logs

if __name__ == "__main__":
        driver =webdriver.Chrome()
        log = logs.logger()
        gifNumber=0
        jpgn=0
        png=0
        pages = 0
        while pages <5102:
            try:          
                url = "http://www.haha.mx/pic/new/%s"%pages
                print(url)
                driver.get(url)
                time.sleep(5)
                pages=pages+1
                eles = driver.find_elements_by_tag_name("img")
                for i in eles:
                            if str(i.get_attribute("src")).find("gif")!=-1:#判断地址中是否包含gif字段
                                imgUrl = str(i.get_attribute("src"))
                                name =str(i.get_attribute("alt"))
                                log.info(imgUrl)
                                urlretrieve(imgUrl,'img/gif/%s.gif' %(str(gifNumber)+name))
                                gifNumber=gifNumber+1
                                print("第%s张gif图片"%gifNumber)
                            elif str(i.get_attribute("src")).find("jpg")!=-1::#判断地址中是否包含jpg字段
                                imgUrl = str(i.get_attribute("src"))
                                name =str(i.get_attribute("alt"))
#! /usr/bin/env python

import sys

import novaclient

import client
import logs

log = logs.logger('Get')

def server(id):
    try:
        log.info('Getting server with id {}'.format(id))
        server = client.nova.servers.get(id)
    except novaclient.openstack.common.apiclient.exceptions.NotFound as ex:
        log.error('No server with id {}'.format(id))
        sys.exit(1)
    return server

def main():
    if len(sys.argv) < 2:
        print "Please provide a server id"
        sys.exit(0)
    id = sys.argv[1]
    s = server(id)
    print '{}\t{}\t{}\t{}'.format(s.id, s.name, s.status, s.accessIPv4)

if __name__ == '__main__':
    main()
import socket
import sys
import time

import paramiko

import logs

default_config = '~/.ssh/config'
session = {}

username = pwd.getpwuid(os.getuid()).pw_name
logging.getLogger('paramiko.transport').setLevel(logging.WARNING)
paramiko.util.log_to_file('/tmp/paramiko-ssh-{}.log'.format(username))

log = logs.logger('SSH')

args_parser = argparse.ArgumentParser(
    prog='ssh.py',
    description='SSH to a remote host and execute a command',
    formatter_class=argparse.RawTextHelpFormatter)
args_parser.add_argument('remote_host',
    help='address or hostname for remote host')
args_parser.add_argument(
    '-i', '--identity-file',
    action='store',
    dest='identity',
    required=False,
    help='use an identity file for authentication')
args_parser.add_argument(
    '-p', '--password',
#! /usr/bin/env python

import sys

import novaclient

import get
import logs
import wait

log = logs.logger('Load')

def delete(id):
    server = get.server(id)
    try:
        if server.status == 'ACTIVE':
            log.info('Server {} is active'.format(server.id))
            stop(server)
        else:
            reset(server)
    except:
        log.error("Failed to reset server state")

    log.info('Deleting server {}'.format(server.id))
    result = server.delete()

    if result:
        log.info('Result of delete for server {}: {}'.format(id, result.__class__))

def stop(server):
    try:
#! /usr/bin/env python

import re
import sys

import novaclient

import client
import logs

log = logs.logger('Flavor')

def list_flavors(query=None):
    flavors = list()
    if query:
        p = re.compile('.*{}.*'.format(query), re.I)
    for flavor in client.nova.flavors.list():
        if query and p.match(flavor.name):
            flavors.append(flavor)
    return sorted(flavors, key=lambda f: f.id)

def get(flavor_id):
    try:
        return client.nova.flavors.get(flavor_id)
    except novaclient.openstack.common.apiclient.exceptions.NotFound as ex:
        log.error('Failed to get flavor: {}'.format(ex.message))

def main():
    query = sys.argv[1] if len(sys.argv) > 1 else None
    for flavor in list_flavors(query):
        print '{}\t{}'.format(flavor.id, flavor.name)