mimetypes.guess_type(url, strict=True) does not accept a pathlib.Path object in Python 3.6.1. Use the string version of the path instead. Deprecated since version 3.13: Passing a file path instead of URL is soft deprecated. Use guess_file_type() for this.
``list[str] | None = None is not supported in Python 3.6.1. Use Optional[List[str]] = None` instead.
from pathlib import Path import smtplib import mimetypes from email import encoders from email.mime.base import MIMEBase from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText
import os import smtplib import mimetypes from email import encoders from email.mime.base import MIMEBase from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from typing import List, Optional
For Python 3.6.1, running pip install mssql-Python results in the error “Could not find a version that satisfies the requirement mssql-Python”. Use pyodbc instead.
deftry_connection(self): try: with self.connect() as conn: conn.cursor().execute("SELECT 1") except Exception as e: raise CustomError(f"Database try query failed: {e}")
defget_queue_data(self, json_file_name: str) -> tuple: query = """ SELECT id, interface_name, interface_version FROM shpe_control_table WHERE json_file_name = ? """
with self.connect() as conn: cursor = conn.cursor() cursor.execute(query, (json_file_name,)) rows = cursor.fetchall()
iflen(rows) != 1: raise CustomError( f"Failed to retrieve queue data for '{json_file_name}'." f"Expected 1 record but found {len(rows)}." )
id, interface_name, interface_version = rows[0]
ifany( value in ("", None) for value in (id, interface_name, interface_version) ): raise CustomError( f"Queue data contains empty or null values: " f"id={id}, interface_name={interface_name}, interface_version={interface_version}" ) returnid, interface_name, interface_version
deftry_connection(self): try: with self.connect() as conn: conn.cursor().execute("SELECT 1") except Exception as e: raise CustomError(f"Database try query failed: {e}")
defget_queue_data(self, json_file_name: str) -> tuple: query = """ SELECT id, interface_name, interface_version FROM shpe_control_table WHERE json_file_name = ? """
with self.connect() as conn: cursor = conn.cursor() cursor.execute(query, json_file_name) rows = cursor.fetchall()
iflen(rows) != 1: raise CustomError( f"Failed to retrieve queue data id, interface_name, interface_version for '{json_file_name}'." f"Expected 1 record but found {len(rows)}." )
id, interface_name, interface_version = rows[0]
ifany( value in ("", None) for value in (id, interface_name, interface_version) ): raise CustomError( f"Queue data contains empty or null values: " f"id={id}, interface_name={interface_name}, interface_version={interface_version}" ) returnid, interface_name, interface_version
# Move new files into work folder # for file in json_folder.glob("*.json"): # # Window server + Python 3.6.1 # # Whatever the original file name is, the file name will be lowercase. # print(file.name) # shutil.move(str(file), work_folder / file.name) for name in os.listdir(json_folder): if name.endswith("*.json"): shutil.move( os.path.join(json_folder, name), os.path.join(work_folder, name) )
# Sort by modification time json_files = sorted( (f for f in work_folder.iterdir() if f.suffix == ".json"), key=lambda f: f.stat().st_mtime, )