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
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)
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
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)