initial checkin
doing my first checkin. initial stuff.
This commit is contained in:
28840
3rdparty_scripts/get-pip.py
Normal file
28840
3rdparty_scripts/get-pip.py
Normal file
File diff suppressed because it is too large
Load Diff
1060
3rdparty_scripts/install.sh
Executable file
1060
3rdparty_scripts/install.sh
Executable file
File diff suppressed because it is too large
Load Diff
BIN
FlaskHISLaunchpad/.DS_Store
vendored
Normal file
BIN
FlaskHISLaunchpad/.DS_Store
vendored
Normal file
Binary file not shown.
26
FlaskHISLaunchpad/app.py
Normal file
26
FlaskHISLaunchpad/app.py
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""
|
||||||
|
Created on Fri Oct 3 00:59:15 2025
|
||||||
|
|
||||||
|
@author: dromisch
|
||||||
|
"""
|
||||||
|
|
||||||
|
from flask import Flask
|
||||||
|
from route1 import route1 # Import the Blueprint
|
||||||
|
from flask_sqlalchemy import SQLAlchemy
|
||||||
|
|
||||||
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
# Register the Blueprint
|
||||||
|
app.register_blueprint(route1)
|
||||||
|
|
||||||
|
# SQLAlchemy Configuration
|
||||||
|
app.config['SQLALCHEMY_DATABASE_URI'] = 'mssql+pyodbc://hangfire_api:hangfire_123@SCHHISSQL/HISApps?driver=ODBC+Driver+17+for+SQL+Server'
|
||||||
|
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
|
||||||
|
|
||||||
|
# Initialize SQLAlchemy
|
||||||
|
db = SQLAlchemy(app)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
app.run(debug=True)
|
||||||
54
FlaskHISLaunchpad/route1.py
Normal file
54
FlaskHISLaunchpad/route1.py
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
"""
|
||||||
|
Created on Fri Oct 3 00:59:15 2025
|
||||||
|
|
||||||
|
@author: dromisch
|
||||||
|
"""
|
||||||
|
|
||||||
|
from flask import Blueprint, jsonify, request
|
||||||
|
|
||||||
|
route1 = Blueprint('route1', __name__)
|
||||||
|
|
||||||
|
# Data storage
|
||||||
|
data = [
|
||||||
|
{"id": 1, "name": "Item 1"},
|
||||||
|
{"id": 2, "name": "Item 2"}
|
||||||
|
]
|
||||||
|
|
||||||
|
# Get all items
|
||||||
|
@route1.route('/items', methods=['GET'])
|
||||||
|
def get_items():
|
||||||
|
return jsonify(data)
|
||||||
|
|
||||||
|
# Get a single item by ID
|
||||||
|
@route1.route('/items/<int:item_id>', methods=['GET'])
|
||||||
|
def get_item(item_id):
|
||||||
|
item = next((item for item in data if item["id"] == item_id), None)
|
||||||
|
if item:
|
||||||
|
return jsonify(item)
|
||||||
|
return jsonify({"error": "Item not found"}), 404
|
||||||
|
|
||||||
|
# Create a new item
|
||||||
|
@route1.route('/items', methods=['POST'])
|
||||||
|
def create_item():
|
||||||
|
new_item = request.json
|
||||||
|
data.append(new_item)
|
||||||
|
return jsonify(new_item), 201
|
||||||
|
|
||||||
|
# Update an item
|
||||||
|
@route1.route('/items/<int:item_id>', methods=['PUT'])
|
||||||
|
def update_item(item_id):
|
||||||
|
item = next((item for item in data if item["id"] == item_id), None)
|
||||||
|
if item:
|
||||||
|
updated_data = request.json
|
||||||
|
item.update(updated_data)
|
||||||
|
return jsonify(item)
|
||||||
|
return jsonify({"error": "Item not found"}), 404
|
||||||
|
|
||||||
|
# Delete an item
|
||||||
|
@route1.route('/items/<int:item_id>', methods=['DELETE'])
|
||||||
|
def delete_item(item_id):
|
||||||
|
global data
|
||||||
|
data = [item for item in data if item["id"] != item_id]
|
||||||
|
return jsonify({"message": "Item deleted"}), 200
|
||||||
15
ObsidianCustom/pdffull.css
Normal file
15
ObsidianCustom/pdffull.css
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
|
||||||
|
/* READING VIEW — restore proper reading column width */
|
||||||
|
.markdown-preview-view .markdown-preview-sizer,
|
||||||
|
.markdown-preview-view .markdown-preview-section {
|
||||||
|
max-width: 100% !important;
|
||||||
|
width: 100% !important;
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
121
SpyderScripts/syncGDriveToExtra.py
Normal file
121
SpyderScripts/syncGDriveToExtra.py
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
import shutil
|
||||||
|
import urllib
|
||||||
|
import time
|
||||||
|
from pathlib import Path
|
||||||
|
from urllib.parse import quote
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# CONFIGURATION
|
||||||
|
# -----------------------------
|
||||||
|
SMB_SERVER = "192.168.1.68"
|
||||||
|
SMB_SHARE = "GDrive"
|
||||||
|
SMB_USER = "macos" # <-- optional if guest access
|
||||||
|
SMB_PASS = "dromischSYNC123987me" # <-- optional if guest access
|
||||||
|
|
||||||
|
#MOUNT_POINT = "/Volumes/GDriveNetwork" # <--- don't use the root volume mount point
|
||||||
|
MOUNT_POINT = str(Path.home() / "NetworkMounts/GDriveNetwork")
|
||||||
|
LOCAL_DEST = "/Volumes/ExtraDrive/GDrive"
|
||||||
|
|
||||||
|
IGNORE_EXT = {".ppinfocache", ".ptn", ".ptn2", ".ini", ".ini2",".lic",".ds_store",".db"}
|
||||||
|
|
||||||
|
TIME_TOLERANCE = 1.0 # seconds
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# FUNCTIONS
|
||||||
|
# -----------------------------
|
||||||
|
|
||||||
|
def is_mounted():
|
||||||
|
return os.path.ismount(MOUNT_POINT)
|
||||||
|
|
||||||
|
def mount_share():
|
||||||
|
print("Mounting SMB share...")
|
||||||
|
|
||||||
|
# Create mount point if missing
|
||||||
|
Path(MOUNT_POINT).mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
|
user = quote(SMB_USER)
|
||||||
|
pwd = quote(SMB_PASS)
|
||||||
|
|
||||||
|
#smb_url = f"//{SMB_USER}:{SMB_PASS}@{SMB_SERVER}/{SMB_SHARE}"
|
||||||
|
smb_url = f"//{user}:{pwd}@{SMB_SERVER}/{SMB_SHARE}"
|
||||||
|
|
||||||
|
|
||||||
|
cmd = ["mount_smbfs", smb_url, MOUNT_POINT]
|
||||||
|
result = subprocess.run(cmd, capture_output=True, text=True)
|
||||||
|
|
||||||
|
# subprocess.run(["/usr/bin/osascript", "-e",
|
||||||
|
# f'mount volume "{smb_url}"'], check=False)
|
||||||
|
|
||||||
|
if result.returncode != 0:
|
||||||
|
print("Mount failed:", result.stderr.strip())
|
||||||
|
|
||||||
|
def sync_files():
|
||||||
|
print("Starting sync...")
|
||||||
|
start = time.time()
|
||||||
|
|
||||||
|
num_new_files_created = 0
|
||||||
|
num_newer_files_copied = 0
|
||||||
|
|
||||||
|
for root, dirs, files in os.walk(MOUNT_POINT):
|
||||||
|
rel_path = os.path.relpath(root, MOUNT_POINT)
|
||||||
|
dest_dir = os.path.join(LOCAL_DEST, rel_path)
|
||||||
|
|
||||||
|
# Ensure destination folder exists
|
||||||
|
Path(dest_dir).mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
|
for file in files:
|
||||||
|
|
||||||
|
# Handle dotfiles like .DS_Store
|
||||||
|
if file.startswith("."):
|
||||||
|
ext = file.lower() # treat the whole name as the "extension"
|
||||||
|
else:
|
||||||
|
ext = os.path.splitext(file)[1].lower()
|
||||||
|
|
||||||
|
#ignore certain extensions
|
||||||
|
if ext in IGNORE_EXT:
|
||||||
|
continue
|
||||||
|
|
||||||
|
src_file = os.path.join(root, file)
|
||||||
|
dest_file = os.path.join(dest_dir, file)
|
||||||
|
|
||||||
|
# Copy if missing or newer
|
||||||
|
if not os.path.exists(dest_file):
|
||||||
|
print(f"Copying new file: {dest_file}")
|
||||||
|
shutil.copy2(src_file, dest_file)
|
||||||
|
num_new_files_created += 1
|
||||||
|
else:
|
||||||
|
src_mtime = os.path.getmtime(src_file)
|
||||||
|
dest_mtime = os.path.getmtime(dest_file)
|
||||||
|
|
||||||
|
if src_mtime - dest_mtime > TIME_TOLERANCE:
|
||||||
|
print(f"Updating newer file: {dest_file}")
|
||||||
|
shutil.copy2(src_file, dest_file)
|
||||||
|
num_newer_files_copied += 1
|
||||||
|
|
||||||
|
|
||||||
|
end = time.time()
|
||||||
|
duration = end - start
|
||||||
|
print("---> Sync complete. <---")
|
||||||
|
print(f"--- New Files:{num_new_files_created} Updated Files:{num_newer_files_copied} ---")
|
||||||
|
print(f"--- Sync Completed in {duration:.2f} seconds ---")
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# MAIN
|
||||||
|
# -----------------------------
|
||||||
|
def main():
|
||||||
|
if not is_mounted():
|
||||||
|
print("Network drive not mounted.")
|
||||||
|
mount_share()
|
||||||
|
|
||||||
|
if not is_mounted():
|
||||||
|
print("Failed to mount SMB share. Exiting.")
|
||||||
|
return
|
||||||
|
|
||||||
|
sync_files()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
|
|
||||||
62
vs_extensions.txt
Normal file
62
vs_extensions.txt
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
amazonwebservices.amazon-q-vscode
|
||||||
|
astro-build.astro-vscode
|
||||||
|
benjaminbenais.copilot-theme
|
||||||
|
cloudtoolbox.awstoolbox
|
||||||
|
craigthomas.supersharp
|
||||||
|
cweijan.dbclient-jdbc
|
||||||
|
cweijan.vscode-database-client2
|
||||||
|
cweijan.vscode-postgresql-client2
|
||||||
|
dannysteenman.iam-actions-snippets
|
||||||
|
davidanson.vscode-markdownlint
|
||||||
|
devadvice.serverlessconsole
|
||||||
|
docker.docker
|
||||||
|
donjayamanne.githistory
|
||||||
|
eamodio.gitlens
|
||||||
|
felipecaputo.git-project-manager
|
||||||
|
fernandoescolar.vscode-solution-explorer
|
||||||
|
formulahendry.dotnet
|
||||||
|
formulahendry.dotnet-test-explorer
|
||||||
|
fossamagna.amplify-backend-vscode
|
||||||
|
github.copilot
|
||||||
|
github.copilot-chat
|
||||||
|
github.vscode-github-actions
|
||||||
|
github.vscode-pull-request-github
|
||||||
|
kast789.vs-2019-theme
|
||||||
|
linjun.aws-athena-support
|
||||||
|
linjun.aws-s3-support
|
||||||
|
linjun.redshift-support
|
||||||
|
ljacobsson.eventbridge-assistant
|
||||||
|
mark-tucker.aws-cli-configure
|
||||||
|
mechatroner.rainbow-csv
|
||||||
|
ms-azuretools.vscode-containers
|
||||||
|
ms-azuretools.vscode-docker
|
||||||
|
ms-dotnettools.csdevkit
|
||||||
|
ms-dotnettools.csharp
|
||||||
|
ms-dotnettools.vscode-dotnet-runtime
|
||||||
|
ms-dotnettools.vscodeintellicode-csharp
|
||||||
|
ms-edgedevtools.vscode-edge-devtools
|
||||||
|
ms-kubernetes-tools.vscode-kubernetes-tools
|
||||||
|
ms-python.debugpy
|
||||||
|
ms-python.python
|
||||||
|
ms-python.vscode-pylance
|
||||||
|
ms-python.vscode-python-envs
|
||||||
|
ms-vscode-remote.remote-containers
|
||||||
|
necatiarslan.aws-access-vscode-extension
|
||||||
|
necatiarslan.aws-cloudwatch-vscode-extension
|
||||||
|
necatiarslan.aws-lambda-vscode-extension
|
||||||
|
nonegroup.aws-serverless-snippets
|
||||||
|
oleg-shilo.cs-script
|
||||||
|
poyashad.display-aws-amplify-environment
|
||||||
|
redhat.vscode-yaml
|
||||||
|
rishabhdmonkey2412.lambda-run
|
||||||
|
saoudrizwan.claude-dev
|
||||||
|
simoneolivieri.visual-studio-light-theme
|
||||||
|
spencerjames.ss3sync
|
||||||
|
threadheap.serverless-ide-vscode
|
||||||
|
timvaneker.serverless-snippets
|
||||||
|
vassilik.cscs-debugger
|
||||||
|
visualstudioexptteam.intellicode-api-usage-examples
|
||||||
|
visualstudioexptteam.vscodeintellicode
|
||||||
|
vscodevim.vim
|
||||||
|
vue.volar
|
||||||
|
yamachu.targetframeworksswitcher
|
||||||
Reference in New Issue
Block a user