Server IP : 80.241.246.6 / Your IP : 216.73.216.129 Web Server : Apache/2.4.25 (Debian) System : Linux kharagauli 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64 User : www-data ( 33) PHP Version : 7.0.33-0+deb9u12 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/thread-self/root/usr/local/letsencrypt/tools/ |
Upload File : |
#!/usr/bin/env python """Removes hash information from requirement files passed to it as file path arguments or simply piped to stdin.""" import re import sys def process_entries(entries): """Strips off hash strings from dependencies. :param list entries: List of entries :returns: list of dependencies without hashes :rtype: list """ out_lines = [] for e in entries: e = e.strip() search = re.search(r'^(\S*==\S*).*$', e) if search: out_lines.append(search.group(1)) return out_lines def main(*paths): """ Reads dependency definitions from a (list of) file(s) provided on the command line. If no command line arguments are present, data is read from stdin instead. Hashes are removed from returned entries. """ deps = [] if paths: for path in paths: with open(path) as file_h: deps += process_entries(file_h.readlines()) else: # Need to check if interactive to avoid blocking if nothing is piped if not sys.stdin.isatty(): stdin_data = [] for line in sys.stdin: stdin_data.append(line) deps += process_entries(stdin_data) return "\n".join(deps) if __name__ == '__main__': print(main(*sys.argv[1:])) # pylint: disable=star-args