Initial implementation
This commit is contained in:
62
main.py
Executable file
62
main.py
Executable file
@@ -0,0 +1,62 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
SSHFileToCbs - File Transfer Application
|
||||
|
||||
This application transfers files between local and remote servers using SSH/SFTP or FTP.
|
||||
It's a modernized Python replacement for the legacy Java application.
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import logging
|
||||
import os
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
from src.app import Application
|
||||
|
||||
def parse_arguments():
|
||||
"""Parse command line arguments"""
|
||||
parser = argparse.ArgumentParser(description="SSH/FTP File Transfer Application")
|
||||
|
||||
parser.add_argument(
|
||||
"--config",
|
||||
type=str,
|
||||
help="Path to configuration file (default: config/config.ini)"
|
||||
)
|
||||
|
||||
parser.add_argument(
|
||||
"--log-level",
|
||||
type=str,
|
||||
choices=["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"],
|
||||
default="INFO",
|
||||
help="Set logging level (default: INFO)"
|
||||
)
|
||||
|
||||
return parser.parse_args()
|
||||
|
||||
def main():
|
||||
"""Application entry point"""
|
||||
# Parse command line arguments
|
||||
args = parse_arguments()
|
||||
|
||||
# Determine log level
|
||||
log_level = getattr(logging, args.log_level)
|
||||
|
||||
# Set up base logger
|
||||
logging.basicConfig(
|
||||
level=log_level,
|
||||
format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
|
||||
datefmt="%Y-%m-%d %H:%M:%S"
|
||||
)
|
||||
|
||||
logger = logging.getLogger("SSHFileToCbs")
|
||||
logger.info("Starting SSHFileToCbs application")
|
||||
|
||||
# Initialize and run application
|
||||
app = Application(args.config)
|
||||
app.run()
|
||||
|
||||
logger.info("SSHFileToCbs application finished")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user