Beispiel #1
0
    def __init__(self):
        # 加载配置文件
        self.cfg_xls = loadcfgcm.load("cncrs_xls_to_xml.json", default_config)

        # 加载规则字典
        chk_cfg = loadcfgcm.load("cncrs_xls_to_xml_chk.json", check_config)
        self.chk_rule_map = checkcm.load_check_map(chk_cfg)

        # 加载历史报送
        self.last_report = loadcfgcm.load("cncrs_xls_to_xml_last.json",
                                          last_report)
Beispiel #2
0
 def __init__(self, tpl_path, out_path):
     """
     初始化
     :param tpl_path: 模版路径
     :param out_path: 生成文件路径
     """
     # 加载配置文件
     self.cfg_mk = loadcfgcm.load("codegen_maker_module.json",
                                  default_config)
     # 模版文件根路径
     self.tpl_path = tpl_path
     # 输出文件根路径
     self.out_path = out_path
     # 读取模版配置
     self.cfg_tpl = loadcfgcm.load_cfg_file(self.tpl_path,
                                            "tpl_config.json")
     if self.cfg_tpl is None:
         logcm.print_info("Template Config Load Failed!", fg='red')
         sys.exit()
Beispiel #3
0
    "host": "locaohost:8080",
    "user": "******",
    "token": "xxxxxxx",
    "jobs": {
        "xxx" : [
            {
                "job_name": "xxxxxxx",
                "svn_url": "http://10.xx.x.xxx/svn/xxxxxxx",
                "task_no": "xxxxx"
            }
        ]
    }
}
"""

# 加载配置文件
cfg = loadcfgcm.load("net_jenkins_job.json", default_config)

# 链接到服务器
jenkins = JenkinsClient(cfg)

dev_jobs = jenkins.get_jobs("dev_build")
logcm.print_obj(dev_jobs, "dev_jobs")

test_jobs = jenkins.get_jobs("build", "dev_build")
logcm.print_obj(test_jobs, "test_jobs")

# 启动JOB
# for job in cfg['jobs']["wealthgateway-test"]:
#     jenkins.invoke(**job)
Beispiel #4
0
save_path = './temp/draw_box_result_thumb.jpg'
imagecm.resize(img_path, 500, 500, save_path, keep_ratio=True)

default_config = """
{
    "remark" : "图片按照横竖分类复制或移动",
     "action" : "copy|move",
    "src_path": "",
    "target_path_w": "",
    "target_path_h": "",
    "skeep_exist": true
}
"""

# 加载配置文件
cfg = loadcfgcm.load("file_img_movecopy.json", default_config)

# 检索图片列表
search_path = ''
path_list = filecm.search_files(cfg["src_path"], '.jpg', r'^[^\.]+')
logcm.print_obj(path_list, 'path_list')

# 横版图片路径列表
w_list = []
h_list = []
for path in path_list:
    if imagecm.is_landscape(path):
        w_list.append(path)
    else:
        h_list.append(path)
logcm.print_obj(w_list, 'w_list')
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
把EXCEL文件转成代码的使用示例
"""

from common import loadcfgcm
from codegen.codegen_load_xls import CodeGenXlsLoader
from codegen.codegen_mk import CodeGenModuleMaker

# 配置
default_config = """
{
    "xls_path": "./input/xxxxx接口明细v1.0.xlsx",
    "sheet_name": "某个模块",
    "tpl_path": "./template/xls_to_interface",
    "out_path": "./output"
}
"""

if __name__ == '__main__':
    # 加载配置文件
    cfg = loadcfgcm.load("codegen_maker_run.json", default_config)

    loader = CodeGenXlsLoader()
    mdl = loader.xls_to_module(cfg["xls_path"], cfg["sheet_name"])
    maker = CodeGenModuleMaker(cfg["tpl_path"], cfg["out_path"])
    maker.make(mdl)
Beispiel #6
0
from common import xlscm
from common import loadcfgcm
from common import logcm

# 配置
default_config = """
{

    "left_file_path" : "./temp/xxxxxx.xlsx",
    "right_file_path" : "./temp/yyyyyyy.xlsx",
    "sheet_name" : "XXX表",
    "title_line" : 10,
    "start_line" : 13,
    "pk_col" : 1,
    "start_col" : 2,
    "ignore_new_line": true
}
"""

# 加载配置文件
cfg = loadcfgcm.load("file_compare_xls.json", default_config)

# 取得指定目录下的文件列表
diff_list = xlscm.cmp_excel(**cfg)
logcm.print_obj(diff_list, "diff_list", show_table=True, show_json=True)

#
# for diff in diff_list:
#     print(diff)
Beispiel #7
0
from selenium import webdriver  #导入selenium
import os  #导入os模块
from selenium.webdriver.chrome.options import Options

