new_contents: # coding=utf-8
  
  import datetime
  import logging
  import sys
  
  from plex import Plex
  from plex.client import PlexClient
  
  logger = logging.getLogger(__name__)
  
  
  now = datetime.datetime.now()
  def is_recent(item):
      addedAt =  datetime.datetime.fromtimestamp(item.added_at)
      if now - datetime.timedelta(weeks=2) > addedAt:
  	return False
      return True
  
  def findMissingSubtitles(list_item, _type="episode", internal=False, external=True, languages=["eng"], section_blacklist=["3"], series_blacklist=["26059"], dry_run=False):
      existing_subs = {"internal": [], "external": [], "count": 0}
  
      # get requested item again to have access to the streams - should not be necessary
      item_id = int(list_item.key.split("/")[-1])
      item_container = Plex["library"].metadata(item_id)
      
      # don't process blacklisted sections
      if item_container.section.key in section_blacklist:
  	return
  
      item = list(item_container)[0]
  
      if _type == "episode" and item.show.rating_key in series_blacklist:
  	logger.debug("Skipping show %s in blacklist", item.show.key)
  	return
      elif _type == "movie" and item.rating_key in movie_blacklist:
  	logger.debug("Skipping movie %s in blacklist", item.key)
  	return
  
      video = item.media
  
      for part in video.parts:
  	for stream in part.streams:
  	    if stream.stream_type == 3:
  		if stream.index:
  		    key = "internal"
  		else:
  		    key = "external"
  		    
  		existing_subs[key].append(stream.language_code)
  		existing_subs["count"] += 1
  
      missing = languages
      if existing_subs["count"]:
  	existing_flat = existing_subs["internal"] if internal else [] + existing_subs["external"] if external else []
  	languages_set = set(languages)
  	if languages_set.issubset(existing_flat):
  	    # all subs found
  	    logger.debug(u"All subtitles existing for %s", item.title)
  	    return
  	else:
  	    missing = languages_set - set(existing_flat)
  	    logger.info(u"Subs still missing: %s", missing)
  
      if missing:
  	logger.info("Triggering refresh for '%s'", item.title)
  	if not dry_run:
  	    Plex["library/metadata"].refresh(item_id)
  
  
  def run():
      itemCount = 0
      dry_run = "--dry-run" in sys.argv
      for item in Plex['library'].recently_added():
  	if item.type == "season":
      	    for child in item.children():
  		if is_recent(child):
  		    print u"Series: %s, Season: %s, Episode: %s %s" % (item.show.title, item.title, child.index, child.title)
  		    findMissingSubtitles(child, _type="episode", dry_run=dry_run)
  		    itemCount += 1
  	    
  	elif item.type == "movie":
  	    if is_recent(item):
  		print "Movie: ", item.title
  		findMissingSubtitles(item, _type="movie", dry_run=dry_run)
  		itemCount += 1
  
      print "Items: ", itemCount
  
  
  if __name__ == "__main__":
      logging.basicConfig(level=logging.INFO)
      run()
  
subject: add basic tester for automatic refresh of items with missing subtitles