示例#1
0
文件: deploy.py 项目: sysalexis/lfm
def deploy_file(path, kwargs, config):
	with utils.directory(os.path.dirname(path)):
		config.update(kwargs)
		if 'FunctionName' not in config:
			clip.exit('You must provide a function name', err=True)
		# Zip up directory
		utils.make_zip(config['FunctionName'])
		# Upload!
		upload(config['FunctionName'], config)
示例#2
0
文件: deploy.py 项目: sysalexis/lfm
def deploy_dir(path, kwargs):
	with utils.directory(path):
		config = utils.load_config()
		config['config'].update(kwargs)
		if 'FunctionName' not in config['config']:
			clip.exit('You must provide a function name', err=True)
		# Remove ignore paths
		for e in config['ignore'] + ['.git/', '.gitignore']:
			utils.delete_resource(e)
		# Run install command
		if 'install' in config:
			utils.shell(config['install'])
		# Zip up directory
		utils.make_zip(config['config']['FunctionName'])
		# Upload!
		params = config['config']
		upload(params['FunctionName'], params)
示例#3
0
文件: api_v1.py 项目: Andy1621/CDR
 def get(self):
     res = {"state": "fail"}
     try:
         project_code = request.args.get('project_code')
         basedir = os.path.abspath(os.path.dirname(__file__))
         out_filename = basedir + '/static/zip/' + project_code + '.zip'
         db_res = db.require_attachments(project_code)
         if db_res['state'] == 'fail':
             res['reason'] = db_res['reason']
             raise FError
         source_list = db_res['project_files']
         make_zip(source_list, out_filename)
         res['state'] = 'Success'
         res['url'] = Config.DOMAIN_NAME + '/static/zip/' + project_code + '.zip'
     except:
         res['reason'] = '可能是打包错误,查看本地是否有数据库中的数据'
         # this is a test for keyboard. Well, not bad. I must admit that, this is better than mine.
     finally:
         return jsonify(res)
示例#4
0
文件: deploy.py 项目: T2BE/lfm
def upload(params):
	zipfile = params['FunctionName']
	utils.make_zip(zipfile)  # Zip up directory
	with open(zipfile + ".zip", 'rb') as f:
		zip_bytes = f.read()
	# Now we're ready to upload!
	clip.echo('Deploying function "{}"...'.format(zipfile))
	client = boto3.client('lambda')
	upsert = params.pop('upsert', False)
	try:
		if upsert:
			# We can override an existing function, check if we need to
			try:
				client.get_function_configuration(FunctionName=zipfile)
				# If we made it here, we need to update
				response = client.update_function_code(FunctionName=zipfile, ZipFile=zip_bytes)
				clip.echo('Update code response: {}'.format(
					response['ResponseMetadata']['HTTPStatusCode']
				))
				params.pop('Runtime', None)
				response = client.update_function_configuration(**params)
				clip.echo('Update configuration response: {}'.format(
					response['ResponseMetadata']['HTTPStatusCode']
				))
				clip.echo('ARN: {}'.format(response['FunctionArn']))
				return
			except Exception as e:
				if 'ResourceNotFoundException' not in str(e):
					raise e
		# Create the function from scratch
		params['Code'] = {
			'ZipFile': zip_bytes
		}
		response = client.create_function(**params)
		clip.echo('Create response: {}'.format(
			response['ResponseMetadata']['HTTPStatusCode']
		))
		clip.echo('ARN: {}'.format(response['FunctionArn']))
	except Exception as e:
		clip.exit(e, err=True)
示例#5
0
def upload(params):
    zipfile = params['FunctionName']
    utils.make_zip(zipfile)  # Zip up directory
    with open(zipfile + ".zip", 'rb') as f:
        zip_bytes = f.read()
    # Now we're ready to upload!
    clip.echo('Deploying function "{}"...'.format(zipfile))
    client = boto3.client('lambda')
    upsert = params.pop('upsert', False)
    try:
        if upsert:
            # We can override an existing function, check if we need to
            try:
                client.get_function_configuration(FunctionName=zipfile)
                # If we made it here, we need to update
                response = client.update_function_code(FunctionName=zipfile,
                                                       ZipFile=zip_bytes)
                clip.echo('Update code response: {}'.format(
                    response['ResponseMetadata']['HTTPStatusCode']))
                params.pop('Runtime', None)
                response = client.update_function_configuration(**params)
                clip.echo('Update configuration response: {}'.format(
                    response['ResponseMetadata']['HTTPStatusCode']))
                clip.echo('ARN: {}'.format(response['FunctionArn']))
                return
            except Exception as e:
                if 'ResourceNotFoundException' not in str(e):
                    raise e
        # Create the function from scratch
        params['Code'] = {'ZipFile': zip_bytes}
        response = client.create_function(**params)
        clip.echo('Create response: {}'.format(
            response['ResponseMetadata']['HTTPStatusCode']))
        clip.echo('ARN: {}'.format(response['FunctionArn']))
    except Exception as e:
        clip.exit(e, err=True)
示例#6
0
            utils.delete_file(tc2_out)

        utils.delete_file(ttc_out)
        utils.delete_file(tresult)

        if clean_compare:
            if grp_type == 2:
                print(created_folders)
                utils.delete_folder(code2_out)
                utils.delete_folder(result)
            elif grp_type == 1:
                fend = (str(i).zfill(idx_len) if idx_out else "") + ".txt"
                c2sidx = code2_out.rfind('/') + 1
                ressidx = code2_out.rfind('/') + 1
                c2fname = code2_out[c2sidx:]
                resfname = result[ressidx:]
                for fld in created_folders:
                    utils.delete_file(interm + fld + "/" + c2fname + fend)
                    utils.delete_file(interm + fld + "/" + resfname + fend)

        if gen_zip:
            utils.delete_file(interm + interm[:-1] + ".zip")
            utils.make_zip(interm[:-1])

        if clean_all:
            print("**WARNING**")
            print("Cleaning everything except report.")
            print("To avoid this set 'clean_all' flag to 'no' in your config")
            utils.delete_folders(interm, created_folders)
            print()