def process_input(self, opts, args=None): if args: for k in args.keys(): if k == '-v': self._pr.add_level(PR_LVL_ALL) elif k == '-o': self._order = True elif k == '-r': self._recursion_path = True elif k == '-l': self._local_path = get_abs_path(args['-l']) elif k == '-y': self._remote_path = args['-y'] elif k == '-m': mode = args['-m'].lower() if mode in self.UPLOAD_MODES: self._upload_mode = self.UPLOAD_MODES[mode] elif k == '-c': self._cmd = args['-c'].lower() elif k == '-f': self._ftype = args['-f'] elif k == '-x': self._xftype = args['-x'] elif k == '-h': print_help(self.HELP_MENU) return args
def process_input_args(self, opts, args=None): if args: for k in args.keys(): if k == '-u': if os.path.isfile(args['-u']): self._url_file = get_abs_path(args['-u']) else: self._url = re.sub('/$', '', args['-u']) elif k == '-x': self._xval = args['-x'] elif k == '-d': self._pr.add_level(PR_LVL_DBG) self._pr.set_funcname(True) elif k == '-y': self._byname = args['-y'] elif k == '-h': print_help(self.HELP_MENU) # get url_base from xval if self._xval: self._url_base, self._class = \ XBaseClass.get_base_class_from_xval(self._xval) if not all((self._url_base, self._class)): print_exit('[WebImageCrawler] Error, invalid -x val!') # get class from url if all((self._url, not self._class)): base, num = get_url_base_and_num(self._url) if base: self._class = XBaseClass.get_class_from_base(base) else: self._class = XBaseClass.get_class_from_url(self._url) # get class from url_base if all((not self._class, self._url_base)): self._class = XBaseClass.get_class_from_base(self._url_base) return args
def cryptofile_help(): help_menus = ( "=====================================", " cryptofile - %s" % VERSION, "=====================================", " options: [-k xxx] [-s xxx] [-o xxx] -d/-e" " -k: 16, 24, 32 Bytes key password", " -s: path of source", " -o: path of output", " -d: decrypto and remove ftype files", " -D: decrytpo ftype files", " -e: encrypto and remove ftype files", " -E: encrytpo ftype files", " -t: type name of file will be crypto", " -x: type name of file will be saved", " -c: set cipher and mode: AES/DES/RSA [,CBC/ECB]", " -m: set mode of cipher: CBC, ECB", " -r: remove ftype files after encrypto/decrypto", " -v: print information", "", "defualt:", " key=%s, cipher=%s, mode=%s" % (key, cipher, mode), " src=%s, dst=%s" % (src, dst), " ftype=%s, xtype=%s" % (ftype, xtype), "", "Note: when xtype=None", " xtype will be {ftype}+x while run -e, e.g: txt -> txtx", " xtype will be {ftype}-x while run -e, e.g: txtx -> txt", ) print_help(help_menus, True)
def main(self, args=None): args = self.process_input_args(self._opts, args=args) if all((args, isinstance(args, dict))): for key in args.keys(): if key == '-a': root = os.path.abspath(args['-a']) self.update_path_config(root=root) print('apply patches') gp.apply_patch_files(root, gp.get_patch_files(self._diff)) gp.copy_src_files(root, gp.get_src_dirs(self._src)) print('apply patches done') elif key == '-R': root = os.path.abspath(args['-R']) self.update_path_config(root=root) print('revert patches') gp.revert_gits(root, FpcRevertPatch.GITS) gp.remove_src_files(root, FpcRevertPatch.SRCS) print('revert patches done') elif key == '-r': root = os.path.abspath(args['-r']) self.update_path_config(root=root) print('revert patches') gp.revert_patch_files(root, self._diff) gp.remove_src_files(root, FpcRevertPatch.SRCS) print('revert patches done') elif key == '-h': print_help(self.HELP_MENU)
def process_input(self, opts, args=None): if args: for k in args.keys(): if k == '-x': xxx_func(args['-x']) elif k == '-h': print_help(self.HELP_MENU) return args
def process_input(self, opts, args=None): if args: for k in args.keys(): if k == '-s': self._src = re.sub('/$', '', args['-s']) elif k == '-t': self._tgt = get_abs_path(args['-t']) elif k == '-h': print_help(self.HELP_MENU) return args
def git_help(): HELPS = ( "=================================================", " git - %s" % VERSION, "=================================================", "Usage: git.py options", " options:", " -p : push to master with 'git push origin master'", " -m : get modified files of path.", " -n : get new files of path.", ) print_help(HELPS)
def mygit_help(): HELPS = ( "==============================================", " mygit - %s" % VERSION, "==============================================", "Usage: mygit option", "option:", " -p : push origin master.", " -m : check all of modified files.", " -n : check all of new files", ) print_help(HELPS, True)
def get_face_image(): fid = None sid = None args = get_input_args('hf:s:') for k in args.keys(): if k == '-f': fid = get_abs_path(args['-f']) elif k == '-s': sid = get_abs_path(args['-s']) elif k == '-h': print_help(HELP_MENU) return fid, sid
def markdown_help(): help_menus = ( "=====================================", " markdown crypto - %s" % VERSION, "=====================================", " usage: python3 mdcrypto.py option", "", " options:", " -k: 16 Bytes key password", " -K: path of key file", " -s: path of source", " -o: path of output", " -d: decrypto markdown", " -e: encrypto markdown", ) print_help(help_menus, True)
def format_output(self): if len(self._events) == 0: return # sort all of events. self._events.sort(key=lambda event: event._date_s, reverse=self._sort_reverse) # output if self._fmt == TYPE_TXT: self.save_to_txt() elif self._fmt == TYPE_CSV: self.save_to_csv() elif self._fmt is None: self.print_ics_contents() else: print('Error, use -f txt/csv to set format output\n') print_help(self.HELP_MENU) # clear all of events. self._events = list()
def print_help_enum(self): help_menus = ( "=====================================", " {} - {}".format(os.path.splitext(NAME)[0], VERSION), "=====================================", " usage: python {} option".format(NAME), "", " options:", " -k passwd : 16 Bytes key password", " -f flie : path of key file", " -s path : path of source", " -o path : path of output, default to -s", " -d ftype : decrypto ftype(md,txt,...) files", " -e ftype : encrypto ftype(mdx,txtx,...) file,", "", "*** Only support to python 3.x ***", "", " example:", " -K enc.key -s path -d md,txt", ) pysys.print_help(help_menus, True)
def get_input(self): args = get_input_args('hs:t:v') for k in args.keys(): # src path if k == '-s': self._src = get_abs_path(args['-s']) # dst path elif k == '-t': self._dst = get_abs_path(args['-t']) # show elif k == '-v': self._show = True elif k == '-h': print_help(self.HELP_MENU) # start to check args. # start id is must be set, otherwise return.. if not self._src: return False # next to start if _end is not set. if not self._dst: self._dst = get_current_path() print('warnning: no found -t, output to: %s' % self._dst) return True
def get_user_opt(self): args = get_input_args('hcf:r:s:t:') for k in args.keys(): if k == r'-h': print_help(self.HELP_MENU) elif k == r'-c': self._combine_files = True elif k == r'-f': fmt = args['-f'].lower() if fmt == TYPE_TXT or fmt == TYPE_CSV: self._fmt = fmt else: print_exit("Error, unsupport format!") elif k == r'-r': if args['-r'] == r'True': self._sort_reverse = True else: self._sort_reverse = False elif k == r'-s': # set _src to list if self._src is None: self._src = list() # get src files fs = self.get_src_files(get_abs_path(args['-s'])) if fs: # add fs to _src for f in fs: self._src.append(f) elif k == r'-t': ftype = get_filetype(get_abs_path(args['-t'])) if ftype in [TYPE_TXT, TYPE_CSV]: self._tgt = get_abs_path(args['-t']) self._combine_files = True self._fmt = ftype else: self._tgt = get_abs_path(args['-t'])
def main(self): args = get_input_args('harLPpgSBbu', True) if not args: print_help(self.HELP_MENU) sys.exit() else: for k in args.keys(): if k == '-a': self.ibus_add_to_wubi_love98_db() elif k == '-u': self.ibus_update_wubi_love98_db() elif k == '-r': self.ibus_restart() elif k == '-L': rescode, data = self.ibus_list_engine() if rescode < 0: print('error, failed to get engine list.') else: print(str(data, 'utf-8').strip('\n')) elif k == '-P': self.ibus_set('sunpinyin') elif k == '-p': self.ibus_set('pinyin') elif k == '-g': self.ibus_set('googlepinyin') elif k == '-w': self.ibus_set('wubi98') elif k == '-S': self.ibus_setup() elif k == '-B': self.ibus_set('wubi-haifeng86') elif k == '-b': self.ibus_set('wubi-jingdian86') elif k == '-h': print_help(self.HELP_MENU) sys.exit() else: print_help(self.HELP_MENU) sys.exit()
print_exit('input error, -h for help') path = get_abs_path(values[0]) wd = values[1] newd = values[2] if n == 3: sub(path, wd, newd) elif n > 3: ftype = values[3] sub(path, wd, newd, ftype) elif k == '-c': values = args['-c'].split(',') n = len(values) src = dst = None if n >= 2: src = get_abs_path(values[0]) dst = get_abs_path(values[1]) if all((src, dst)): copy(src, dst) elif k == '-m': values = args['-m'].split(',') n = len(values) src = dst = None if n >= 2: src = get_abs_path(values[0]) dst = get_abs_path(values[1]) if all((src, dst)): move(src, dst) elif k == '-h': print_help(HELP_MENU)
def process_input(self, opts, args=None): if args: for k in args.keys(): if k == '-u': self._url = re.sub('/$', '', args['-u']) elif k == '-n': self._num = int(args['-n']) elif k == '-p': self._path = get_abs_path(args['-p']) elif k == '-R': self._ex_re_image_url = get_abs_path(args['-R']) elif k == '-t': try: n = int(args['-t']) except ValueError as e: print_exit('%s, -h for help!' % str(e)) if n: self._thread_max = n elif k == '-v': self._view = True elif k == '-x': self._xval = args['-x'] elif k == '-m': dl_image_funcs = { 'wget': self.wget_url_image, 'rtrv': self.retrieve_url_image, 'rget': self.requests_get_url_image, 'uget': self.urlopen_get_url_image, } if args['-m'] in dl_image_funcs.keys(): self._dl_image = dl_image_funcs[args['-m']] elif k == '-d': try: self.__dbg = int(args['-d']) except ValueError as e: self._pr.pr_err(str(e)) else: self._pr.add_level(PR_LVL_DBG) self._pr.set_funcname(True) if self.__dbg >= 0x02: WebContent.pr.add_level(PR_LVL_DBG) WebContent.pr.set_funcname(True) else: WebContent.pr.clear_level(PR_LVL_DBG) WebContent.pr.set_funcname(False) elif k == '-h': print_help(self.HELP_MENU) # check url if self._url: base, num = get_url_base_and_num(self._url) if base: self._url_base = base if num: self._url = num self._pr.pr_dbg('get base: %s, url: %s' % (base, self._url)) else: print_exit('[WebImage] Error, no set url, -h for help!') if self._url_base: pattern = re.compile('http[s]?://.+\.(com|cn|net)') if isinstance(self._url_base, list): for base in self._url_base: www_com = pattern.match(base) else: www_com = pattern.match(self._url_base) if www_com: self._com = www_com.group() return args
return urls def search_urls_from_keyword(self, url): result = None if url: if url.startswith('https://www.meitulu.com/t/'): urls = self.get_url_from_search_links(url) if urls: result = {'search_urls': urls} return result if __name__ == '__main__': mt = Meitulu('Meitulu') args = get_input_args(OPTS + 'S:') for k in args.keys(): if k == '-S': urls = mt.get_url_from_search_links(args['-S']) del args['-S'] n = len(urls) for index, url in enumerate(urls): print('[%d/%d] downloading: %s' % (index, n, url)) args['-u'] = url mt.main(args) elif k == '-h': mt.HELP_MENU.append(' -S url:') mt.HELP_MENU.append(' url of web of search') print_help(mt.HELP_MENU) else: mt.main(args)