Directory Revamp

Before making changes to the update-channels-from-git.sh file, I wanted to have everything stored in such a way that it made logical sense where it went.

Anything that goes to the root folder is in "main-dir", channel specific files are in "channel-dir", and the files for both sections are in "both-dir".  These directories will eventually be referenced in the new version of "update-channels-from-git.sh".
This commit is contained in:
mutto233
2018-06-29 16:27:29 -04:00
parent 6a604960f0
commit ea70ed38ce
32 changed files with 161 additions and 798 deletions

View File

@@ -0,0 +1,107 @@
# -*- coding: utf-8 -*-
"""
Created on Thu Jun 28 17:33:59 2018
@author: Matt
"""
import sqlite3
import os
from shutil import copy2
from pseudo_config import plexLibraries as global_commercials
channel_dir_increment_symbol = "_"
# Step ONE: Global database update
print("+++++ Doing global update from PLEX")
os.system('sudo python PseudoChannel.py -u')
base_dirA = os.path.dirname(os.path.abspath(__file__))
locations = "pseudo-channel"+channel_dir_increment_symbol
channel_dirs = [ item for item in os.listdir('.') if os.path.isdir(os.path.join('.', item)) ]
channel_dirs = list(filter(lambda x: x.startswith(locations),channel_dirs))
for channel_dir in channel_dirs:
# Step TWO: Go to each folder, export the following information
# - Show title, lastEpisodeTitle
# - Movie title, lastPlayedDate
os.chdir(channel_dir)
channel_dirA = os.path.dirname(os.path.abspath(__file__))
db_path = os.path.join(channel_dirA, "pseudo-channel.db")
print("+++++ Importing from " + db_path)
try:
conn = sqlite3.connect(db_path)
table = conn.cursor()
lastEpisode_export = table.execute('SELECT lastEpisodeTitle,title FROM shows').fetchall()
lastEpisode_export = list(lastEpisode_export)
lastMovie_export = table.execute('SELECT lastPlayedDate,title FROM movies').fetchall()
lastMovie_export = list(lastMovie_export)
conn.commit()
conn.close()
except:
print("+++++ Database experiencing errors or hasn't been formed yet; creating fresh one")
lastEpisode_export = []
lastMovie_export = []
# Step THREE: Delete the previous database, replace with the recently created global one
print("+++++ Copying global update to " + db_path)
copy2('../pseudo-channel.db','.')
# Step FOUR: Import the previous information we exported previously
print("+++++ Exporting to " + db_path)
conn = sqlite3.connect(db_path)
table = conn.cursor()
for i in range(0,len(lastEpisode_export)):
sql = "UPDATE shows SET lastEpisodeTitle=? WHERE title=?"
table.execute(sql,lastEpisode_export[i])
for i in range(0,len(lastMovie_export)):
sql = "UPDATE movies SET lastPlayedDate=? WHERE title=?"
table.execute(sql,lastMovie_export[i])
# Step FIVE: Remove any media not in the directories set of commerical archives
print("+++++ Trimming database at " + db_path)
os.system('sudo python report_MediaFolders.py')
local_commercials = open('Commercial_Libraries.txt').read().splitlines()
local_movies = open('Movie_Libraries.txt').read().splitlines()
local_tvs = open('TV_Libraries.txt').read().splitlines()
commercial_removal = [x for x in global_commercials["Commercials"] if x not in local_commercials]
movie_removal = [x for x in global_commercials["Movies"] if x not in local_movies]
tv_removal = [x for x in global_commercials["TV Shows"] if x not in local_tvs]
# print(db_path)
# print(local_commercials)
# print(global_commercials["Commercials"])
# print(commercial_removal)
for commercial in commercial_removal:
sql = "DELETE FROM commercials WHERE customSectionName=?"
table.execute(sql,(commercial,))
for movie in movie_removal:
sql = "DELETE FROM movies WHERE customSectionName=?"
table.execute(sql,(movie,))
for tv in tv_removal:
sql = "DELETE FROM shows WHERE customSectionName=?"
table.execute(sql,(tv,))
sql = "DELETE FROM episodes WHERE customSectionName=?"
table.execute(sql,(tv,))
conn.commit()
conn.close()
os.chdir('..')
print("+++++ " + db_path + " complete! Going to next file")
print("+++++ Global update COMPLETE")