choices=['txxy', 'xycx', 'pyqx', 'pyzx', 'ljh'], help='txxy: tian xia xin yong; xycx: xin yong cha xun; pyqx: peng you qi xin; pyzx: peng yuan zheng xin; ljh: la jiao hong;') parser.add_argument('--appname', metavar='app_name', dest='app_name', default='@string/app_name', help='application name') parser.add_argument('--test', dest='is_test', action='store_true', default=False, help='indicate just to test config') parser.add_argument('--align', dest='to_align', action='store_true', default=True, help='indicate to align apk file after protected') parser.add_argument('--upload', dest='to_upload', action='store_true', default=False, help='indicate to upload build files') parser.add_argument('--arm64', dest='is_arm64', action='store_true', default=False, help='indicate to build with arm64') parser.add_argument('--google', dest='for_google', action='store_true', default=False, help='indicate to build for google play') parser.add_argument('--channel', metavar='channel', dest='channel', type=str, default=BuilderLabel.DEFAULT_CHAN, help='application channel') parser.add_argument('--demo', metavar='demo_label', dest='demo_label', type=str, default='normal', choices=['normal', 'bridge', 'hotloan', 'mall'], help='normal: normal entry; bridge: bridge entry; hotloan: hot loan entry;') parser.add_argument('--branch', metavar='branch', dest='branch', default='master', help='code branch name') parser.add_argument('--jpush', metavar='jpush_appkey', dest='jpush_appkey', default=None, help='jpush app key') # parser.print_help() return parser.parse_args(src_args) if __name__ == '__main__': test_args = None args = get_args(test_args) utility.measure_time(main, args)
'--srcapi', metavar='src_api', dest='src_api', type=str, default=ApiLabel.v4, choices=[ApiLabel.v3, ApiLabel.v4], help=f'{ApiLabel.v3}: gitlab API V3; {ApiLabel.v4}: gitlab API V4;') parser.add_argument( '--dstapi', metavar='dst_api', dest='dst_api', type=str, default=ApiLabel.v4, choices=[ApiLabel.v3, ApiLabel.v4], help=f'{ApiLabel.v3}: gitlab API V3; {ApiLabel.v4}: gitlab API V4;') parser.add_argument('--backup', dest='backup_only', action='store_true', default=False, help='indicate just backup only') # parser.print_help() return parser.parse_args(src_args) if __name__ == '__main__': test_args = None args = get_args(test_args) trivial_util.measure_time(main, args)
if not api_key: print('Please specify api key.') if not api_secret: print('Please specify api secret.') sys.exit(1) def protect(ip, user_name, key, secret, file_path, dst_path=None): if dst_path: dst_path_info = ' -d {} '.format(dst_path) else: dst_path_info = '' src_args = '-i {} -u {} -k {} -s {} {}{}'.format(ip, user_name, key, secret, dst_path_info, file_path) print(f'src_args: {src_args}') args = get_args(src_args.split()) return main(args) if __name__ == '__main__': test_args = '-i 192.168.20.170 -u pyzx -k c2a6ca06-0989-4ff5-82cd-10494fcc53eb -s 52a3724f-f45f-429a-932f-229bad482f54 D:\\auto_build\\pytxxy\\output\\pro\\20200612_155500\\1.0.2-12-20200612.apk'.split( ) # test_args = None in_args = get_args(test_args) util.measure_time(main, in_args)
def test_notifier_run(): work_path = r'D:\auto_build\release_apk' app_code = 'txxy' ver_name = '5.1.8' print(f'work_path: {work_path}') print(f'app_code: {app_code}') print(f'ver_name: {ver_name}') uploader = release_apk.Uploader(work_path, app_code, ver_name) notifier = release_apk.Notifier(work_path, app_code, ver_name) addr = uploader.get_official_addr() addr_list = uploader.get_zip_uploaded_list() notifier.notify_to_upgrade(addr) notifier.notify_to_publish(addr_list) def test_main(): # test_generator_run() # test_uploader_run() test_notifier_run() if __name__ == "__main__": #import sys;sys.argv = ['', 'Test.testName'] # unittest.main() util.measure_time(test_main)
dest='to_copy', action='store_true', default=False, help='specify if to copy all files!') parser.add_argument('-t', dest='tag_only', action='store_true', default=False, help='specify only to tag compressed!') parser.add_argument('-i', dest='identification', default='ImageCompressed', help='the label of the compressed picture') parser.add_argument( '--old', dest='old_key', default=None, help='the old label, and will be replaced with new default label.') return parser.parse_args(src_args) if __name__ == '__main__': test_args = ''.split() test_args = None input_args = get_args(test_args) utility.measure_time(main, input_args)
parser.add_argument('ver_name', metavar='ver_name', help='version name') # 工作目录 parser.add_argument('work_path', metavar='work_path', help='working directory') parser.add_argument('--appcode', metavar='app_code', dest='app_code', type=str, default='txxy', choices=['txxy', 'xycx', 'pyqx', 'pyzx'], help='txxy: tian xia xin yong; xycx: xin yong cha xun; pyqx: peng you qi xin; pyzx: peng yuan zheng xin;') # 是否进行生成渠道包的操作 parser.add_argument('-g', dest='to_generate', action='store_true', default=False, help='indicate to generate channel apk') # 是否上传到阿里云 parser.add_argument('--upload', dest='to_upload', action='store_true', default=False, help='indicate to upload channel files and zipped files') # 是否进行发送官网升级包的操作 parser.add_argument('--official', dest='to_update_official', action='store_true', default=False, help='indicate to update official apk') # 是否发邮件通知给相关人员配置升级 parser.add_argument('--notify', dest='to_notify', action='store_true', default=False, help='indicate to notify relevant personnel to publish app in application market') # parser.print_help() return parser.parse_args(src_args) if __name__ == '__main__': test_args = None args = get_args(test_args) util.measure_time(main, args)