Skip to main content

This program or lib can download torrent file throughemail account and send the torrent file to transmission web controller

Project description

# pi-email-transmission[PET]

- This program needs to set up two serivce. Email service and Transmission's Web Controller
- It will be make cool if you download any files on Raspberry-pi through transmission
- This program's all about feature depend on Email service and Transmission.
- Simply say about this. It just connect Email service and transmission web controller

# Motivate

- I don't wanna waste resources on my laptop and Smartphone. cause' it's totally be hot when running torrent.

# Recommand

1. Basically, This program is designed for reducing laptop resources. Therefore, I recommand to run this program on *raspberry-pi*.
2. Use this program with *Dropbox* or *GoogleDrive* to access your downloaded media files.
3. If you can use E-Mail notification service on your smartphone, It's good interaction.

# Install

``` python
$ git clone https://github.com/drake-jin/pi-email-transmission
$ cd pi-email-transmission
$ python setup.py install
```

# Configuration Images
![Email Configuration](https://raw.githubusercontent.com/drake-jin/pi-email-transmission/master/docs/email.png)

![Transmission Configuration](https://raw.githubusercontent.com/drake-jin/pi-email-transmission/master/docs/transmission.png)

# Configuration

1. Set up transmission web controller setting

- If you use Dropbox or GoogleDrive. redirect directory to there.
- Must check you have account information and host, port

2. Check your e-mail account available IMAP and SMTP Protocol

- This application need to transport through IMAP, SMTP Protocol.
- Therefore, you must set up IMAP and SMTP protocol available on you email account.

3. Set up *pi-email-transmission*'s config.json file

``` python
# config.json
{
"check_interval":10,
"log_level":"DEBUG",
"email":{
"imap" : "imap.gmail.com:993",
"smtp" : "smpt.gmail.com:465"
"folder" : "pi-imap-transmission",
"user" : "{email_id}@gmail.com",
"password" : "{email_password}"
},
"transmission":{
"user":"{trnsmsn_id}",
"password":"{trnsmsn_passwd}",
"host":"http://localhost:9091"
}
}

```

4. Set up Envrironment variables

``` python
$ export PET_HOME=/home/likemilk/workspace/pi-email-transmission
```

5. Finally, You can check correct setting about this program when you execute this command

``` python
$ python setup.py test
# Have to finish setting Configurations!
```

# How is it work going?

``` python
# *It's just psuedo code. not a real code*
class Service(Thread):

while(True):
time.sleep(config['interval_check'])
# 1. read all of e-mails and check UNSEEN email
# 2. get torrent file and add it on tranmission through pay load
# 3. send email about complete or failed
# 4. send seen flag
torrentList = email.get_torrent('(UNSEEN)')
for torrent in torrentList:
if(transmission.add_torrent(torrent)):
email.send('add_complete', torrent)
else:
email.send('add_fail', torrent)

email.flag('(SEEN)',torrent.email_id)

# 1. read all of Trnasmission download Queue.
# 2. get Completed entry and delete the entry.
# 3. send email about complete.
torrentList = transmission.get_completed('Completed')
for torrent in torrentList:
if(transmission.delete_torrent(torrent)):
email.send('download_complete')
else:
email.send('delete_error')

```

# Contact Me
- [dydwls121200@gmail.com](dydwls121200@gmail.com) is my mail
- Welcome PR or be Contributor. I want to play coding with you.
- Really Welcome Feedback and Any Issues.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pet-0.3.2.tar.gz (414.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page