(20251114) Initial Commit.

This commit is contained in:
2025-11-14 16:52:50 +05:30
commit 844625a84e
15 changed files with 299 additions and 0 deletions
+8
View File
@@ -0,0 +1,8 @@
/.venv/
/.idea/
**/__pycache__/
__pycache__/
*.pem
*.pyc
*.pyd
+83
View File
@@ -0,0 +1,83 @@
# GIT CHEATSHEET
## By Sharvil (20240927)
Perform these steps on creating a new project.
_**ASSUMPTION:** You are already in your project directory in the command line terminal._
---
### STEP 0.
#### Initialize Git in your new project:
Do this when creating a new project directory.
Do this **ONLY ONCE**.
```commandline
git init
```
### STEP 1.
#### Create a `.gitignore` file:
Add files/directories in it which you don't want to sync to git.
Update this as frequently as your project needs you to. Start with this:
```
/.venv/
/.idea/
**/__pycache__/
*.pem
```
### STEP 2.
#### Create a repository on Gitea (web UI):
Do this **ONLY ONCE**.
Open the following URL: https://wtt.ditscentre.in/ and sign in.
- Ensure that the owner is `ditscentre` (img 0).
- Give your repository a name. Preferably keep it the same as the project name that you made locally (img 0).
- Type in a brief description of your project (img 0).
![img 0](https://nexcom.ditscentre.in/utils/files/small/download/66f66a54196705ee2f25d28e)
- Ensure that the default branch is `master` (img 1).
- Create the repository (img 1).
![img 1](https://nexcom.ditscentre.in/utils/files/small/download/66f66a54196705ee2f25d28f)
### STEP 3.
#### Add files and directories to the staging area:
The following command adds everything to the staging area.
The '.' is important, it refers to the current directory.
```commandline
git add .
```
### STEP 4.
#### Commit the changes to local git:
This step commits all the added (staged) changes to the local git instance with the provided comment.
```commandline
git commit -m "you comment here..."
```
### STEP 5.
#### We push the local commits to the repository:
The format of the command is:
```
git push -u <repo_url> <branch_name>
```
---
## For Python Devs: How to add a common subtree (like `utils_v2`)
The format of the command is:
```
git subtree add --prefix=<local_dir> <subtree_repo_url> <branch_name> --squash
```
Before you start: ensure that you have committed all pending changes. Then run the following command **ONLY ONCE**:
```commandline
git subtree add --prefix=utils_v2 https://wtt.ditscentre.in/ditscentre/utils_v2.git master --squash
```
This will create a new directory named `utils_v2` in your project.
**Do NOT change the files in it.** Just import and use them in your scripts.
When you need to get the latest updates to these files, you must run a modification of the previous command:
```commandline
git subtree pull --prefix=utils_v2 https://wtt.ditscentre.in/ditscentre/utils_v2.git master --squash
```
+6
View File
@@ -0,0 +1,6 @@
#!/bin/bash
# Just found this better than remembering the freeze command.
# This is beyond silly.
# Okay, bye!
pip3 freeze > requirements.txt
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
# Run this on the server.
# Not suitable for collaborative environments:
echo "Pulling from git."
git pull https://wtt.ditscentre.in/ditscentre/logs_ui.git
echo "Attempt done. Exiting."
+16
View File
@@ -0,0 +1,16 @@
#!/bin/bash
# Kill all the scripts:
echo "Killing the script."
pkill -9 -f "$(pwd)/main.py"
# Get the name of the current directory,
# and kill the monitors of the above scripts:
echo "Killing the monitors."
PARENT_WD=$(pwd)
CURRENT_DIR_NAME=$(basename "$PARENT_WD")
pgrep -f "$CURRENT_DIR_NAME.*python" | xargs kill -9
# All done:
echo "Done!"
exit 0
+6
View File
@@ -0,0 +1,6 @@
#!/bin/bash
# To pull any updates made to utils from another project:
echo "Pulling from git."
git subtree pull --prefix=utils_v2 https://wtt.ditscentre.in/ditscentre/utils_v2.git master --squash
echo "Attempt done. Exiting."
+25
View File
@@ -0,0 +1,25 @@
#!/bin/bash
# Move to the directory of the subtree:
echo "Changing directory."
cd "utils_v2" || { echo "Failed to change directory."; exit 1; }
# Accept a comment from the terminal:
echo "Comment: "
read -r COMMENT
# Add all the modified files to the intended commit:
git add .
echo "Files added."
# Make the commit:
git commit -m "$COMMENT"
echo "Commit done."
# Return to the parent directory:
echo "Returning to parent directory."
cd ..
echo "Pushing to git."
git subtree push --prefix=utils_v2 https://wtt.ditscentre.in/ditscentre/utils_v2.git master
echo "Attempt done. Exiting."
BIN
View File
Binary file not shown.
+12
View File
@@ -0,0 +1,12 @@
#!/bin/bash
# When you need to re-pull the whole utils subtree because of merge conflicts:
echo "Removing existing utils subtree."
git rm -r "utils_v2"
echo "Removing existing utils directory."
rm -r "utils_v2"
git add .
git commit -m "Resetting utils subtree."
echo "Adding utils subtree from git."
git subtree add --prefix=utils_v2 https://wtt.ditscentre.in/ditscentre/utils_v2.git master --squash
echo "Attempt done. Exiting."
+44
View File
@@ -0,0 +1,44 @@
#!/bin/bash
# A quick command to copy sensitive files from development machine to server without involvement of GitHub:
# Read the servers from the file into an array:
mapfile -t SERVERS < servers.txt
# Display the numbered list of server options:
echo "Please select a server:"
for i in "${!SERVERS[@]}"; do
echo "$((i + 1)). ${SERVERS[i]}"
done
# Prompt the user for their selection
read -rp "Select a server by the number ... : " SELECTION
# Get a port no.:
read -rp "Set a port no. .................. : " PORT
# Validate the selection
if [[ $SELECTION -gt 0 && $SELECTION -le ${#SERVERS[@]} ]]; then
# Note down the selection in a variable:
SELECTED_SERVER=${SERVERS[$((SELECTION - 1))]}
# Ask the user which directory he wants to upload and his username on the server:
read -rp "Your username on the server ..... : " USER
read -rp "Directory to send ............... : " SOURCE
# Run the rsync command:
PROJECT_DIRECTORY=$(basename "$PWD")
DESTINATION="$USER@$SELECTED_SERVER://home/$USER/programming/python/$PROJECT_DIRECTORY"
echo "Trying to send '$SOURCE' to '$DESTINATION'"
rsync -avz --mkpath --progress -e "ssh -p $PORT" "$SOURCE" "$DESTINATION"
# Exit with success (assuming that the actual data sending went well):
exit 0
else
# In case of a wrong server selection, exit with failure.
echo "Invalid selection. Please run the script again."
exit 1
fi
+10
View File
@@ -0,0 +1,10 @@
#!/bin/bash
# Use this to run the microservice without any docker setup.
source .venv/bin/activate
streamlit run main.py &
deactivate
# All done:
echo "Done!"
exit 0
+3
View File
@@ -0,0 +1,3 @@
kbdev.bicree.com
wtt.ditscentre.in
del.ditscentre.in
+20
View File
@@ -0,0 +1,20 @@
# We create a Virtual Environment.
# The format is:
# python<version> -m venv <virtual_env_name>
echo "Making a virtual environment (if needed)."
python3 -m venv .venv
# Next we activate the newly created Virtual Environment.
echo "Activating the virtual environment."
source .venv/bin/activate
# Now we install the requirements.
echo "Installing pending requirements."
pip3 install -r requirements.txt
# Now we deactivate the Virtual Environment.
echo "Deactivation the virtual environment."
deactivate
# Setup Done.
echo "Attempt done. Exiting."
+38
View File
@@ -0,0 +1,38 @@
#!/bin/bash
# A quick command to connect to any of the available servers.
# Read the servers from the file into an array:
mapfile -t SERVERS < servers.txt
# Display the numbered list of server options:
echo "Please select a server:"
for i in "${!SERVERS[@]}"; do
echo "$((i + 1)). ${SERVERS[i]}"
done
# Prompt the user for their selection
read -rp "Select a server by the number ... : " SELECTION
# Validate the selection
if [[ $SELECTION -gt 0 && $SELECTION -le ${#SERVERS[@]} ]]; then
# Note down the selection in a variable:
SELECTED_SERVER=${SERVERS[$((SELECTION - 1))]}
# Ask the user which directory he wants to upload and his username on the server:
read -rp "Your username on the server ..... : " USER
# Run the command:
ssh -p 19991 "$USER@$SELECTED_SERVER"
# Exit with success (assuming that the actual data sending went well):
echo "session ended"
exit 0
else
# In case of a wrong server selection, exit with failure.
echo "Invalid selection. Please run the script again."
exit 1
fi
+21
View File
@@ -0,0 +1,21 @@
#!/bin/bash
# NOTES:
# Run this on the development machine.
# NOT to be used in a collaborative environment:
# Accept a comment from the terminal:
echo "Comment: "
read -r COMMENT
# Add all the modified files to the intended commit:
git add .
echo "Files added."
# Make the commit:
git commit -m "$COMMENT"
echo "Commit done."
# Push th commit to git:
git push -u https://wtt.ditscentre.in/ditscentre/logs_ui.git master
echo "Attempt done. Exiting."