forked from Tazaz/Transmission_Multiple_Watch_Folders
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathmain.py
69 lines (60 loc) · 2.1 KB
/
main.py
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
61
62
63
64
65
66
67
68
69
#!/usr/bin/python
import time
import os, sys
import os.path as path
import transmissionrpc
import datetime
# Watch directories
watch_tv = ''
watch_movie = ''
watch_music = ''
# Complete download directories
download_dir_tv = ''
download_dir_movie = ''
download_dir_music = ''
client = transmissionrpc.Client(
address='127.0.0.1',
port='9091',
user='',
password=''
)
# Logging
log = open('./log.txt', 'a')
timestamp = '[{:%Y-%m-%d %H:%M:%S}]'.format(datetime.datetime.now())
print >> log, timestamp + ' ' + 'Started watch script.'
print >> log, 'Current watch directories:'
print >> log, ' TV: ' + watch_tv
print >> log, 'Movies: ' + watch_movie
print >> log, ' Music: ' + watch_music
print >> log, 'Current download directories:'
print >> log, ' TV: ' + download_dir_tv
print >> log, 'Movies: ' + download_dir_movie
print >> log, ' Music: ' + download_dir_music
log.close()
def add(watch_dir, download_dir):
directory = os.listdir(watch_dir)
files = next(os.walk(watch_dir))[2]
if files: # files exist in directory
for file in files:
if file.lower().endswith('.torrent') and not file.lower().startswith('.'):
log = open('./log.txt', 'a')
timestamp = '[{:%Y-%m-%d %H:%M:%S}]'.format(datetime.datetime.now())
try:
print >> log, timestamp + ' ' + 'Adding torrent: ' + file
newTorrent = client.add_torrent(watch_dir + '/' + file, download_dir=download_dir)
time.sleep(1)
newTorrent.start()
os.remove(watch_dir + '/' + file)
except Exception, e:
print >> log, timestamp + ' ' + 'Error encountered: ' + str(e)
log.close()
time.sleep(1)
while True:
log = open('./log.txt', 'a')
timestamp = '[{:%Y-%m-%d %H:%M:%S}]'.format(datetime.datetime.now())
print >> log, timestamp + ' ' + 'Searching directories.'
add(watch_tv, download_dir_tv)
add(watch_movie, download_dir_movie)
add(watch_music, download_dir_music)
log.close()
time.sleep(60)