Clipboardbuffers.py

From Lucca's Wiki
Revision as of 20:34, 11 December 2024 by 45.27.172.161 (talk)
Jump to navigationJump to search

import sys import time import pyperclip import pyautogui import pickle from tkinter import *

def dumpClipboardBufferToFile():

   global clipboardBuffer
   with open("clipboardBufferData.pk", 'wb') as fi:
       pickle.dump(clipboardBuffer, fi)

def getClipboardBufferFromFile():

   global clipboardBuffer
   with open("clipboardBufferData.pk", 'rb') as fi:
       clipboardBuffer = pickle.load(fi)
  1. scriptFolder = (os.path.dirname(__file__))

clipboardBuffer = [] clipboardBuffer = ["No value in this clipboard buffer" for i in range(10)] getClipboardBufferFromFile()


def inputbox(inputBuffer):

   inputText = "No Input Given Yet"
   master = Tk()
   textbox = Entry(master)
   textbox.pack()
   textbox.insert(0, clipboardBuffer[inputBuffer])
   textbox.focus_set()
   def onclick(pos):
       nonlocal inputText
       inputText = textbox.get()
       global clipboardBuffer
       clipboardBuffer[inputBuffer] = inputText
       print(f"Clipboard buffer {inputBuffer} was set to: {inputText}")
       master.destroy()
   b = Button(master, text="OK", width=10, command=onclick)
   b.pack()
   textbox.bind('<Return>', onclick)
   mainloop()
   print(clipboardBuffer)
   dumpClipboardBufferToFile()
   return (inputText)
   

def typeBuffer(inputBuffer):

   global clipboardBuffer
   pyautogui.write(clipboardBuffer[inputBuffer])

def copyToBuffer(inputBuffer):

   global clipboardBuffer
   pyautogui.hotkey('ctrl', 'c')
   time.sleep(1)
   clipboardBuffer[inputBuffer] = pyperclip.paste()
   dumpClipboardBufferToFile()
   
   

if sys.argv[1] == "paste":

   typeBuffer(int(sys.argv[2]))

if sys.argv[1] == "copy":

   copyToBuffer(int(sys.argv[2]))

if sys.argv[1] == "edit":

   inputbox(int(sys.argv[2]))