use pyperclip for clipboard manipulation

This commit is contained in:
Seaswimmer 2024-11-22 10:04:55 -05:00
parent ba7576efdb
commit 5eb09d9b85
Signed by: cswimr
GPG key ID: 0EC431A8DA8F8087
2 changed files with 4 additions and 22 deletions

View file

@ -1,5 +1,5 @@
#! /usr/bin/env nix-shell #! /usr/bin/env nix-shell
#! nix-shell -i python -p python312 #! nix-shell -i python -p python312 libnotify
import argparse import argparse
import os import os

View file

@ -1,34 +1,16 @@
#! /usr/bin/env nix-shell #! /usr/bin/env nix-shell
#! nix-shell -i python -p python312 python312Packages.tkinter python312Packages.requests libnotify #! nix-shell -i python -p python312 python312Packages.pyperclip python312Packages.requests libnotify
import argparse import argparse
import mimetypes import mimetypes
import os import os
import subprocess
from pathlib import Path from pathlib import Path
from shutil import which from shutil import which
from tkinter import Tk
from typing import Any from typing import Any
import requests # type: ignore import requests # type: ignore
from common.common import does_desktop_entry_exist, notify, read_secret_file from common.common import does_desktop_entry_exist, notify, read_secret_file
from pyperclip import copy
def copy_to_clipboard(text: str) -> None:
if which("xclip"):
subprocess.run(
["xclip", "-selection", "clipboard", "-t", "text/plain", "-i"],
input=text.encode(),
)
elif which("wl-copy"):
subprocess.run(["wl-copy", "--type", "text/plain"], input=text.encode())
else:
root = Tk()
root.withdraw()
root.clipboard_clear()
root.clipboard_append(text)
root.update()
root.destroy()
def zipline( def zipline(
@ -72,7 +54,7 @@ def zipline(
link = response_data.get("files", [None])[0] link = response_data.get("files", [None])[0]
if link: if link:
copy_to_clipboard(text=link) copy(text=link)
print(f"Link copied to clipboard: {link}") print(f"Link copied to clipboard: {link}")
if use_send_notify: if use_send_notify: