Awesome, I'll get the new version up and running this evening.
Keep up the great work! Loving it.
Awesome, I'll get the new version up and running this evening.
Keep up the great work! Loving it.
Looking for some input on design here. If there are no new items in any of the categories for the specified time period, should it:
I'm trying to decide between 2 and 3 right now. Thanks!
EDIT: Or a 4th option of having it configurable between 2 and 3 (which I think is best and I will probably do since I like leaving it up to the user to decide)
v0.3.2 Released
New Feature and Bug Fix
v0.4.0 Released
Added command line parameters.
Usage
Normal Usage
python plexEmail.py
Alternate Usage
Pass in an alternate config file. For example the default config file sends out a daily email (using Cloudinary), while an alternate config file is set up for a weekly web page.
python plexEmail.py -c C:\files\plexEmailWeekly.conf
I am running out of ideas to improve this script, so please let me know if there are any feature requests!
C:\HTPC\PlexEmail>python plexEmail.py
Traceback (most recent call last):
File "plexEmail.py", line 586, in
imageInfo = processImage(hash, imageInfo['thumb'], 'movie', 0, 0)
File "plexEmail.py", line 122, in processImage
imgName = thumb[thumb.index('_') + 1:len(thumb)]
ValueError: substring not found
Is it possible to use this script if PMS is on another machine?
I mean remotely?
drzoidberg33: Could you try the following:
Install virtualenv if you don't have it:
sudo pip install virtualenvThen download and altinstall python 2.7.9:
cd ~/downloads wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz tar -xvf Python-2.7.9.tgz cd Python-2.7.9 ./configure make sudo make altinstallThen make a new virtualenv:
cd ~/plexemail/scripts (or wherever your scripts folder is for plexemail) sudo virtualenv --python=/usr/local/bin/python2.7 pevenvLastly try running the script again:
pevenv/bin/python ./plexEmail.py
Thanks,
Still no go though. Had to compile Python2.7.9 using these instructions (otherwise it compiles without zlib): http://stackoverflow.com/a/27132584
sqlite3 still not the correct version though:
[root@vulcan scripts]# pevenv/bin/python Python 2.7.9 (default, Mar 13 2015, 15:13:24) [GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import sqlite3 >>> sqlite3.version '2.6.0' >>> sqlite3.sqlite_version '3.6.20'
What happens when I try to execute the script:
[root@vulcan scripts]# pevenv/bin/python ./plexEmail.py
/usr/local/lib/python2.7/sqlite3/__init__.pyc
Traceback (most recent call last):
File "./plexEmail.py", line 145, in
cur.execute("SELECT id, parent_id, metadata_type, title, title_sort, original_title, rating, tagline, summary, content_rating, duration, user_thumb_url, tags_genre, tags_director, tags_star, year, hash, [index], studio FROM metadata_items WHERE added_at >= date('now', '-" + str(config['days_back_to_search']) + " days') AND metadata_type >= 1 AND metadata_type <= 4 ORDER BY title_sort;")
sqlite3.DatabaseError: file is encrypted or is not a database
Hey!
I have the following problem!Hoping you can figure it out, because I am very keen on using your software!C:\HTPC\PlexEmail>python plexEmail.py Traceback (most recent call last): File "plexEmail.py", line 586, in imageInfo = processImage(hash, imageInfo['thumb'], 'movie', 0, 0) File "plexEmail.py", line 122, in processImage imgName = thumb[thumb.index('_') + 1:len(thumb)] ValueError: substring not found
I have an idea what is breaking it. Could you please try this script: plexEmail.zip (9.07 KB)
Let me know if it's working now or if it breaks again please provide the last line it prints before the error.
Thanks!
Is it possible to use this script if PMS is on another machine?
I mean remotely?
I have an idea what is breaking it. Could you please try this script:
plexEmail.zip
Let me know if it's working now or if it breaks again please provide the last line it prints before the error.
Thanks!
I tried your script and now it does the following (btw, thanks for your interest in my problem!):
C:\HTPC\PlexEmail>python plexEmail.py
metadata://posters/com.plexapp.agents.themoviedb_3213376bac3ae37278fecc924365a50
8881de6ef
metadata://posters/com.plexapp.agents.localmedia_003f4ddd3b8814583a3d8051bc9e9e4
d5cb3edbc
upload://posters/20c32eb69df82fed08679e949f058689dee8b652
Traceback (most recent call last):
File "plexEmail.py", line 587, in
imageInfo = processImage(hash, imageInfo['thumb'], 'movie', 0, 0)
File "plexEmail.py", line 123, in processImage
imgName = thumb[thumb.index('_') + 1:len(thumb)]
ValueError: substring not found
This is line 585, 586 and 587.
imageInfo = {}
imageInfo['thumb'] = movies[movie]['user_thumb_url']
imageInfo = processImage(hash, imageInfo['thumb'], 'movie', 0, 0)
This is line 121, 122 and 123:
thumb = thumb[11:len(thumb)]
category = thumb[0:thumb.index('/')]
imgName = thumb[thumb.index('_') + 1:len(thumb)]
I tried your script and now it does the following (btw, thanks for your interest in my problem!):
C:\HTPC\PlexEmail>python plexEmail.py metadata://posters/com.plexapp.agents.themoviedb_3213376bac3ae37278fecc924365a50 8881de6ef metadata://posters/com.plexapp.agents.localmedia_003f4ddd3b8814583a3d8051bc9e9e4 d5cb3edbc upload://posters/20c32eb69df82fed08679e949f058689dee8b652 Traceback (most recent call last): File "plexEmail.py", line 587, in imageInfo = processImage(hash, imageInfo['thumb'], 'movie', 0, 0) File "plexEmail.py", line 123, in processImage imgName = thumb[thumb.index('_') + 1:len(thumb)] ValueError: substring not foundThis is line 585, 586 and 587.imageInfo = {} imageInfo['thumb'] = movies[movie]['user_thumb_url'] imageInfo = processImage(hash, imageInfo['thumb'], 'movie', 0, 0)This is line 121, 122 and 123:thumb = thumb[11:len(thumb)] category = thumb[0:thumb.index('/')] imgName = thumb[thumb.index('_') + 1:len(thumb)]
This will only work if you have access to the PMS data folder since it reads the database and uses the image assets and metadata from your own data. If you have access to it through a network share or something similar you should be able to do it.
Zoidberg: Darn! When I get to my computer I will zip up the sqlite folder in my python install for you to try using.
I managed to make it work mounting remote dir with sshfs.
I know plexwatch work also remotely, i thought also plexmail could....
Mescon, give this a shot: plexEmail.zip (9.07 KB)
Seems to work better, but still this:
metadata://posters/com.plexapp.agents.themoviedb_3213376bac3ae37278fecc924365a508881de6ef metadata://posters/com.plexapp.agents.localmedia_003f4ddd3b8814583a3d8051bc9e9e4d5cb3edbc upload://posters/20c32eb69df82fed08679e949f058689dee8b652 metadata://posters/com.plexapp.agents.localmedia_cb8e65e9807c52f3fc79cd65ea307cba18d62407 metadata://posters/com.plexapp.agents.localmedia_8b98cb2e3c6461b24692ac9344843725034966c4 metadata://posters/com.plexapp.agents.localmedia_e4b7b8b72eadb2a5d8adbcb72f51080e3e5e08d4 metadata://posters/com.plexapp.agents.localmedia_cac6ef354dc529fb1752a1e9fbb1db97b3eb0b29 metadata://posters/com.plexapp.agents.localmedia_6d875ae632ec28c3240424aa6d05417c322d886f metadata://posters/com.plexapp.agents.localmedia_a69c30629e0cb985a236a5035714f66ae2b4fd11 upload://posters/ac604642901656d271d2a0b6d049b3b3837cf57e metadata://posters/com.plexapp.agents.localmedia_3e25ec8baac89a47efc535acc636251a611aea0b metadata://posters/com.plexapp.agents.localmedia_4d84b07f7df30b9ef424a99cda81a67db38a261b metadata://posters/com.plexapp.agents.rottentomatoes_27113dbfbaf0708b24ffb383a57269fa90fbce6b upload://posters/92768d5f9ce283b0a6d91a2eeb7f793e397fff42 metadata://posters/com.plexapp.agents.localmedia_e3f328fce9d674a1a0fbf85395fbf75dfa1643bb upload://posters/7064b697b8eceacde3da288c62da57e16a4f75d4 metadata://posters/com.plexapp.agents.localmedia_27239adbbbfe2771da8d4b4614add09f376fdbf7 metadata://posters/com.plexapp.agents.localmedia_a3668368ba37f5aa501250001752eb3e0939ee2b upload://posters/cdbb344a5abb5e638ef6d3526724a99cad827dd1 metadata://posters/com.plexapp.agents.rottentomatoes_6a69c2e2970ea57f50a57ad1284c870163048dbb metadata://posters/com.plexapp.agents.localmedia_c08ae9a14ea844c2897580663457eeba4882651f upload://posters/7394b883eef5bed4ad3e1f54e094e5282bfc917d upload://posters/9736c4de4dd4724c1a9f69c6eb3cdbf24e6ea628 upload://posters/ce10044ecac33eb2047eccf384b74a394db19db5 upload://posters/bb22172c4e7960ae4646ce1e6ac8a8b0ee1db045 upload://posters/925dfdc867707c38c6f32ce9589ad62aef86fc08 metadata://posters/com.plexapp.agents.localmedia_0783d486ae334a0edca72561198ab21eaf70da60 metadata://posters/com.plexapp.agents.localmedia_f524ab418b474719f84079de786c1f7e03fc9bad metadata://posters/com.plexapp.agents.rottentomatoes_66de9485a1c86dfe3fe0a986a90f997b9ee392e2 upload://posters/95309afe85498f01d5a6e93dc7aee2b1ff93b095 metadata://posters/com.plexapp.agents.rottentomatoes_9b801a115325a0b76e7fd02832051a227b5b1c9a upload://posters/e3d1bddcb0b01e731e6f001f96ae26058fe5888c upload://posters/a6a60a2cd1ac42f7ea5e7d84daf85e45ab9c7503 upload://posters/11010edae50675c87251197db9134fdd3b4d026a upload://posters/d13042103e4292ef670efc3e8e282b52b649705d upload://posters/8a74137ce9dc553750e215c01fb19856c1000489 upload://posters/690472d3b501ded4c8b73a05cb7e804c11fd1aba upload://posters/a38a9cb5f8f533ca33e16a82c18121c41e9586d0 metadata://posters/com.plexapp.agents.localmedia_9d6348099e0f0f7b88a1fa40d1f91cf680331615 metadata://posters/com.plexapp.agents.themoviedb_3cf4fa5ffc0ecf6d5fc63e93ce0ae2a6dbd57b8f upload://posters/4619a7efb950e02c2cec60e2626f9621f971e35b upload://posters/8a641787754421b4264a843d89de4241aae1ebbe upload://posters/aa9b64db124eb531215a777fa23d175e7e24b962 upload://posters/f375524e890d85e39da3c6cdc33626ca8b0ea929 upload://posters/7187d44cf798961d7b6cbe3d6f0567a733ec2fa9 metadata://posters/com.plexapp.agents.rottentomatoes_5e4e44cd89a99d8055a8e1bdc1b942c6d456998a upload://posters/79b4f24cb1c4943e925ec7dff4389a8299e9d15a metadata://posters/com.plexapp.agents.localmedia_b05906efe73d9bc1603e1d4de4fd067ae97c84b4 upload://posters/5b06dcd77e2f980c8c5dc87a3f0b046757cbfd82 upload://posters/982b05aab9d902c58758fcd56d82906871e9e3db metadata://posters/com.plexapp.agents.thetvdb_04a52dc77de0a9f36dcc0d1d77bb428b4979b46b metadata://posters/com.plexapp.agents.thetvdb_fae9a185f53fdb4f4477471b3ffa776ef66deaf7 metadata://posters/com.plexapp.agents.thetvdb_53e14c657251a79d3a79fa5fb4cd50cf8fcedca0 metadata://posters/com.plexapp.agents.thetvdb_eb004c08acc504734698b16eb399ec1cd52e7ca0 metadata://posters/com.plexapp.agents.thetvdb_6d9434da716dc2f0b3890ea176f69f3ceff156d1 metadata://posters/com.plexapp.agents.thetvdb_08975e39eece9ccd90e62eae828b7c6cd8182c8d metadata://posters/com.plexapp.agents.thetvdb_df31975f0255f92e81972f1517a752bb85cd1e78 metadata://posters/com.plexapp.agents.thetvdb_c3fdb6d5ac2264c31df9382c6cdb9f517728ab94 metadata://posters/com.plexapp.agents.thetvdb_694c9222c8cecd30d7fe483ead7ac15df270125c metadata://seasons/1/posters/com.plexapp.agents.thetvdb_b01014ff4de079433eb84eeb1c80d3645e774a6f metadata://seasons/2/posters/com.plexapp.agents.thetvdb_648415f26dc4c69c458f1b44e4c210123bcb35c9 metadata://seasons/3/posters/com.plexapp.agents.thetvdb_8423e49d59242f6df2fe4f20db27a7a8c3094ea8 metadata://seasons/4/posters/com.plexapp.agents.thetvdb_40de5393e07e669b83198b3e0587154e2ce33843 metadata://seasons/1/posters/com.plexapp.agents.thetvdb_71d57641316a7f3ae21dfe3bb2a2149b7ada12d9 metadata://seasons/1/posters/com.plexapp.agents.thetvdb_5694e2c98b343a0b437029cf44b30c80fcd2fb1d metadata://seasons/2/posters/com.plexapp.agents.thetvdb_ca4d4b60ffa7cc8847b55479e97e2b64d2841823 metadata://posters/com.plexapp.agents.thetvdb_53e14c657251a79d3a79fa5fb4cd50cf8fcedca0 metadata://seasons/1/posters/com.plexapp.agents.thetvdb_a4af1d13d94d88a58e8124a91bf54483dab1cc74 metadata://seasons/1/posters/com.plexapp.agents.thetvdb_d7df0e228aa901a15dd789a1daea13522728706d metadata://seasons/2/posters/com.plexapp.agents.thetvdb_2f1bf389170cccc6e580d5f05648a83d0acb72b0 metadata://seasons/1/posters/com.plexapp.agents.thetvdb_2b24fad3d41476e995b674a323ec1b52a428b8bc metadata://seasons/1/posters/com.plexapp.agents.thetvdb_908951ee4cc2602df75a5dc3341a255a64411e6e metadata://seasons/2/posters/com.plexapp.agents.thetvdb_09f2423600b9145f847aaa50e856b4313ecb8d73 metadata://seasons/3/posters/com.plexapp.agents.thetvdb_822909dc4fc4b10479cc8640f6c3a8c7574df088 metadata://seasons/4/posters/com.plexapp.agents.thetvdb_80b4172d60b4605b15132c0ba7007724184d70d3 metadata://seasons/1/posters/com.plexapp.agents.thetvdb_23f94b01b26084b4855a902ae58f0d88cd59a048 metadata://seasons/1/posters/com.plexapp.agents.thetvdb_287073778ba8825d9da2781a9428734069043d15 metadata://posters/com.plexapp.agents.thetvdb_694c9222c8cecd30d7fe483ead7ac15df270125c metadata://posters/com.plexapp.agents.thetvdb_694c9222c8cecd30d7fe483ead7ac15df270125c metadata://posters/com.plexapp.agents.thetvdb_694c9222c8cecd30d7fe483ead7ac15df270125c metadata://seasons/2/episodes/16/thumbs/com.plexapp.agents.thetvdb_de64bda340878171303d02945605d346be73fad1 metadata://seasons/1/episodes/8/thumbs/com.plexapp.agents.thetvdb_03bef11f86ea2bfff6b0b4680f1f70419dd1aa04 metadata://seasons/12/episodes/9/thumbs/com.plexapp.agents.thetvdb_6417c5c34fab255bfcdb46f9646fda88322d6304 metadata://seasons/3/episodes/7/thumbs/com.plexapp.agents.thetvdb_7a09980223c3d02d415bd45442a9cab50111fee9 metadata://seasons/3/episodes/9/thumbs/com.plexapp.agents.thetvdb_19cf652e8a1fbc46bb5aef21f5d0b09b2e310714 Traceback (most recent call last): File "plexEmail.py", line 789, in emailTVEpisodes += 'S' + str(tvEpisodes[episode]['season_ index']) + ' E' + str(tvEpisodes[episode]['index']) + ': ' + title + '
' UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 40: ordinal not in range(128)
Are you on Skype? If you wanted to have quicker access to my server and look at folder structure and stuff - I could share the screen. If so, PM me and we'll get in touch that way!
Seems to work better, but still this:
Are you on Skype? If you wanted to have quicker access to my server and look at folder structure and stuff - I could share the screen. If so, PM me and we'll get in touch that way!
I'm actually at work, so I can't Skype (but I can work on hobby projects) :)
Looks like the image issue has been fixed, now it's a bug with utf-8 characters. This should fix it: plexEmail.zip (9.07 KB)
Thanks for helping iron out the remaining bugs!
You've been one of the most helpful developers I've talked to!
You're actually interested in working out issues - most people who write plugins seem to only care about having their creation work for themselfs :-)
Thanks a lot!
C:\HTPC\PlexEmail>python plexEmail.py Web page created successfully Successfully sent 1 email(s)
Woop woop!
You've been one of the most helpful developers I've talked to!
You're actually interested in working out issues - most people who write plugins seem to only care about having their creation work for themselfs :-)
Thanks a lot!C:\HTPC\PlexEmail>python plexEmail.py Web page created successfully Successfully sent 1 email(s)Woop woop!
Awesome! Likewise to you as a user :)
I'm an engineer in Professional Services, which basically means it is my job to get stuff working for customers using products given to us by R&D.
Sounds like you're good at your job :-)
You asked for feature requests - perhaps a way to read user from a separate textfile, where each line one e-mail and user?
Like:
elizabeth.adams@gmail.com;Elizabeth Adams
george.powell@hotmail.com;George Powell
Not that I really need it, just thought I should give you something to do :-)
Otherwise, making a "frontend" to automated setups with external users would be awesome.
If you're not feeling like doing that, then maybe some sort of plugin to mark a subtitle as bad (out of sync, wrong subtitles or whatever) and have them deleted automatically (this really should be in the default Plex Media Server in my opinion).
If you decide you don't think it's worth your time/effort then so be it, I'm just happy to have plexEmail up and running :-)
Thanks again!
Hi i am getting this error when trying to run the script
Traceback (most recent call last):
File "plexEmail.py", line 3, in
import argparse
ImportError: No module named argparse
Hi i am getting this error when trying to run the script
Traceback (most recent call last): File "plexEmail.py", line 3, in import argparseImportError: No module named argparse