# 缺省配置及说明
# 链接模式:SELECT 从选定页面开始,根据下一页按钮,循环抓取
# 链接模式:FORMAT 按照格式,根据格式生成下一页链接,循环抓取
default_config = """
{
    "page_url": "http://www.somesite.to.crawl/xxxx",
    "local_path": "./temp"
}
"""

# 加载配置文件
cfg = loadcfgcm.load("net_img_crawl2.json", default_config)


def get_headless_chrome():
    chrome_options = Options()
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--disable-gpu')
    driver = webdriver.Chrome('/opt/chrome/chromedriver',
                              chrome_options=chrome_options)
    return driver


class MMPic():
    def __init__(self):  #类的初始化
        self.headers = {
            'User-Agent':
Beispiel #8
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
视频剪辑示例。
"""

from common import loadcfgcm
from common import videocm

# 缺省配置及说明
default_config = '''
{
    "remark" : "视频剪切保存",
    "src_path": "myopener.mp4",
    "target_path": "myopener_sub.mp4",
    "start": 0,
    "end": 12    
}
'''

# 加载配置文件
cfg = loadcfgcm.load("video_cut.json", default_config)

# 视频剪切
videocm.cut_save(cfg['src_path'], cfg['start'], cfg['end'], cfg['target_path'])
Beispiel #9
0
# 缺省配置及说明
default_config = """
{
    "remark" : "视频组合",
    "src_clips": [
        {
            "path": "myopener.mp4",
            "start": 10,
            "end": 12
        },
        {
            "path": "video.mp4",
            "start": 10,
            "end": -18
        }
    ],
    "target_path": "video_con.mp4"
}
"""

# 加载配置文件
config_map = loadcfgcm.load("video_join.json", default_config)

# 视频组合
clip_list = []
for cfg in config_map["src_clips"]:
    clip = videocm.cut_save(cfg['src_path'], cfg['start'], cfg['end'])
    clip_list.append(clip)
videocm.concat_save(clip_list, config_map["target_path"])
Beispiel #10
0
from common import logcm
from common import loadcfgcm

import PyPDF2 as pdf

default_config = """
{    
    "input_path": "/path/to/your/pdf/file",
    "output_path": "/path/to/your/new/pdf/file",
    "sub_pages": [0, 2, 4]        
}
"""

# 加载配置文件
cfg = loadcfgcm.load("file_pdf_sub.json", default_config)

# PDF读取
reader = pdf.PdfFileReader(cfg["input_path"])
logcm.print_obj(reader.getNumPages(), "pages")

pdf_page_list = list()
for i in cfg["sub_pages"]:
    # page number starts with 0
    page = reader.getPage(i - 1)
    pdf_page_list.append(page)
logcm.print_obj(pdf_page_list, "pdf_page_list")

# PDF输出
writer = pdf.PdfFileWriter()
for page in pdf_page_list:
Beispiel #11
0
from common import logcm
from common.dboraclecm import DbOracleClient

# 配置
default_config = """
{
    "host": "localhost",
    "port": 1521,
    "db": "orcl",
    "user": "******",
    "passwd": "root"
}
"""

# 加载配置文件
cfg = loadcfgcm.load("db_oracle_test1.json", default_config)

# 建立和数据库系统的连接
dbClient = DbOracleClient("oracle", cfg)

# 执行SQL,创建一个表
sql = """
    create table tb_user(
        id number, 
        name varchar2(50),
        password varchar(50),
        primary key(id)
    )
"""
dbClient.execute(sql)
Beispiel #12
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
SSH使用示例。
"""

from common import loadcfgcm
from common.netsshcm import SshClient

# 配置
default_config = """
{
    "ip": "10.1.1.101",
    "port": 22,
    "username": "******",
    "password": "******",
    "remoteFile": "/usr/local/logs/xxx.log"
}
"""

# 加载配置文件
cfg = loadcfgcm.load("net_ssh_tail.json", default_config)

# SSH连接
ssh = SshClient(cfg)
ssh.tail_print(cfg['remoteFile'])

# 关闭连接
# sshcm.close_ssh_conn(ssh, sftp)
Beispiel #13
0
default_config = """
{
    "browser_type": "Chrome",
    "url": "https://www.baidu.com/",
    "actionList": [
        {
            "find_type": "id",
            "find_val": "kw",
            "action_type": "set_input",
            "input_val": "翻转"
        },
        {
            "find_type": "id",
            "find_val": "su",
            "action_type": "do_click"
        }
    ]
}
"""

# 加载配置文件
cfg = loadcfgcm.load("net_browser_chrome.json", default_config)

# 测试客户端
client = BrowserClient(cfg["browser_type"])
client.open(cfg["url"])

client.exe_actions(cfg["actionList"])


Beispiel #14
0
# 配置
default_config = """
{
    "server": "http://xxxx.xxxx.com.cn/xxx-gw",
    "login_url": "xxxx/xxxLogin.app",
    "login_param": "{'userName':'******','passWord':'******'}",
    "username": "******",
    "password": "******",    
    "terminal": "APP",
    "appType": "ios",
    "appVersionNo": "1.0",
    "accessTerminal": "---JUNIT----",
    "encoding": "utf-8",
    "test_uri": "xxxx/xxxxxxx.app",
    "test_param": {"listType":"TJ","pageSize":"10"} 
}
"""

# 加载配置文件
cfg = loadcfgcm.load("net_test.json", default_config)

# 测试客户端
client = NetTestClient(cfg)
isOk = client.default_login()

# 测试URL
uri = cfg["test_uri"]
param = cfg["test_param"]
content = client.get_web_content(uri, param, True)
Beispiel #15
0
{
    "XXXXXX": [{
        "sheet_name": "明细",
        "title_line": 0,
        "col_titles": ["基金名称", "投资者名称", "客户类型", "证件类型", "证件号码", "????"]
    }],
    "YYYYYY": [{
        "sheet_name": "客户明细J",
        "title_line": 0,
        "col_titles": ["????", "客户名称", "客户类型", "证件类型", "证件号码", "持有份额"]
    }]
}
"""

# 加载配置文件
config_map = loadcfgcm.load("file_load_xls.json", default_config)

# 取得指定目录下的文件列表
path_list = filecm.search_files(root_dir, '.xlsx,.xls', r'^[^~]+')
logcm.print_obj(path_list, "path_list")

# 读取文件数
read_file_cnt = 0
# 读取数据行数
read_line_cnt = 0

# 路径列表
for path in path_list:
    # 短文件名
    short_name = filecm.short_name(path)
    # 根据文件名取得配置列表
Beispiel #16
0
# 配置
default_config = """
{
    "redis1": {
        "host": "localhost",
        "port": 6379
    },
    "redis2": {
        "host": "localhost",
        "port": 6379
    }
}
"""

# 加载配置文件
cfg = loadcfgcm.load("net_redis_cfg.json", default_config)

# Redis服务器1
rds1 = RedisClient(cfg['redis1'])
# Redis服务器2
rds2 = RedisClient(cfg['redis2'])

# 字符串值
key1 = "test_key-1"
val1 = "112233"
# 设值示例
rds1.set_val(key1, val1)
# 取值示例
rst1 = rds1.get(key1)
# 确定取出值和存入值是否一致
checkcm.check_equal(val1, rst1, "redis string %s" % key1)
 def __init__(self):
     # 加载配置文件
     self.cfg_db = loadcfgcm.load("codegen_loader_db.json", default_config)
Beispiel #18
0
default_config = """
{
    "remark" : "图片批量转换格式,大小,并移动",
     "action" : "copy|move",
    "src_path": "",
    "target_path": "",
    "target_w": 1280,
    "target_h": 800,
    "src_ext": "png",
    "target_ext": "jpg"
}
"""

# 加载配置文件
cfg = loadcfgcm.load("file_img_convert.json", default_config)

# 检索图片列表
search_path = ''
path_list = filecm.search_files(cfg["src_path"], '.' + cfg["src_ext"],
                                r'^[^\.]+')
logcm.print_obj(path_list, 'path_list')

# 横版图片路径列表
w_list = []
h_list = []
count = 1
for path in path_list:
    # 调整图片尺寸并保存
    (file_path, file_name) = os.path.split(path)
    (short_name, extension) = os.path.splitext(file_name)
Beispiel #19
0
default_config = """
{
    "host": "localhost",
    "port": 27017,
    "db": "xxxx",
    "user": "******",
    "passwd": "root",
    "collection": {
        "stock" : "ts.xxxx",
        "index" : "ts.xxxx"
    }
}
"""

# 加载配置文件
cfg = loadcfgcm.load("db_mongodb_test1.json", default_config)

# 建立和数据库系统的连接
dbClient = DbMongoClient("mongodb", cfg)

# mongodb query code
stock_code = "000001.SZ"
fund_code = '110022'
index_stock_code = "399300.SZ"
start_date = "2015-02-20"
end_date = "2018-03-13"


def load_data(set_name, stock_code, start_date, end_date):
    """
    :param set_name: 数据集名
Beispiel #20
0
from common import logcm
from common import webcm

# 缺省配置及说明
default_config = """"
{
    "site_list": [
        {
            "url": "http://www.baidu.com/",
            "name": "baidu.txt"
        },
        {
            "url": "http://www.163.com/",
            "name": "163.txt"
        }
    ]
}
"""

# 定义并创建临时目录
tmp_path = './temp/net/curl/' + datecm.now_time_str()
filecm.makedir(tmp_path)

# 加载配置文件
config_map = loadcfgcm.load("net_curl.json", default_config)

# 按照站点一览进行循环
for cfg in config_map["site_list"]:
    result = webcm.curl(cfg["url"], tmp_path, cfg["name"])
    logcm.print_obj(result, "result-%s" % cfg["name"])
# 配置
default_config = """
{
    "img_root": "./images/img",
    "img_ext": ".jpeg",
    "max_count" : 10,
    "fps": 10,
    "save_path": "./temp/output.avi",
    "width": 1024,
    "height": 683
}
"""

# 加载配置文件
cfg = loadcfgcm.load("cv_video_from_img.json", default_config)

# 创建目录
filecm.makedir(cfg['save_path'], True)
filecm.makedir('./temp/cv/video-from-img')

# 新建视频写入类
fourcc = cv2.VideoWriter_fourcc(*"MJPG")
videoWriter = cv2.VideoWriter(cfg['save_path'], fourcc, cfg['fps'],
                              (cfg['width'], cfg['height']))
im_output = VideoImageOutput(videoWriter)

# 取得图片列表
path_list = filecm.search_files(cfg["img_root"], cfg['img_ext'], r'^[^\.]+')
# 取得处理数量
max_size = cfg['max_count']
Beispiel #22
0
from common import opencvcm

# 配置
default_config = """
{
    "img_root": "./images/faces/",
    "max_count" : 10,
    "fps": 1,
    "save_path": "./temp/output.pptx",
    "width": 1024,
    "height": 683
}
"""

# 加载配置文件
cfg = loadcfgcm.load("file_pptx_from_img.json", default_config)

pptFile = pptx.Presentation()

# 取得图片列表
path_list = filecm.search_files(cfg["img_root"], '.jpeg', r'^[^\.]+')

# 按图片编号顺序导入
for fn in path_list:
    slide = pptFile.slides.add_slide(pptFile.slide_layouts[1])

    # 为PPTX文件当前幻灯片中第一个文本框设置文字,本文代码中可忽略
    slide.shapes.placeholders[0].text = fn[:fn.rindex('.')]

    # 导入并为当前幻灯片添加图片,起始位置和尺寸可修改
    slide.shapes.add_picture(fn, Inches(0), Inches(0), Inches(10), Inches(7.5))
Beispiel #23
0
from common.dbmysqlcm import DbMysqlClient

# 配置
default_config = """
{
    "host": "localhost",
    "port": 3306,
    "db": "test",
    "charset":"utf8",
    "user": "******",
    "passwd": "root"
}
"""

# 加载配置文件
cfg = loadcfgcm.load("db_mysql_test1.json", default_config)

try:
    # 获取一个数据库连接,with关键字 表示退出时,conn自动关闭
    # with 嵌套上一层的with 要使用closing()
    # 建立和数据库系统的连接
    dbClient = DbMysqlClient("mysql", cfg)

    print("connect database successfully")

    # 删除表
    dbClient.execute("DROP TABLE IF EXISTS  COMPANY")
    # 创建表
    sql = """
             CREATE TABLE IF NOT EXISTS COMPANY
           (ID INTEGER  PRIMARY KEY NOT NULL  auto_increment,
Beispiel #24
0
import sys
from OpenGL.GL import *
from OpenGL.GLUT import *
from OpenGL.GLU import *
from PIL import Image
from common import filecm
from common import loadcfgcm

# 加载配置文件
default_config = """
{
    "img_root": "./images/faces",
    "img_ext": ".jpeg"
}
"""
cfg = loadcfgcm.load("gl_texture.json", default_config)


class MyPyOpenGLTest:
    def __init__(self,
                 width=1024,
                 height=683,
                 title='MyPyOpenGLTest'.encode()):
        glutInit(sys.argv)
        glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH)
        glutInitWindowSize(width, height)
        self.window = glutCreateWindow(title)
        glutDisplayFunc(self.Draw)
        glutIdleFunc(self.Draw)
        self.InitGL(width, height)
        # 绕各坐标轴旋转的角度
Beispiel #25
0
default_mails = """
{
    "mail_list": [
        {
            "from": "*****@*****.**",
            "to": "*****@*****.**",
            "subject": "Welcome Home",
            "content": "Hello, my friend, we are looking for you."
        }
    ]
}
"""

# 加载配置文件
cfg = loadcfgcm.load("net_smtp_server.json", default_server)
mails = loadcfgcm.load("net_smtp_mails.json", default_mails)

# 登录服务器
server = mailcm.login_smtp_server(cfg["host"], cfg["port"], cfg["user"],
                                  cfg["pwd"], bool(cfg["ssl"]))
logcm.print_obj(server, "server")

# 发送邮件
for mail in mails["mail_list"]:
    result = mailcm.send_mail(server, mail["from"], mail["to"],
                              mail["subject"], mail["content"])
    logcm.print_obj(result, "result-%s" % mail["subject"])

# 退出服务器
server.quit()