diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6daa1f0 --- /dev/null +++ b/Makefile @@ -0,0 +1,13 @@ +help: + @echo Possible targets: init giti + +init: + @python3 __scripts__/init.py + +giti: + @make --no-print-directory -C applications $@ + @make --no-print-directory -C embedded_linux $@ + @make --no-print-directory -C linux_env $@ + @make --no-print-directory -C python_apps $@ + @make --no-print-directory -C unittest $@ + diff --git a/__scripts__/init.py b/__scripts__/init.py new file mode 100644 index 0000000..ec06055 --- /dev/null +++ b/__scripts__/init.py @@ -0,0 +1,62 @@ +import json +import os + + +class repo(dict): + KEY_URL = "URL" + KEY_TARGET = "TARGET" + + INIT_SCRIPTNAME = "reposinit" + + def __init__(self, data, base_url): + self.__base_url__ = base_url + dict.__init__(self, data) + + def print_gn(self, txt): + print("\033[1;32m" + txt + "\033[00m") + + def print_ye(self, txt): + print("\033[1;33m" + txt + "\033[00m") + + def init_repo(self): + if os.path.exists(self.target_path()): + self.print_ye("skip: Cloning repository %s (already exists)..." % self.repo_url()) + else: + self.print_gn("clone: Cloning repository %s..." % self.repo_url()) + os.system("git clone %s %s" % (self.url(), self.target_path())) + if os.path.exists(os.path.join(self.target_path(), self.INIT_SCRIPTNAME)): + self.print_gn("exec: Executing init script for repository %s..." % self.repo_url()) + os.system("cd %s; ./%s" % (self.target_path(), self.INIT_SCRIPTNAME)) + print() + + def submodules(self): + return self[self.KEY_SUBMODULES] + + def url(self): + return self.__base_url__ + '/' + self.repo_url() + + def repo_url(self): + return self[self.KEY_URL] + + def target_path(self): + return os.path.join(self[self.KEY_TARGET], os.path.basename(self.url()) if not os.path.basename(self.url()).lower().endswith('.git') else os.path.basename(self.url())[:-4]) + + +class repositories(dict): + KEY_BASEURL = "BASE_URL" + KEY_REPOS = "REPO_LIST" + + def __init__(self, filename): + with open(filename, 'r') as fh: + data = json.loads(fh.read()) + for i in range(0, len(data[self.KEY_REPOS])): + data[self.KEY_REPOS][i] = repo(data[self.KEY_REPOS][i], data[self.KEY_BASEURL]) + dict.__init__(self, data) + + def repolist(self): + return self[self.KEY_REPOS] + +if __name__ == "__main__": + rl = repositories("repos.json") + for r in rl.repolist(): + r.init_repo() \ No newline at end of file diff --git a/applications/Makefile b/applications/Makefile new file mode 100644 index 0000000..f73be9c --- /dev/null +++ b/applications/Makefile @@ -0,0 +1,5 @@ +giti: + @echo "\n\n\033[1;34m╔══════════════╗" + @echo "║ applications ║" + @echo "╚══════════════╝\033[00m" + @ineach -p giti diff --git a/django/Makefile b/django/Makefile new file mode 100644 index 0000000..f63eb65 --- /dev/null +++ b/django/Makefile @@ -0,0 +1,5 @@ +giti: + @echo "\n\n\033[1;34m╔════════╗" + @echo "║ django ║" + @echo "╚════════╝\033[00m" + @ineach -e tutorial -p giti diff --git a/django/tutorial/10 Python Tips and Tricks For Writing Better Code.mp4 b/django/tutorial/10 Python Tips and Tricks For Writing Better Code.mp4 new file mode 100644 index 0000000..37a7d3d Binary files /dev/null and b/django/tutorial/10 Python Tips and Tricks For Writing Better Code.mp4 differ diff --git a/django/tutorial/Django - How To Translate A Website (Tutorial).mp4 b/django/tutorial/Django - How To Translate A Website (Tutorial).mp4 new file mode 100644 index 0000000..32ac8d8 Binary files /dev/null and b/django/tutorial/Django - How To Translate A Website (Tutorial).mp4 differ diff --git a/django/tutorial/Python Django Tutorial 21 - Full text search with haystack and whoosh.mp4 b/django/tutorial/Python Django Tutorial 21 - Full text search with haystack and whoosh.mp4 new file mode 100644 index 0000000..546474d Binary files /dev/null and b/django/tutorial/Python Django Tutorial 21 - Full text search with haystack and whoosh.mp4 differ diff --git a/django/tutorial/Python Django Tutorial Deploying Your Application (Option %231) - Deploy to a Linux Server.mp4 b/django/tutorial/Python Django Tutorial Deploying Your Application (Option %231) - Deploy to a Linux Server.mp4 new file mode 100644 index 0000000..7205902 Binary files /dev/null and b/django/tutorial/Python Django Tutorial Deploying Your Application (Option %231) - Deploy to a Linux Server.mp4 differ diff --git a/django/tutorial/Python Django Tutorial Deploying Your Application (Option %232) - Deploy using Heroku.mp4 b/django/tutorial/Python Django Tutorial Deploying Your Application (Option %232) - Deploy using Heroku.mp4 new file mode 100644 index 0000000..3126c7e Binary files /dev/null and b/django/tutorial/Python Django Tutorial Deploying Your Application (Option %232) - Deploy using Heroku.mp4 differ diff --git a/django/tutorial/Python Django Tutorial Full-Featured Web App Part 1 - Getting Started.mp4 b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 1 - Getting Started.mp4 new file mode 100644 index 0000000..98c9000 Binary files /dev/null and b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 1 - Getting Started.mp4 differ diff --git a/django/tutorial/Python Django Tutorial Full-Featured Web App Part 10 - Create, Update, and Delete Posts.mp4 b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 10 - Create, Update, and Delete Posts.mp4 new file mode 100644 index 0000000..75744f5 Binary files /dev/null and b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 10 - Create, Update, and Delete Posts.mp4 differ diff --git a/django/tutorial/Python Django Tutorial Full-Featured Web App Part 11 - Pagination.mp4 b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 11 - Pagination.mp4 new file mode 100644 index 0000000..17d520d Binary files /dev/null and b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 11 - Pagination.mp4 differ diff --git a/django/tutorial/Python Django Tutorial Full-Featured Web App Part 12 - Email and Password Reset.mp4 b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 12 - Email and Password Reset.mp4 new file mode 100644 index 0000000..ddd0cad Binary files /dev/null and b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 12 - Email and Password Reset.mp4 differ diff --git a/django/tutorial/Python Django Tutorial Full-Featured Web App Part 13 - Using AWS S3 for File Uploads.mp4 b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 13 - Using AWS S3 for File Uploads.mp4 new file mode 100644 index 0000000..1524add Binary files /dev/null and b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 13 - Using AWS S3 for File Uploads.mp4 differ diff --git a/django/tutorial/Python Django Tutorial Full-Featured Web App Part 2 - Applications and Routes.mp4 b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 2 - Applications and Routes.mp4 new file mode 100644 index 0000000..e516835 Binary files /dev/null and b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 2 - Applications and Routes.mp4 differ diff --git a/django/tutorial/Python Django Tutorial Full-Featured Web App Part 3 - Templates.mp4 b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 3 - Templates.mp4 new file mode 100644 index 0000000..089c57e Binary files /dev/null and b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 3 - Templates.mp4 differ diff --git a/django/tutorial/Python Django Tutorial Full-Featured Web App Part 4 - Admin Page.mp4 b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 4 - Admin Page.mp4 new file mode 100644 index 0000000..b460c4b Binary files /dev/null and b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 4 - Admin Page.mp4 differ diff --git a/django/tutorial/Python Django Tutorial Full-Featured Web App Part 5 - Database and Migrations.mp4 b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 5 - Database and Migrations.mp4 new file mode 100644 index 0000000..f9d8a32 Binary files /dev/null and b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 5 - Database and Migrations.mp4 differ diff --git a/django/tutorial/Python Django Tutorial Full-Featured Web App Part 6 - User Registration.mp4 b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 6 - User Registration.mp4 new file mode 100644 index 0000000..9661e8b Binary files /dev/null and b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 6 - User Registration.mp4 differ diff --git a/django/tutorial/Python Django Tutorial Full-Featured Web App Part 7 - Login and Logout System.mp4 b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 7 - Login and Logout System.mp4 new file mode 100644 index 0000000..51ca2bb Binary files /dev/null and b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 7 - Login and Logout System.mp4 differ diff --git a/django/tutorial/Python Django Tutorial Full-Featured Web App Part 8 - User Profile and Picture.mp4 b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 8 - User Profile and Picture.mp4 new file mode 100644 index 0000000..9fe40cd Binary files /dev/null and b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 8 - User Profile and Picture.mp4 differ diff --git a/django/tutorial/Python Django Tutorial Full-Featured Web App Part 9 - Update User Profile.mp4 b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 9 - Update User Profile.mp4 new file mode 100644 index 0000000..f7cbf03 Binary files /dev/null and b/django/tutorial/Python Django Tutorial Full-Featured Web App Part 9 - Update User Profile.mp4 differ diff --git a/django/tutorial/Python Django Tutorial How to Use a Custom Domain Name for Our Application.mp4 b/django/tutorial/Python Django Tutorial How to Use a Custom Domain Name for Our Application.mp4 new file mode 100644 index 0000000..5877655 Binary files /dev/null and b/django/tutorial/Python Django Tutorial How to Use a Custom Domain Name for Our Application.mp4 differ diff --git a/django/tutorial/Python Django Tutorial How to enable HTTPS with a free SSLTLS Certificate using Let's Encrypt.mp4 b/django/tutorial/Python Django Tutorial How to enable HTTPS with a free SSLTLS Certificate using Let's Encrypt.mp4 new file mode 100644 index 0000000..700eb28 Binary files /dev/null and b/django/tutorial/Python Django Tutorial How to enable HTTPS with a free SSLTLS Certificate using Let's Encrypt.mp4 differ diff --git a/django/tutorial/Python Tutorial virtualenv and why you should use virtual environments.mp4 b/django/tutorial/Python Tutorial virtualenv and why you should use virtual environments.mp4 new file mode 100644 index 0000000..beff114 Binary files /dev/null and b/django/tutorial/Python Tutorial virtualenv and why you should use virtual environments.mp4 differ diff --git a/linux_env/Makefile b/linux_env/Makefile new file mode 100644 index 0000000..c3d1ee0 --- /dev/null +++ b/linux_env/Makefile @@ -0,0 +1,5 @@ +giti: + @echo "\n\n\033[1;34m╔═══════════╗" + @echo "║ linux_env ║" + @echo "╚═══════════╝\033[00m" + @ineach -p giti diff --git a/python_apps/Makefile b/python_apps/Makefile new file mode 100644 index 0000000..9a6c846 --- /dev/null +++ b/python_apps/Makefile @@ -0,0 +1,5 @@ +giti: + @echo "\n\n\033[1;34m╔═════════════╗" + @echo "║ python_apps ║" + @echo "╚═════════════╝\033[00m" + @ineach -p giti diff --git a/repos.json b/repos.json new file mode 100644 index 0000000..3407ab8 --- /dev/null +++ b/repos.json @@ -0,0 +1,112 @@ +{ + "BASE_URL": "https://git.mount-mockery.de", + "REPO_LIST": + [ + { + "URL": "dirk/bin.git", + "TARGET": "linux_env" + }, + { + "URL": "dirk/bash.git", + "TARGET": "linux_env" + }, + { + "URL": "dirk/starter.git", + "TARGET": "linux_env" + }, + + + { + "URL": "dirk/ptpython.git", + "TARGET": "python_apps" + }, + { + "URL": "dirk/pyzo.git", + "TARGET": "python_apps" + }, + { + "URL": "dirk/cutelog.git", + "TARGET": "python_apps" + }, + + + { + "URL": "application/nemo.git", + "TARGET": "applications" + }, + { + "URL": "application/cdi.git", + "TARGET": "applications" + }, + { + "URL": "application/pyrip.git", + "TARGET": "applications" + }, + + { + "URL": "application/patt.git", + "TARGET": "django" + }, + { + "URL": "application/pygal.git", + "TARGET": "django" + }, + + + + { + "URL": "unittest/caching.git", + "TARGET": "unittest" + }, + { + "URL": "unittest/fstools.git", + "TARGET": "unittest" + }, + { + "URL": "unittest/geo.git", + "TARGET": "unittest" + }, + { + "URL": "unittest/helpers.git", + "TARGET": "unittest" + }, + { + "URL": "unittest/keyboard.git", + "TARGET": "unittest" + }, + { + "URL": "unittest/media.git", + "TARGET": "unittest" + }, + { + "URL": "unittest/report.git", + "TARGET": "unittest" + }, + { + "URL": "unittest/socket_protocol.git", + "TARGET": "unittest" + }, + { + "URL": "unittest/state_machine.git", + "TARGET": "unittest" + }, + { + "URL": "unittest/stringtools.git", + "TARGET": "unittest" + }, + { + "URL": "unittest/task.git", + "TARGET": "unittest" + }, + { + "URL": "unittest/tcp_socket.git", + "TARGET": "unittest" + }, + + +{ + "URL": "embedded_linux/embedded_linux.git", + "TARGET": "embedded_linux" + } + ] +} diff --git a/unittest/Makefile b/unittest/Makefile new file mode 100644 index 0000000..cb8dfcd --- /dev/null +++ b/unittest/Makefile @@ -0,0 +1,26 @@ +MAKEFLAGS += --no-print-directory + +help: + @echo "Help is not yet implemented" + @echo "Possible Maketargets: status clean gitsubup gits giti" + +status: + unittest_status + +clean: + @ineach -e eclipse-workspace,.git -p "make -k clean" + +cleanall: + @ineach -e eclipse-workspace,.git -p "make -kiC unittest cleanall" + +gitsubup: + @ineach -e eclipse-workspace,.git -p gitsubup + +gits: + @ineach -e eclipse-workspace,.git -p "gits;read -rsn1 -p Press\ any\ key\ to\ continue..." + +_giti_: + @ineach -e eclipse-workspace,.git giti + +giti: + @make _giti_ | less -r \ No newline at end of file