diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..4768b4f --- /dev/null +++ b/Makefile @@ -0,0 +1,23 @@ +install: setup-deps mklinks +uninstall: rmlinks + +setup-deps: + python3 -m pip install -r requirements.txt + +rmlinks: + rm base/izzylib/dbus + rm base/izzylib/hasher + rm base/izzylib/http_requests_client + rm base/izzylib/sql + rm base/izzylib/template + rm base/izzylib/tinydb + rm izzylib + +mklinks: + ln -sr dbus/izzylib/dbus base/izzylib/ + ln -sr hasher/izzylib/hasher base/izzylib/ + ln -sr requests_client/izzylib/http_requests_client base/izzylib/ + ln -sr sql/izzylib/sql base/izzylib/ + ln -sr template/izzylib/template base/izzylib/ + ln -sr tinydb/izzylib/tinydb base/izzylib/ + ln -s base/izzylib diff --git a/base/izzylib/path.py b/base/izzylib/path.py index 0bc9804..c0911b3 100644 --- a/base/izzylib/path.py +++ b/base/izzylib/path.py @@ -59,6 +59,10 @@ class Path(str): os.chmod(self, mode) + def contains(self, text): + return text in str(self) + + def copy(self, path, overwrite=False): target = Path(path) @@ -84,6 +88,10 @@ class Path(str): return Path(os.path.expanduser(self)) + def glob(self, pattern='*'): + return tuple(sorted(self.join(path) for path in PyPath(self).rglob(pattern))) + + def join(self, new_path): return Path(os.path.join(self, new_path)) diff --git a/links.sh b/links.sh deleted file mode 100755 index 71a9a48..0000000 --- a/links.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -ln -s dbus/izzylib/dbus base/izzylib/ -ln -s hasher/izzylib/hasher base/izzylib/ -ln -s requests_client/izzylib/http_requests_client base/izzylib/ -ln -s sql/izzylib/sql base/izzylib/ -ln -s template/izzylib/template base/izzylib/ -ln -s tinydb/izzylib/tinydb base/izzylib/ - -ln -s base/izzylib diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..2162886 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,16 @@ +dasbus==1.6 +argon2-cffi==20.1.0 +pillow==8.2.0 +pycryptodome==3.10.1 +requests==2.25.1 +tldextract==3.1.0 +SQLAlchemy==1.4.7 +SQLAlchemy-Paginator==0.2 +colour==0.1.5 +Hamlish-Jinja==0.3.3 +Jinja2==3.0.1 +Markdown==3.3.3 +tinydb==4.4.0 +tinydb-serialization==2.1.0 +tinydb-smartcache==2.0.0 +tinyrecord==0.2.0