diff --git a/gitoss.py b/gitoss.py index e9ccd6e..b93030f 100644 --- a/gitoss.py +++ b/gitoss.py @@ -1,4 +1,4 @@ -#!/usr/bin env python3 +#!/usr/bin/env python3 # encoding=utf8 import os,sys import argparse @@ -19,6 +19,16 @@ git_bin='git' #git命令 git_clone='clone' #git 克隆参数 git_mirror='--mirror' #git镜像参数 +""" +读取任务文件,返回任务列表 +""" +def read_task_file(filename): + task_list=[] + with open(filename,'r') as fd: + for line in fd: + task_list.append(line[:-1]) + return task_list + """ 执行rm命令,将文件或者文件夹进行删除 """ @@ -87,14 +97,14 @@ if __name__=="__main__": #parser.add_argument('-v','--version', action='version', #version='%(prog)s 1.0',help="显示版本") #parser.add_argument('-f', '--file',type=str,default='task.ls',help="任务文件") - parser.add_argument('--url', type=str, help="任务url地址") + parser.add_argument('--file', type=str, help="任务文件") #parser.add_argument('--config', type=str,default='.gitoss.conf', help="oss配置") #subparsers = parser.add_subparsers(help='sub-command help') #parser_cmd = subparsers.add_parser('a', help='a help') args = parser.parse_args() #解析参数 #执行git镜像url仓库 - urls=[] - urls.append(args.url) - exec_git(urls) + tasks=read_task_file(args.file) + print(tasks) + exec_git(tasks) pass diff --git a/localoss.py b/localoss.py new file mode 100644 index 0000000..5920e7c --- /dev/null +++ b/localoss.py @@ -0,0 +1,139 @@ +#!/usr/bin/env python3 +# encoding=utf8 +import os,sys +from optparse import OptionParser +import subprocess + +#删除文件 +remove_bin="rm" #删除命令 +remove_arg="-rf" #递归删除 +#打包 +pack_bin='tar' #压缩命令 +pack_arg='zcvf' #压缩参数 +#oss传输 +oss_bin='ossutil64' #oss命令 +oss_copy='cp' #oss复制 +oss_list='ls' #oss查询 +oss_del='rm' #oss删除 +oss_arg='oss://hongko' #oss参数 + +#git +git_bin='git' #git命令 +git_clone='clone' #git 克隆参数 +git_mirror='--mirror' #git镜像参数 + +""" +读取任务文件,返回任务列表 +""" +def read_task_file(filename): + task_list=[] + with open(filename,'r') as fd: + for line in fd: + task_list.append(line[:-1]) + return task_list + +""" +执行rm命令,将文件或者文件夹进行删除 +""" +def exec_remove(files): + cmd_args=[] + cmd_args.append(remove_bin) + cmd_args.append(remove_arg) + cmd_args.append(files) + print(cmd_args) + if(subprocess.call(cmd_args)==0): + pass + cmd_args=[] +""" +执行压缩,将传进的文件名进行压缩 +""" +def exec_package(files): + package_name=files+'.tar.gz' + cmd_args=[] + cmd_args.append(pack_bin) + cmd_args.append(pack_arg) + cmd_args.append(package_name) + cmd_args.append(files) + print(cmd_args) + if(subprocess.call(cmd_args)==0): + pass + exec_remove(files) #压缩完源文件后,将源文件进行删除 + cmd_args = [] + return package_name +""" +执行oss传输查询命令,将 + +""" +def exec_oss_ls(files): + cmd_args=[] + cmd_args.append(oss_bin) + cmd_args.append(oss_list) + cmd_args.append(oss_arg) + print(cmd_args) + with subprocess.Popen(cmd_args,stdout=subprocess.PIPE) as p: + p.wait() + out=str(p.stdout.read(),'utf-8') + file_list_str=out.split('\n')[1:-4] + file_list=[] + for file_line in file_list_str: + file_str_list=file_line.split(' ') + file_name=file_str_list[-1] + file_list.append(file_name) + return file_list + pass + cmd_args = [] + +""" +执行oss传输查询命令,将 + +""" +def exec_oss_del(file): + cmd_args=[] + cmd_args.append(oss_bin) + cmd_args.append(oss_del) + cmd_args.append(file) + print(cmd_args) + if(subprocess.call(cmd_args)==0): + pass + cmd_args = [] +""" +执行oss传输命令,将 +""" +def exec_oss_down(files,path='.'): + for file in files: + cmd_args=[] + cmd_args.append(oss_bin) + cmd_args.append(oss_copy) + cmd_args.append(file) + cmd_args.append(path+'/') + print(cmd_args) + if(subprocess.call(cmd_args)==0): + pass + exec_oss_del(file) #压缩完源文件后,将源文件进行删除 + cmd_args = [] +""" +执行git镜像命令,用于镜像传进的url列表 +""" + +if __name__=="__main__": + print("this is a gitoss tool") + parser = OptionParser() + """ + 这是git oss工具,自动化git拉取仓库列表, + 下载下来的仓库打包通过oss进行传输的工具 + 绕过IP被墙的困扰! + """ + parser.add_option('-p','--path', type=str, help="路径") + #parser.add_argument('--config', type=str,default='.gitoss.conf', help="oss配置") + #subparsers = parser.add_subparsers(help='sub-command help') + #parser_cmd = subparsers.add_parser('a', help='a help') + (options, args) = parser.parse_args() + if(options.path): + print("options.path: %s"%options.path) + file_list=exec_oss_ls(options.path) + exec_oss_down(file_list,options.path) + #执行git镜像url仓库 + # tasks=read_task_file(args.file) + # print(tasks) + # exec_git(tasks) + pass diff --git a/task.list b/task.list new file mode 100644 index 0000000..729de2b --- /dev/null +++ b/task.list @@ -0,0 +1,19 @@ +https://github.com/espressif/esptool.git +https://github.com/espressif/esp32-bt-lib.git + +https://github.com/espressif/asio.git +https://github.com/espressif/esp-lwip.git +https://github.com/espressif/esp-mqtt.git +https://github.com/espressif/esp32-wifi-lib.git +https://github.com/espressif/esp-nimble.git + +https://github.com/espressif/mbedtls.git +https://github.com/kmackay/micro-ecc.git +https://github.com/obgm/libcoap.git +https://github.com/nghttp2/nghttp2.git +https://github.com/jedisct1/libsodium.git +https://github.com/protobuf-c/protobuf-c.git +https://github.com/ThrowTheSwitch/Unity.git +https://github.com/pellepl/spiffs.git +https://github.com/leethomason/tinyxml2.git +https://github.com/intel/tinycbor.git \ No newline at end of file