py2ls 0.2.4.27__tar.gz → 0.2.4.29__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/PKG-INFO +5 -6
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/index +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/ips.py +117 -84
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/pyproject.toml +6 -6
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/README.md +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.DS_Store +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/.DS_Store +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/COMMIT_EDITMSG +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/FETCH_HEAD +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/HEAD +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/config +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/description +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/hooks/applypatch-msg.sample +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/hooks/commit-msg.sample +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/hooks/fsmonitor-watchman.sample +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/hooks/post-update.sample +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/hooks/pre-applypatch.sample +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/hooks/pre-commit.sample +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/hooks/pre-merge-commit.sample +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/hooks/pre-push.sample +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/hooks/pre-rebase.sample +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/hooks/pre-receive.sample +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/hooks/prepare-commit-msg.sample +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/hooks/push-to-checkout.sample +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/hooks/update.sample +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/info/exclude +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/logs/HEAD +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/logs/refs/heads/main +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/logs/refs/remotes/origin/HEAD +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/logs/refs/remotes/origin/main +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/.DS_Store +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/01/d5bd8065e6860c0bd23ff9fa57161806a099e1 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/09/08da26de58c114225ad81f484b80bf5d351b34 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/0b/409e1bc918277010f5679b402d1d1dda53e15c +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/12/c2808a1b3a4d0892a4154dfba1e2ae3770fa73 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/14/449a0e6ba4ea2f1a73acf63ef91c9c6193f9ed +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/15/a8e468aacfcb440e090020f36d0b985d45da23 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/1a/b4585881a6a42889f01aa0cfe25fd5acfaf46f +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/1c/3f92adda34344bcbbbf9d409c79855ae2aaea8 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/1c/9314c5f69b9390068a2a8616875d974849d71f +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/1d/fe9d9633b24ea560354f4f93d39c6e5f163ea0 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/20/72c28e83f4347959d29f7b3a6c1fc3e4ee6b59 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/24/6b368b986f758630c46dc02b7fa512b53422f7 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/25/b796accd261b9135fd32a2c00785f68edf6c46 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/27/aa6074f652bc6f7078f8647489d9ee8e24f0e2 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/28/c2969d785c1b892c2a96b3f00eba63a59811b3 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/2a/ae95d517d213b660bf4f65a4e0cfae7bb893eb +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/2a/fdf45791a26d42ccead35ace76a8f0b2a56561 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/30/a2f8da47ee947811dc8d993f5a06a45de374f4 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/32/fd627b62fad7cf3b2f9e34ab9777126a0987ad +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/34/9e31b6a3634cea102ce5588b98c11cc1738605 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/34/b6f3a2ee84f39bed4eee57f2c0e0afb994feb1 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/35/1a5f491ab97eee9d1ee699478d75a8bb5d3dc2 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/36/b4a1b7403abc6c360f8fe2cb656ab945254971 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/36/e56a361f526eafa59c5235a5c990bf288b5f9c +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/36/ef43e50009e59db11812c258846d9e38718173 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/39/7ead045fbbcfb17c62019eb18fe21ed05dbee5 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/39/b13be65125556784e44c7a1d9821703c7ab67e +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/3b/507acc7f23391644cc0b824b1e79fd2677a362 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/3b/bd972aa7ad680858f8dfbd0f7fcd97756f0d6f +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/3c/bbe5f4173d165127b9ad96119f1ec24c306ffc +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/3d/9d10d27724657a436c65a6254bfd213d4b3562 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/3f/d6561300938afbb3d11976cf9c8f29549280d9 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/41/dcf4b3bf0460946b2da93776cf9e836d62178f +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/43/dbd49b2ee367c5434dd545e3b5795434f2ef0b +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/45/b1b6178bacbfc997811a998b5cc60c1ea7fac8 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/47/6cbd5a7c5e35cddef2f8a38bdc4896d403b095 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/48/a88fc5806305d0bb0755ee6801161b79696972 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/4f/7afb40dff2153d857fc85748c2eecb85125042 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/50/08ddfcf53c02e82d7eee2e57c38e5672ef89f6 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/53/e0deb1cb4c2c606bced6e7f9a66b0fda60980d +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/56/e4e8b2d5545e0256090f45aa8fc42c5fe067d0 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/57/63d0c52f5c9c69e89d514a1f96034947abe21a +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/57/bd1c0199483ab316235b094543b85edec6c35e +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/58/20a729045d4dc7e37ccaf8aa8eec126850afe2 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/59/380c4c26bdcd4d9b71ae3e2e35f05b3f26c5ab +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/5a/192565abf89c9d765af846ce6d53a92b1ce7ad +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/60/f273eb1c412d916fa3f11318a7da7a9911b52a +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/61/570cec8c061abe74121f27f5face6c69b98f99 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/62/4488173ed2c8936fa5cea3cf5dd3f26a30b86e +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/62/7c81b23b4e56e87b042b650b0103653cc9e34a +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/62/d90ccf8cbefdc2e4fd475e7c6f4f76e9fdf801 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/63/100154b27846e8010e55b6bf4b3d7762c14c5f +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/64/27a4edff08f93d98f511418423f09f2ab90bcd +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/66/6227eeeba24073e63811e89f1449f3d958f183 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/66/c998778721d424bd0aae80602dabbffa93af2e +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/68/6df3072c8b025fb18106ed2df505994ad062a9 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/69/13c452ca319f7cbf6a0836dc10a5bb033c84e4 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/6a/52e747a2b349b128d1490d9e896d2323818eb7 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/6b/7fde264d93a7a0986d394c46c7650d0ce2ab92 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/6c/cebb29b7f3f5b0c889f6dadbf9ff066554587d +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/6d/c2cdf4a84e538e5d4777486aeff87e42f41799 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/6d/ee29dbdcc84edeeacede105110446f3ccac963 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/71/36b2074a2754be8b58127d82250e5b37e3c373 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/72/245a05b0966011cb381e6b32b0465000e969ab +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/72/e4179337639859678ddaecf38b16f33aaec8e1 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/78/063f4c863fc371ec0313303c0a81283b35d9b6 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/78/3d4167bc95c9d2175e0df03ef1c1c880ba75ab +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/79/7ae089b2212a937840e215276005ce76881307 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/7e/5956c806b5edc344d46dab599dec337891ba1f +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/81/8f26b7bf042269729020cf944fc362d66ba27e +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/82/70b319ce4046854fbe7dc41054b6c2d112dab2 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/84/59071b722a255b774a80b27746033f8141ab39 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/85/aee46f478e9afdb84d50a05242c53b04ed2e21 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/86/e288b46f8fe179907e4413f665aeb5053fddb1 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/87/ef1fc3f7f1ddc4d0ab9b3e65381ce9f3388621 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/8b/84f56978e1de8f2ae82abce5f8b3e182d365cd +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/8e/55a7d2b96184030211f20c9b9af201eefcac82 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/91/c69ad88fe0ba94aa7859fb5f7edac5e6f1a3f7 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/94/74152b4b463d70ae5ad07f0c658be3e296026b +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/94/f7dbe88e80c4205a901b71eb8f181974376bba +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/97/1aef09ea939f46b60b9646f8d524c78a9220f4 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/9b/ec5ee2236ee2d5532c36bfd132e23c58fdb69c +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/9d/0df52899fe95279059286d9c0ec42287edc168 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/a1/5389729850729fc7bd78a54f26fce77f30be12 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/a1/906da89d1174f74867800c74c43af36253bd5e +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/a4/63fdd23e5efd713db8a71f316f3a1c7bd60916 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/a5/ec8f74642fbba27f7ea78c53b372ae0c7dedce +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/a7/3e13eafee65c5b8d73ad2d3ea46d0eee82f0d3 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/b0/56be4be89ba6b76949dd641df45bb7036050c8 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/b0/9cd7856d58590578ee1a4f3ad45d1310a97f87 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/b2/18e6a0f0f1c4df8cdefa9852058348abc713b7 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/b3/4f7f271c6d6105e35a6556ffda71d03afe8c96 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/b3/69579064bde9de9a19d114fc33e4e48cc8c0e4 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/b5/61831c7dce8ea51e7ee6b6fa35745f14d8242d +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/b7/2c9e75ab7d0afe594664650aa8f6c772f5ac64 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/bb/81ccc0513f18fc160b54a82861e9a80d23f4f6 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/bb/934eb33bc1a8b85630bf680caffd99560c1b8f +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/bf/67907e337021ebff434e02b19b30a741c144af +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/bf/b54d65922ce1dfda1aaa014913a54e7172d0bc +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/c1/20fc812b9ad311c34a3608512d6a9d976bb48e +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/c1/397c6ed72c4e20ef6b9ab83163e9a6baba5b45 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/c4/cba65f1163661999ee4b8ed23342b63bc1300c +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/c6/7f17e5707313600efcb85e9a3fedea35dba591 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/c6/f32aced880bd165a251cb52b26b0c1107e2141 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/cc/45df1d317a2eb63ff1ff3a5f3b4a9f98fd92b5 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/cd/822b3574a88ebdd1ed82fd6983f37e626d52b4 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/cf/0c0d9c6fb09473aaeb7f7e2edbd770c3f2ef3d +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/d2/992df305f4b56a466a2f221aeb182ddd20f418 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/d6/39e8af592cd75a318d8affddd1bcc70c2095f2 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/d6/9ab1c4aadf279936dd778e8346ba60f74705b6 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/d8/4688b54c0040a30976b3a6540bc47adf7ce680 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/d9/005f2cc7fc4e65f14ed5518276007c08cf2fd0 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/d9/c2403fd166ce791b4e9d0c6792ed8342c71fcd +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/d9/dfa5aee51e92a541b707e8e7baea6f06deff98 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/db/141dbaa93594df2a8156182f361ee4db829359 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/db/3f2cd643292057936230b95cf7ec3046affe11 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/db/ffa8ea7bda721d0cee7b9e4ce5b2ef927733ff +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/dc/c2bdbafb3296e09d9ee4955cfa55d275825f94 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/dc/cdbd4266765d840be2ae35ab1752a0fa312c16 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/dd/87fb5f606fe380d81e6fe3a2c98f9f99e3e09b +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/de/214c626ac2dd2685bfaa0bc0fc20f528d014d7 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/df/e0770424b2a19faf507a501ebfc23be8f54e7b +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/e2/f2f8f4c25e62a297fc55f36acc6b01cfbab76f +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/e3/1356f90ea6dd0577b5e0b40b206319adcbf085 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/e3/5a4dafc50850cacac7bf76c56db2715cbda2c4 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/e4/6c715352db9fe3c887a635f1916df4ca1f4ff9 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/e5/0580a0bd1e1b3d29f834382b80fceb61d5cf0c +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/e9/391ffe371f1cc43b42ef09b705d9c767c2e14f +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/ea/3a18cc75e53792744ef754e05d3f4481768c13 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/ec/40fd8bf8e4c342534a9fc020289e402ba6bc9d +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/ec/d980279432b13f0374b90ca439a6329cdece0f +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/ee/cee64eacaff022dcdc509c0c2b1da492f21060 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/f1/e50757fddc28b445545dc7e2759b54cdd0f42e +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/f4/b64d3107b39e3ad6f540c6607004ea34e6c024 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/f4/ba7f815b886797b73fede071d86e0c134d2bc7 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/f5/61c3c1bf1c9ea9c9d1f556a7be2869f71f3bdf +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/f6/44a8ff56fa035105fc517cbb1ac46c3d8e349a +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/f7/c98ba5c2f903e603b1f5e63d49fbc8a43815cc +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/f9/045a08e96eb76848fc4d68e3e3e687cca39a2d +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/fa/147e6bb78a2e8db241d231295fd7f1ed061af8 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/fc/292e793ecfd42240ac43be407023bd731fa9e7 +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/refs/.DS_Store +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/refs/heads/main +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/refs/remotes/origin/HEAD +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/refs/remotes/origin/main +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.gitattributes +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.gitignore +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/LICENSE +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/README.md +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/__init__.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/batman.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/bio.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/brain_atlas.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/chat.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/corr.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/correlators.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/.DS_Store +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/db2ls_sql_chtsht.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/docs_links.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/email/email_html_template.html +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/hyper_param_autogluon_zeroshot2024.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/lang_code_iso639.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/mygenes_fields_241022.txt +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/sns_info.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/.DS_Store +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/example/.DS_Store +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/example/style1.pdf +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/example/style2.pdf +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/example/style3.pdf +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/example/style4.pdf +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/example/style5.pdf +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/example/style6.pdf +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/example/style7.pdf +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/example/style8.pdf +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/example/style9.pdf +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/style1.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/style10.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/style11.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/style12.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/style2.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/style3.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/style4.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/style5.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/style6.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/style7.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/style8.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/style9.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/.DS_Store +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/grid.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/high-contrast.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/high-vis.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/ieee.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/light.mplstyl +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/muted.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/nature-reviews-latex.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/nature-reviews.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/nature.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/no-latex.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/notebook.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/paper.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/retro.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/sans.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/scatter.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/science.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/std-colors.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/styles/stylelib/vibrant.mplstyle +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/usages_pd.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/data/usages_sns.json +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/db2ls.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/doc.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/ec2ls.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/export_requirements.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/fetch_update.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/freqanalysis.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/ich2ls.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/ml2ls.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/mol.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/netfinder.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/nl2ls.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/ocr.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/plot.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/setuptools-70.1.0-py3-none-any.whl +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/sleep_events_detectors.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/stats.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/translator.py +0 -0
- {py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/wb_detector.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: py2ls
|
3
|
-
Version: 0.2.4.
|
3
|
+
Version: 0.2.4.29
|
4
4
|
Summary: py(thon)2(too)ls
|
5
5
|
Author: Jianfeng
|
6
6
|
Author-email: Jianfeng.Liu0413@gmail.com
|
@@ -25,11 +25,11 @@ Requires-Dist: MarkupSafe (>=2.1.5)
|
|
25
25
|
Requires-Dist: PyMatting (>=1.1.12)
|
26
26
|
Requires-Dist: PyOpenGL (>=3.1.6)
|
27
27
|
Requires-Dist: PyPDF2 (>=3.0.1)
|
28
|
-
Requires-Dist: PyQt5 (>=5.15.
|
29
|
-
Requires-Dist: PyQt5-Qt5 (>=5.15.
|
28
|
+
Requires-Dist: PyQt5 (>=5.15.0)
|
29
|
+
Requires-Dist: PyQt5-Qt5 (>=5.15.0)
|
30
30
|
Requires-Dist: PyQt5_sip (>=12.15.0)
|
31
|
-
Requires-Dist: PyQtWebEngine (>=5.15.
|
32
|
-
Requires-Dist: PyQtWebEngine-Qt5 (>=5.15.
|
31
|
+
Requires-Dist: PyQtWebEngine (>=5.15.0)
|
32
|
+
Requires-Dist: PyQtWebEngine-Qt5 (>=5.15.0)
|
33
33
|
Requires-Dist: PySocks (>=1.7.1)
|
34
34
|
Requires-Dist: PyYAML (>=6.0.1)
|
35
35
|
Requires-Dist: Pygments (>=2.18.0)
|
@@ -38,7 +38,6 @@ Requires-Dist: SciencePlots (>=2.1.1)
|
|
38
38
|
Requires-Dist: XlsxWriter (>=3.2.0)
|
39
39
|
Requires-Dist: asciitree (>=0.3.3)
|
40
40
|
Requires-Dist: asttokens (>=2.4.1)
|
41
|
-
Requires-Dist: attrs (>=23.2.0)
|
42
41
|
Requires-Dist: autogluon (>=1.2)
|
43
42
|
Requires-Dist: beautifulsoup4 (>=4.12.3)
|
44
43
|
Requires-Dist: bleach (>=6.1.0)
|
Binary file
|
@@ -3657,35 +3657,21 @@ def get_os(full=False, verbose=False):
|
|
3657
3657
|
pnrint(e)
|
3658
3658
|
return res
|
3659
3659
|
|
3660
|
-
|
3660
|
+
import re
|
3661
|
+
import stat
|
3662
|
+
import platform
|
3661
3663
|
def listdir(
|
3662
3664
|
rootdir,
|
3663
3665
|
kind=None,
|
3664
3666
|
sort_by="name",
|
3665
3667
|
ascending=True,
|
3666
|
-
contains=None
|
3668
|
+
contains=None,# filter filenames using re
|
3669
|
+
booster=False,# walk in subfolders
|
3670
|
+
hidden=False, # Include hidden files/folders
|
3667
3671
|
orient="list",
|
3668
|
-
output="df", # 'list','dict','records','index','series'
|
3672
|
+
output="df", # "df", 'list','dict','records','index','series'
|
3669
3673
|
verbose=True,
|
3670
|
-
):
|
3671
|
-
if kind is None:
|
3672
|
-
ls = os.listdir(rootdir)
|
3673
|
-
ls = [f for f in ls if not f.startswith(".") and not f.startswith("~")]
|
3674
|
-
if verbose:
|
3675
|
-
if len(ls)>20:
|
3676
|
-
print(ls[:20])
|
3677
|
-
else:
|
3678
|
-
print(ls)
|
3679
|
-
df_all = pd.DataFrame(
|
3680
|
-
{
|
3681
|
-
"name": ls,
|
3682
|
-
"path": [os.path.join(rootdir, i) for i in ls],
|
3683
|
-
"kind":[os.path.splitext(i)[1] for i in ls]
|
3684
|
-
}
|
3685
|
-
)
|
3686
|
-
if verbose:
|
3687
|
-
display(df_all.head())
|
3688
|
-
return df_all
|
3674
|
+
):
|
3689
3675
|
if isinstance(kind, list):
|
3690
3676
|
f_ = []
|
3691
3677
|
for kind_ in kind:
|
@@ -3695,56 +3681,106 @@ def listdir(
|
|
3695
3681
|
sort_by=sort_by,
|
3696
3682
|
ascending=ascending,
|
3697
3683
|
contains=contains,
|
3684
|
+
booster=booster,# walk in subfolders
|
3685
|
+
hidden=hidden,
|
3698
3686
|
orient=orient,
|
3699
3687
|
output=output,
|
3688
|
+
verbose=verbose,
|
3700
3689
|
)
|
3701
3690
|
f_.append(f_tmp)
|
3702
3691
|
if f_:
|
3703
3692
|
return pd.concat(f_, ignore_index=True)
|
3704
|
-
|
3705
|
-
|
3706
|
-
|
3707
|
-
|
3708
|
-
|
3709
|
-
|
3710
|
-
|
3711
|
-
|
3712
|
-
|
3713
|
-
|
3714
|
-
|
3715
|
-
|
3716
|
-
|
3717
|
-
|
3718
|
-
|
3719
|
-
|
3720
|
-
|
3721
|
-
|
3722
|
-
|
3723
|
-
|
3724
|
-
|
3725
|
-
|
3726
|
-
|
3727
|
-
if
|
3693
|
+
if kind is not None:
|
3694
|
+
if not kind.startswith("."):
|
3695
|
+
kind = "." + kind
|
3696
|
+
fd = [".fd", ".fld", ".fol", ".fd", ".folder"]
|
3697
|
+
i = 0
|
3698
|
+
f = {
|
3699
|
+
"name": [],
|
3700
|
+
'kind':[],
|
3701
|
+
"length": [],
|
3702
|
+
"basename":[],
|
3703
|
+
"path": [],
|
3704
|
+
"created_time": [],
|
3705
|
+
"modified_time": [],
|
3706
|
+
"last_open_time": [],
|
3707
|
+
"size": [],
|
3708
|
+
"permission":[],
|
3709
|
+
"owner":[],
|
3710
|
+
"rootdir":[],
|
3711
|
+
"fname": [],
|
3712
|
+
"fpath": [],
|
3713
|
+
}
|
3714
|
+
for dirpath, dirnames, ls in os.walk(rootdir):
|
3715
|
+
if not hidden:
|
3716
|
+
dirnames[:] = [d for d in dirnames if not d.startswith(".")]
|
3717
|
+
ls = [i for i in ls if not i.startswith(".")]
|
3718
|
+
for dirname in dirnames:
|
3719
|
+
if contains and not re.search(contains, dirname):
|
3728
3720
|
continue
|
3729
|
-
|
3730
|
-
|
3731
|
-
|
3732
|
-
os.
|
3733
|
-
|
3734
|
-
|
3735
|
-
|
3736
|
-
|
3737
|
-
|
3738
|
-
return flist(fpath, contains=contains)
|
3739
|
-
else: # 精确到文件的后缀
|
3740
|
-
if not is_folder and not is_file:
|
3741
|
-
continue
|
3721
|
+
dirname_path = os.path.join(dirpath, dirname)
|
3722
|
+
fpath = os.path.join(os.path.dirname(dirname_path), dirname)
|
3723
|
+
try:
|
3724
|
+
stats_file = os.stat(fpath)
|
3725
|
+
except Exception as e:
|
3726
|
+
print(e)
|
3727
|
+
continue
|
3728
|
+
filename, file_extension = os.path.splitext(dirname)
|
3729
|
+
file_extension = file_extension if file_extension!='' else None
|
3742
3730
|
f["name"].append(filename)
|
3731
|
+
f['kind'].append(file_extension)
|
3743
3732
|
f["length"].append(len(filename))
|
3744
|
-
f["
|
3733
|
+
f["size"].append(round(os.path.getsize(fpath) / 1024 / 1024, 3))
|
3734
|
+
f['basename'].append(os.path.basename(dirname_path))
|
3735
|
+
f["path"].append(os.path.join(os.path.dirname(dirname_path), dirname))
|
3736
|
+
f["created_time"].append(
|
3737
|
+
pd.to_datetime(os.path.getctime(dirname_path), unit="s")
|
3738
|
+
)
|
3739
|
+
f["modified_time"].append(
|
3740
|
+
pd.to_datetime(os.path.getmtime(dirname_path), unit="s")
|
3741
|
+
)
|
3742
|
+
f["last_open_time"].append(
|
3743
|
+
pd.to_datetime(os.path.getatime(dirname_path), unit="s")
|
3744
|
+
)
|
3745
|
+
f["permission"].append(stat.filemode(stats_file.st_mode)),
|
3746
|
+
f["owner"].append(os.getlogin() if platform.system() != "Windows" else "N/A"),
|
3747
|
+
f["rootdir"].append(dirpath)
|
3748
|
+
f["fname"].append(filename) # will be removed
|
3749
|
+
f["fpath"].append(fpath) # will be removed
|
3750
|
+
i += 1
|
3751
|
+
for item in ls:
|
3752
|
+
if contains and not re.search(contains, item):
|
3753
|
+
continue
|
3754
|
+
item_path = os.path.join(dirpath, item)
|
3745
3755
|
fpath = os.path.join(os.path.dirname(item_path), item)
|
3746
|
-
|
3756
|
+
try:
|
3757
|
+
stats_file = os.stat(fpath)
|
3758
|
+
except Exception as e:
|
3759
|
+
print(e)
|
3760
|
+
continue
|
3761
|
+
filename, file_extension = os.path.splitext(item)
|
3762
|
+
if kind is not None:
|
3763
|
+
if not kind.startswith("."):
|
3764
|
+
kind = "." + kind
|
3765
|
+
is_folder = kind.lower() in fd and os.path.isdir(item_path)
|
3766
|
+
is_file = kind.lower() in file_extension.lower() and (
|
3767
|
+
os.path.isfile(item_path)
|
3768
|
+
)
|
3769
|
+
if kind in [".doc", ".img", ".zip"]: # 选择大的类别
|
3770
|
+
if kind != ".folder" and not isa(item_path, kind):
|
3771
|
+
continue
|
3772
|
+
elif kind in [".all"]:
|
3773
|
+
return flist(fpath, contains=contains)
|
3774
|
+
else: # 精确到文件的后缀
|
3775
|
+
if not is_folder and not is_file:
|
3776
|
+
continue
|
3777
|
+
file_extension = file_extension if file_extension!='' else None
|
3778
|
+
f["name"].append(filename)
|
3779
|
+
f['kind'].append(file_extension)
|
3780
|
+
f["length"].append(len(filename))
|
3747
3781
|
f["size"].append(round(os.path.getsize(fpath) / 1024 / 1024, 3))
|
3782
|
+
f['basename'].append(os.path.basename(item_path))
|
3783
|
+
f["path"].append(os.path.join(os.path.dirname(item_path), item))
|
3748
3784
|
f["created_time"].append(
|
3749
3785
|
pd.to_datetime(os.path.getctime(item_path), unit="s")
|
3750
3786
|
)
|
@@ -3754,26 +3790,22 @@ def listdir(
|
|
3754
3790
|
f["last_open_time"].append(
|
3755
3791
|
pd.to_datetime(os.path.getatime(item_path), unit="s")
|
3756
3792
|
)
|
3793
|
+
f["permission"].append(stat.filemode(stats_file.st_mode)),
|
3794
|
+
f["owner"].append(os.getlogin() if platform.system() != "Windows" else "N/A"),
|
3757
3795
|
f["fname"].append(filename) # will be removed
|
3758
3796
|
f["fpath"].append(fpath) # will be removed
|
3759
|
-
f[
|
3797
|
+
f["rootdir"].append(dirpath)
|
3760
3798
|
i += 1
|
3761
3799
|
|
3762
3800
|
f["num"] = i
|
3763
|
-
f["rootdir"] = rootdir
|
3764
3801
|
f["os"] = get_os() # os.uname().machine
|
3765
|
-
|
3766
|
-
|
3767
|
-
|
3768
|
-
rootdir
|
3769
|
-
)
|
3770
|
-
)
|
3771
|
-
|
3802
|
+
if not booster: # go deeper subfolders
|
3803
|
+
break
|
3804
|
+
#* convert to pd.DataFrame
|
3772
3805
|
f = pd.DataFrame(f)
|
3773
|
-
|
3774
|
-
|
3775
|
-
|
3776
|
-
|
3806
|
+
f=f[["basename","name","kind","length","size","num","path","created_time",
|
3807
|
+
"modified_time","last_open_time","rootdir",
|
3808
|
+
"fname","fpath","permission","owner","os",]]
|
3777
3809
|
if "nam" in sort_by.lower():
|
3778
3810
|
f = sort_kind(f, by="name", ascending=ascending)
|
3779
3811
|
elif "crea" in sort_by.lower():
|
@@ -3786,10 +3818,10 @@ def listdir(
|
|
3786
3818
|
if "df" in output:
|
3787
3819
|
if verbose:
|
3788
3820
|
display(f.head())
|
3821
|
+
print(f"shape: {f.shape}")
|
3789
3822
|
return f
|
3790
3823
|
else:
|
3791
3824
|
from box import Box
|
3792
|
-
|
3793
3825
|
if "l" in orient.lower(): # list # default
|
3794
3826
|
res_output = Box(f.to_dict(orient="list"))
|
3795
3827
|
return res_output
|
@@ -3802,12 +3834,6 @@ def listdir(
|
|
3802
3834
|
if "se" in orient.lower(): # records
|
3803
3835
|
return Box(f.to_dict(orient="series"))
|
3804
3836
|
|
3805
|
-
|
3806
|
-
# Example usage:
|
3807
|
-
# result = listdir('your_root_directory')
|
3808
|
-
# print(result)
|
3809
|
-
# df=listdir("/", contains='sss',sort_by='name',ascending=False)
|
3810
|
-
# print(df.fname.to_list(),"\n",df.fpath.to_list())
|
3811
3837
|
def listfunc(lib_name, opt="call"):
|
3812
3838
|
if opt == "call":
|
3813
3839
|
funcs = [func for func in dir(lib_name) if callable(getattr(lib_name, func))]
|
@@ -3822,6 +3848,10 @@ def func_list(lib_name, opt="call"):
|
|
3822
3848
|
def copy(src, dst, overwrite=False):
|
3823
3849
|
"""Copy a file from src to dst."""
|
3824
3850
|
try:
|
3851
|
+
dir_par_dst = os.path.dirname(dst)
|
3852
|
+
if not os.path.isdir(dir_par_dst):
|
3853
|
+
mkdir(dir_par_dst)
|
3854
|
+
print(dir_par_dst)
|
3825
3855
|
src = Path(src)
|
3826
3856
|
dst = Path(dst)
|
3827
3857
|
if not src.is_dir():
|
@@ -3848,11 +3878,14 @@ def copy(src, dst, overwrite=False):
|
|
3848
3878
|
except Exception as e:
|
3849
3879
|
logging.error(f"Failed {e}")
|
3850
3880
|
|
3851
|
-
def move(src, dst, overwrite=False):
|
3852
|
-
return cut(src=src, dst=dst, overwrite=overwrite)
|
3853
|
-
|
3854
3881
|
def cut(src, dst, overwrite=False):
|
3882
|
+
return move(src=src, dst=dst, overwrite=overwrite)
|
3883
|
+
|
3884
|
+
def move(src, dst, overwrite=False):
|
3855
3885
|
try:
|
3886
|
+
dir_par_dst = os.path.dirname(dst)
|
3887
|
+
if not os.path.isdir(dir_par_dst):
|
3888
|
+
mkdir(dir_par_dst)
|
3856
3889
|
src = Path(src)
|
3857
3890
|
dst = Path(dst)
|
3858
3891
|
if dst.is_dir():
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[tool.poetry]
|
2
2
|
name = "py2ls"
|
3
|
-
version = "0.2.4.
|
3
|
+
version = "0.2.4.29"
|
4
4
|
description = "py(thon)2(too)ls"
|
5
5
|
authors = ["Jianfeng <Jianfeng.Liu0413@gmail.com>"]
|
6
6
|
readme = "README.md"
|
@@ -14,7 +14,7 @@ autogluon = ">=1.2"
|
|
14
14
|
gluoncv = ">=0.10.5"
|
15
15
|
asciitree = ">=0.3.3"
|
16
16
|
asttokens = ">=2.4.1"
|
17
|
-
attrs = ">=23.2.0"
|
17
|
+
#attrs = ">=23.2.0"
|
18
18
|
beautifulsoup4 = ">=4.12.3"
|
19
19
|
bleach = ">=6.1.0"
|
20
20
|
build = ">=0.10.0"
|
@@ -161,11 +161,11 @@ PyOpenGL = ">=3.1.6"
|
|
161
161
|
pyparsing = ">=3.1.2"
|
162
162
|
PyPDF2 = ">=3.0.1"
|
163
163
|
pyproject_hooks = ">=1.1.0"
|
164
|
-
PyQt5 = ">=5.15.
|
165
|
-
PyQt5-Qt5 = ">=5.15.
|
164
|
+
PyQt5 = ">=5.15.0"
|
165
|
+
PyQt5-Qt5 = ">=5.15.0"
|
166
166
|
PyQt5_sip = ">=12.15.0"
|
167
|
-
PyQtWebEngine = ">=5.15.
|
168
|
-
PyQtWebEngine-Qt5 = ">=5.15.
|
167
|
+
PyQtWebEngine = ">=5.15.0"
|
168
|
+
PyQtWebEngine-Qt5 = ">=5.15.0"
|
169
169
|
pyrsistent = ">=0.20.0"
|
170
170
|
PySocks = ">=1.7.1"
|
171
171
|
pytest = ">=8.3.1"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/01/d5bd8065e6860c0bd23ff9fa57161806a099e1
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/09/08da26de58c114225ad81f484b80bf5d351b34
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/0b/409e1bc918277010f5679b402d1d1dda53e15c
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/12/c2808a1b3a4d0892a4154dfba1e2ae3770fa73
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/14/449a0e6ba4ea2f1a73acf63ef91c9c6193f9ed
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/15/a8e468aacfcb440e090020f36d0b985d45da23
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/1a/b4585881a6a42889f01aa0cfe25fd5acfaf46f
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/1c/3f92adda34344bcbbbf9d409c79855ae2aaea8
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/1c/9314c5f69b9390068a2a8616875d974849d71f
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/1d/fe9d9633b24ea560354f4f93d39c6e5f163ea0
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/20/72c28e83f4347959d29f7b3a6c1fc3e4ee6b59
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/24/6b368b986f758630c46dc02b7fa512b53422f7
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/25/b796accd261b9135fd32a2c00785f68edf6c46
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/27/aa6074f652bc6f7078f8647489d9ee8e24f0e2
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/28/c2969d785c1b892c2a96b3f00eba63a59811b3
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/2a/ae95d517d213b660bf4f65a4e0cfae7bb893eb
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/2a/fdf45791a26d42ccead35ace76a8f0b2a56561
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/30/a2f8da47ee947811dc8d993f5a06a45de374f4
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/32/fd627b62fad7cf3b2f9e34ab9777126a0987ad
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/34/9e31b6a3634cea102ce5588b98c11cc1738605
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/34/b6f3a2ee84f39bed4eee57f2c0e0afb994feb1
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/35/1a5f491ab97eee9d1ee699478d75a8bb5d3dc2
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/36/b4a1b7403abc6c360f8fe2cb656ab945254971
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/36/e56a361f526eafa59c5235a5c990bf288b5f9c
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/36/ef43e50009e59db11812c258846d9e38718173
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/39/7ead045fbbcfb17c62019eb18fe21ed05dbee5
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/39/b13be65125556784e44c7a1d9821703c7ab67e
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/3b/507acc7f23391644cc0b824b1e79fd2677a362
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/3b/bd972aa7ad680858f8dfbd0f7fcd97756f0d6f
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/3c/bbe5f4173d165127b9ad96119f1ec24c306ffc
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/3d/9d10d27724657a436c65a6254bfd213d4b3562
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/3f/d6561300938afbb3d11976cf9c8f29549280d9
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/41/dcf4b3bf0460946b2da93776cf9e836d62178f
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/43/dbd49b2ee367c5434dd545e3b5795434f2ef0b
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/45/b1b6178bacbfc997811a998b5cc60c1ea7fac8
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/47/6cbd5a7c5e35cddef2f8a38bdc4896d403b095
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/48/a88fc5806305d0bb0755ee6801161b79696972
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/4f/7afb40dff2153d857fc85748c2eecb85125042
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/50/08ddfcf53c02e82d7eee2e57c38e5672ef89f6
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/53/e0deb1cb4c2c606bced6e7f9a66b0fda60980d
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/56/e4e8b2d5545e0256090f45aa8fc42c5fe067d0
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/57/63d0c52f5c9c69e89d514a1f96034947abe21a
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/57/bd1c0199483ab316235b094543b85edec6c35e
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/58/20a729045d4dc7e37ccaf8aa8eec126850afe2
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/59/380c4c26bdcd4d9b71ae3e2e35f05b3f26c5ab
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/5a/192565abf89c9d765af846ce6d53a92b1ce7ad
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/60/f273eb1c412d916fa3f11318a7da7a9911b52a
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/61/570cec8c061abe74121f27f5face6c69b98f99
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/62/4488173ed2c8936fa5cea3cf5dd3f26a30b86e
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/62/7c81b23b4e56e87b042b650b0103653cc9e34a
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/62/d90ccf8cbefdc2e4fd475e7c6f4f76e9fdf801
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/63/100154b27846e8010e55b6bf4b3d7762c14c5f
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/64/27a4edff08f93d98f511418423f09f2ab90bcd
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/66/6227eeeba24073e63811e89f1449f3d958f183
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/66/c998778721d424bd0aae80602dabbffa93af2e
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/68/6df3072c8b025fb18106ed2df505994ad062a9
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/69/13c452ca319f7cbf6a0836dc10a5bb033c84e4
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/6a/52e747a2b349b128d1490d9e896d2323818eb7
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/6b/7fde264d93a7a0986d394c46c7650d0ce2ab92
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/6c/cebb29b7f3f5b0c889f6dadbf9ff066554587d
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/6d/c2cdf4a84e538e5d4777486aeff87e42f41799
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/6d/ee29dbdcc84edeeacede105110446f3ccac963
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/71/36b2074a2754be8b58127d82250e5b37e3c373
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/72/245a05b0966011cb381e6b32b0465000e969ab
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/72/e4179337639859678ddaecf38b16f33aaec8e1
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/78/063f4c863fc371ec0313303c0a81283b35d9b6
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/78/3d4167bc95c9d2175e0df03ef1c1c880ba75ab
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/79/7ae089b2212a937840e215276005ce76881307
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/7e/5956c806b5edc344d46dab599dec337891ba1f
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/81/8f26b7bf042269729020cf944fc362d66ba27e
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/82/70b319ce4046854fbe7dc41054b6c2d112dab2
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/84/59071b722a255b774a80b27746033f8141ab39
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/85/aee46f478e9afdb84d50a05242c53b04ed2e21
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/86/e288b46f8fe179907e4413f665aeb5053fddb1
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/87/ef1fc3f7f1ddc4d0ab9b3e65381ce9f3388621
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/8b/84f56978e1de8f2ae82abce5f8b3e182d365cd
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/8e/55a7d2b96184030211f20c9b9af201eefcac82
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/91/c69ad88fe0ba94aa7859fb5f7edac5e6f1a3f7
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/94/74152b4b463d70ae5ad07f0c658be3e296026b
RENAMED
File without changes
|
{py2ls-0.2.4.27 → py2ls-0.2.4.29}/py2ls/.git/objects/94/f7dbe88e80c4205a901b71eb8f181974376bba
RENAMED
File without changes
|