diff --git a/find-junk b/find-junk index 4416799..7910e7e 100755 --- a/find-junk +++ b/find-junk @@ -15,7 +15,7 @@ def junk_dirs(): """Return directories which potentially contain junk""" for d in ['~/tmp', '~/.local/share/Trash', '~/rpmbuild', '~/RPM', - '~/.cache/tracker']: + '~/.cache/tracker', '~/.local/share/apt-dater/history']: d = os.path.expanduser(d) if os.path.exists(d): yield d diff --git a/git-status-all b/git-status-all index f863d22..fc17fd2 100755 --- a/git-status-all +++ b/git-status-all @@ -4,13 +4,14 @@ from __future__ import division, print_function from colorama import Fore +from pathlib import Path import contextlib import os import subprocess -def git_directories(startdir): +def git_directories(startdir) -> Path: for dirpath, dirnames, _ in os.walk(startdir): if '.sync' in dirpath: continue @@ -18,11 +19,11 @@ def git_directories(startdir): # FIXME continue if set(['info', 'objects', 'refs']).issubset(set(dirnames)): - yield dirpath + yield Path(dirpath) @contextlib.contextmanager -def working_directory(directory): +def working_directory(directory: Path): saved_cwd = os.getcwd() os.chdir(directory) yield @@ -30,7 +31,12 @@ def working_directory(directory): for git_directory in git_directories('.'): - work_tree_directory = git_directory[:-4] + # technically,we could have a different GIT_DIR than ".git", but this script + # assumes ".git". + if git_directory.parts[-1] != ".git": + continue + work_tree_directory = git_directory.parent + with working_directory(work_tree_directory): try: out = subprocess.check_output(['git', 'status', '-s'], stderr=subprocess.STDOUT) diff --git a/rmdir-empty b/rmdir-empty new file mode 100755 index 0000000..774fff5 --- /dev/null +++ b/rmdir-empty @@ -0,0 +1,15 @@ +#!/bin/sh +# recursively delete empty directories + +rmdir_empty() { + # make default . explicit + if [ -z "$1" ]; then + set -- . + fi + + find "$@" -depth \ + -path "." -prune -or \ + -type d -empty -exec rmdir -v {} \; +} + +rmdir_empty "$@" diff --git a/saubermann b/saubermann index 2313570..cfddc01 100755 --- a/saubermann +++ b/saubermann @@ -1,5 +1,6 @@ #!/bin/sh # check for common problems + junk +# https://github.com/neingeist/dirty-helpers is_debian() { @@ -12,7 +13,7 @@ is_fedora() { echo "== Dangling symlinks in /etc" -find /etc -type l -and -xtype l | egrep -v 'blkid.tab|/var/log/dropbear' +find /etc -type l -and -xtype l | egrep -v 'blkid.tab|/var/log/dropbear|/etc/sv/ssh' echo "== Trashes" for t in /home/*/.local/share/Trash; do diff --git a/ssh_known_dupes b/ssh_known_dupes index 7602c24..6ad959f 100755 --- a/ssh_known_dupes +++ b/ssh_known_dupes @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/python3 # Find duplicate keys in ~/.ssh/known_hosts # # Of course, we should have been more careful in the first place :) diff --git a/wiewardertatort b/wiewardertatort new file mode 100755 index 0000000..c464518 --- /dev/null +++ b/wiewardertatort @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 + +import requests +import re +import click +from bs4 import BeautifulSoup + + +@click.command() +@click.argument('search_title') +def search(search_title): + q = requests.utils.quote(search_title) + url = f"https://www.wiewardertatort.de/search?q={q}" + + soup = BeautifulSoup(requests.get(url).text, features="lxml") + + for post_outer in soup.select("div.post-outer"): + title = post_outer.select_one("h3.post-title").a.text + print(title) + + if m := re.search(r"Bewertung: (\d+)/", post_outer.text): + bewertung = int(m.group(1)) + print(bewertung) + + +if __name__ == '__main__': + search() + +# vim:ft=python:tw=120: